More rework progress, mostly done up to ModActions

This commit is contained in:
Dark 2021-06-01 04:33:02 +02:00
parent 52839cc9f3
commit 57893e7f76
No known key found for this signature in database
GPG key ID: 2CD6ACB6B0A87B8A
38 changed files with 199 additions and 241 deletions

View file

@ -9,6 +9,7 @@ import { censorMessage } from "./censorMessage";
import escapeStringRegexp from "escape-string-regexp";
import { logger } from "../../../logger";
import { allowTimeout } from "../../../RegExpRunner";
import { MessageEmbed, Invite } from "discord.js";
export async function applyFiltersToMsg(
pluginData: GuildPluginData<CensorPluginType>,
@ -20,7 +21,7 @@ export async function applyFiltersToMsg(
let messageContent = savedMessage.data.content || "";
if (savedMessage.data.attachments) messageContent += " " + JSON.stringify(savedMessage.data.attachments);
if (savedMessage.data.embeds) {
const embeds = (savedMessage.data.embeds as Embed[]).map(e => cloneDeep(e));
const embeds = (savedMessage.data.embeds as MessageEmbed[]).map(e => cloneDeep(e));
for (const embed of embeds) {
if (embed.type === "video") {
// Ignore video descriptions as they're not actually shown on the embed
@ -69,20 +70,20 @@ export async function applyFiltersToMsg(
}
if (isGuildInvite(invite)) {
if (inviteGuildWhitelist && !inviteGuildWhitelist.includes(invite.guild.id)) {
if (inviteGuildWhitelist && !inviteGuildWhitelist.includes(invite.guild!.id)) {
censorMessage(
pluginData,
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 true;
}
if (inviteGuildBlacklist && inviteGuildBlacklist.includes(invite.guild.id)) {
if (inviteGuildBlacklist && inviteGuildBlacklist.includes(invite.guild!.id)) {
censorMessage(
pluginData,
savedMessage,
`invite guild (**${invite.guild.name}** \`${invite.guild.id}\`) found in blacklist`,
`invite guild (**${invite.guild!.name}** \`${invite.guild!.id}\`) found in blacklist`,
);
return true;
}

View file

@ -4,6 +4,7 @@ import { SavedMessage } from "../../../data/entities/SavedMessage";
import { LogType } from "../../../data/LogType";
import { stripObjectToScalars, resolveUser } from "../../../utils";
import { disableCodeBlocks, deactivateMentions } from "knub/dist/helpers";
import { TextChannel } from "discord.js";
export async function censorMessage(
pluginData: GuildPluginData<CensorPluginType>,
@ -13,7 +14,8 @@ export async function censorMessage(
pluginData.state.serverLogs.ignoreLog(LogType.MESSAGE_DELETE, savedMessage.id);
try {
await pluginData.client.deleteMessage(savedMessage.channel_id, savedMessage.id, "Censored");
const channel = pluginData.guild.channels.resolve(savedMessage.channel_id) as TextChannel
await channel.messages.delete(savedMessage.id);
} catch {
return;
}