mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 20:35:02 +00:00
censor: make regex matching case-insensitive
This commit is contained in:
parent
8ddf53345d
commit
44c731564b
1 changed files with 20 additions and 20 deletions
|
@ -8,14 +8,14 @@ import {
|
||||||
disableCodeBlocks,
|
disableCodeBlocks,
|
||||||
getInviteCodesInString,
|
getInviteCodesInString,
|
||||||
getUrlsInString,
|
getUrlsInString,
|
||||||
stripObjectToScalars
|
stripObjectToScalars,
|
||||||
} from "../utils";
|
} from "../utils";
|
||||||
import { ZalgoRegex } from "../data/Zalgo";
|
import { ZalgoRegex } from "../data/Zalgo";
|
||||||
import { GuildSavedMessages } from "../data/GuildSavedMessages";
|
import { GuildSavedMessages } from "../data/GuildSavedMessages";
|
||||||
import { SavedMessage } from "../data/entities/SavedMessage";
|
import { SavedMessage } from "../data/entities/SavedMessage";
|
||||||
|
|
||||||
export class CensorPlugin extends Plugin {
|
export class CensorPlugin extends Plugin {
|
||||||
public static pluginName = 'censor';
|
public static pluginName = "censor";
|
||||||
|
|
||||||
protected serverLogs: GuildLogs;
|
protected serverLogs: GuildLogs;
|
||||||
protected savedMessages: GuildSavedMessages;
|
protected savedMessages: GuildSavedMessages;
|
||||||
|
@ -39,7 +39,7 @@ export class CensorPlugin extends Plugin {
|
||||||
|
|
||||||
blocked_tokens: null,
|
blocked_tokens: null,
|
||||||
blocked_words: null,
|
blocked_words: null,
|
||||||
blocked_regex: null
|
blocked_regex: null,
|
||||||
},
|
},
|
||||||
|
|
||||||
overrides: [
|
overrides: [
|
||||||
|
@ -51,10 +51,10 @@ export class CensorPlugin extends Plugin {
|
||||||
filter_domains: false,
|
filter_domains: false,
|
||||||
blocked_tokens: null,
|
blocked_tokens: null,
|
||||||
blocked_words: null,
|
blocked_words: null,
|
||||||
blocked_regex: null
|
blocked_regex: null,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ export class CensorPlugin extends Plugin {
|
||||||
member: stripObjectToScalars(member, ["user"]),
|
member: stripObjectToScalars(member, ["user"]),
|
||||||
channel: stripObjectToScalars(channel),
|
channel: stripObjectToScalars(channel),
|
||||||
reason,
|
reason,
|
||||||
messageText: disableCodeBlocks(deactivateMentions(savedMessage.data.content))
|
messageText: disableCodeBlocks(deactivateMentions(savedMessage.data.content)),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ export class CensorPlugin extends Plugin {
|
||||||
const filterZalgo = this.configValueForMemberIdAndChannelId(
|
const filterZalgo = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"filter_zalgo"
|
"filter_zalgo",
|
||||||
);
|
);
|
||||||
if (filterZalgo) {
|
if (filterZalgo) {
|
||||||
const result = ZalgoRegex.exec(savedMessage.data.content);
|
const result = ZalgoRegex.exec(savedMessage.data.content);
|
||||||
|
@ -114,28 +114,28 @@ export class CensorPlugin extends Plugin {
|
||||||
const filterInvites = this.configValueForMemberIdAndChannelId(
|
const filterInvites = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"filter_invites"
|
"filter_invites",
|
||||||
);
|
);
|
||||||
if (filterInvites) {
|
if (filterInvites) {
|
||||||
const inviteGuildWhitelist: string[] = this.configValueForMemberIdAndChannelId(
|
const inviteGuildWhitelist: string[] = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"invite_guild_whitelist"
|
"invite_guild_whitelist",
|
||||||
);
|
);
|
||||||
const inviteGuildBlacklist: string[] = this.configValueForMemberIdAndChannelId(
|
const inviteGuildBlacklist: string[] = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"invite_guild_blacklist"
|
"invite_guild_blacklist",
|
||||||
);
|
);
|
||||||
const inviteCodeWhitelist: string[] = this.configValueForMemberIdAndChannelId(
|
const inviteCodeWhitelist: string[] = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"invite_code_whitelist"
|
"invite_code_whitelist",
|
||||||
);
|
);
|
||||||
const inviteCodeBlacklist: string[] = this.configValueForMemberIdAndChannelId(
|
const inviteCodeBlacklist: string[] = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"invite_code_blacklist"
|
"invite_code_blacklist",
|
||||||
);
|
);
|
||||||
|
|
||||||
const inviteCodes = getInviteCodesInString(savedMessage.data.content);
|
const inviteCodes = getInviteCodesInString(savedMessage.data.content);
|
||||||
|
@ -148,7 +148,7 @@ export class CensorPlugin extends Plugin {
|
||||||
if (inviteGuildWhitelist && !inviteGuildWhitelist.includes(invite.guild.id)) {
|
if (inviteGuildWhitelist && !inviteGuildWhitelist.includes(invite.guild.id)) {
|
||||||
this.censorMessage(
|
this.censorMessage(
|
||||||
savedMessage,
|
savedMessage,
|
||||||
`invite guild (**${invite.guild.name}** \`${invite.guild.id}\`) not found in whitelist`
|
`invite guild (**${invite.guild.name}** \`${invite.guild.id}\`) not found in whitelist`,
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,7 @@ export class CensorPlugin extends Plugin {
|
||||||
if (inviteGuildBlacklist && inviteGuildBlacklist.includes(invite.guild.id)) {
|
if (inviteGuildBlacklist && inviteGuildBlacklist.includes(invite.guild.id)) {
|
||||||
this.censorMessage(
|
this.censorMessage(
|
||||||
savedMessage,
|
savedMessage,
|
||||||
`invite guild (**${invite.guild.name}** \`${invite.guild.id}\`) found in blacklist`
|
`invite guild (**${invite.guild.name}** \`${invite.guild.id}\`) found in blacklist`,
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -177,18 +177,18 @@ export class CensorPlugin extends Plugin {
|
||||||
const filterDomains = this.configValueForMemberIdAndChannelId(
|
const filterDomains = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"filter_domains"
|
"filter_domains",
|
||||||
);
|
);
|
||||||
if (filterDomains) {
|
if (filterDomains) {
|
||||||
const domainWhitelist: string[] = this.configValueForMemberIdAndChannelId(
|
const domainWhitelist: string[] = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"domain_whitelist"
|
"domain_whitelist",
|
||||||
);
|
);
|
||||||
const domainBlacklist: string[] = this.configValueForMemberIdAndChannelId(
|
const domainBlacklist: string[] = this.configValueForMemberIdAndChannelId(
|
||||||
savedMessage.user_id,
|
savedMessage.user_id,
|
||||||
savedMessage.channel_id,
|
savedMessage.channel_id,
|
||||||
"domain_blacklist"
|
"domain_blacklist",
|
||||||
);
|
);
|
||||||
|
|
||||||
const urls = getUrlsInString(savedMessage.data.content);
|
const urls = getUrlsInString(savedMessage.data.content);
|
||||||
|
@ -230,7 +230,7 @@ export class CensorPlugin extends Plugin {
|
||||||
const blockedRegex =
|
const blockedRegex =
|
||||||
this.configValueForMemberIdAndChannelId(savedMessage.user_id, savedMessage.channel_id, "blocked_regex") || [];
|
this.configValueForMemberIdAndChannelId(savedMessage.user_id, savedMessage.channel_id, "blocked_regex") || [];
|
||||||
for (const regexStr of blockedRegex) {
|
for (const regexStr of blockedRegex) {
|
||||||
const regex = new RegExp(regexStr);
|
const regex = new RegExp(regexStr, "i");
|
||||||
if (regex.test(savedMessage.data.content)) {
|
if (regex.test(savedMessage.data.content)) {
|
||||||
this.censorMessage(savedMessage, `blocked regex (\`${regexStr}\`) found`);
|
this.censorMessage(savedMessage, `blocked regex (\`${regexStr}\`) found`);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue