This commit is contained in:
おさむのひと 2025-03-12 19:23:40 +09:00
parent dfa66e6e2a
commit fae4147904
1 changed files with 8 additions and 2 deletions

View File

@ -96,8 +96,12 @@ export function createAntennaFilter(antenna: MiAntenna): AntennaFilter {
if (antenna.useRegex) {
// 元々はAND検索を行うために2次元配列としてもっていた歴史的経緯がある.
// 正規表現の時は1行に付き1パターンとするため、[n][0]にパターンの内容すべてが格納されているものとして扱う.
const keywordsPatterns = keywords.map(line => new RE2(line[0]));
const excludeKeywordsPatterns = excludeKeywords.map(line => new RE2(line[0]));
const createRE2 = (pattern: string): RE2 => {
const regexp = pattern.match(/^\/(.+)\/(.*)$/) ?? [];
return new RE2(regexp[1], regexp[2]);
};
const keywordsPatterns = keywords.map(line => createRE2(line[0]));
const excludeKeywordsPatterns = excludeKeywords.map(line => createRE2(line[0]));
if (keywords.length > 0 && excludeKeywords.length > 0) {
return (target: string) => antennaFilters.regex.includeAndExclude(target, keywordsPatterns, excludeKeywordsPatterns);
@ -262,6 +266,7 @@ export class AntennaService implements OnApplicationShutdown {
caseSensitive: ps.caseSensitive,
localOnly: ps.localOnly,
excludeBots: ps.excludeBots,
useRegex: ps.useRegex,
withReplies: ps.withReplies,
withFile: ps.withFile,
});
@ -317,6 +322,7 @@ export class AntennaService implements OnApplicationShutdown {
caseSensitive: ps.caseSensitive,
localOnly: ps.localOnly,
excludeBots: ps.excludeBots,
useRegex: ps.useRegex,
withReplies: ps.withReplies,
withFile: ps.withFile,
isActive: true,