3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00
zeppelin/backend/src/plugins/Automod/functions/getTextMatchPartialSummary.ts
2020-10-01 01:43:38 +03:00

32 lines
1.4 KiB
TypeScript

import { MatchableTextType } from "./matchMultipleTextTypesOnMessage";
import { AutomodContext, AutomodPluginType } from "../types";
import { messageSummary, verboseChannelMention } from "../../../utils";
import { GuildPluginData } from "knub";
import { User } from "eris";
export function getTextMatchPartialSummary(
pluginData: GuildPluginData<AutomodPluginType>,
type: MatchableTextType,
context: AutomodContext,
) {
if (type === "message") {
const channel = pluginData.guild.channels.get(context.message.channel_id);
const channelMention = channel ? verboseChannelMention(channel) : `\`#${context.message.channel_id}\``;
return `message in ${channelMention}:\n${messageSummary(context.message)}`;
} else if (type === "embed") {
const channel = pluginData.guild.channels.get(context.message.channel_id);
const channelMention = channel ? verboseChannelMention(channel) : `\`#${context.message.channel_id}\``;
return `message embed in ${channelMention}:\n${messageSummary(context.message)}`;
} else if (type === "username") {
return `username: ${context.user.username}`;
} else if (type === "nickname") {
return `nickname: ${context.member.nick}`;
} else if (type === "visiblename") {
const visibleName = context.member?.nick || context.user.username;
return `visible name: ${visibleName}`;
} else if (type === "customstatus") {
return `custom status: ${context.member.game.state}`;
}
}