3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-25 18:25:03 +00:00
This commit is contained in:
metal 2021-09-23 09:43:30 +00:00 committed by almeidx
parent 3b98c3bdc1
commit 57b9540edf
No known key found for this signature in database
GPG key ID: F403F80B79353CB4
15 changed files with 57 additions and 20 deletions

View file

@ -1,14 +1,13 @@
import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
import { commandTypeHelpers as ct } from "../../../commandTypes";
import { CaseTypes } from "../../../data/CaseTypes";
import { Case } from "../../../data/entities/Case";
import { LogType } from "../../../data/LogType";
import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin";
import { canActOn, hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
import { resolveMember, resolveUser } from "../../../utils";
import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments";
import { modActionsCmd } from "../types";
import { LogsPlugin } from "../../Logs/LogsPlugin";
import { parseReason } from "../functions/parseReason";
const opts = {
mod: ct.member({ option: true }),
@ -60,8 +59,8 @@ export const AddCaseCmd = modActionsCmd({
sendErrorMessage(pluginData, msg.channel, "Cannot add case: invalid case type");
return;
}
const reason = formatReasonWithAttachments(args.reason, [...msg.attachments.values()]);
const config = pluginData.config.get();
const reason = parseReason(config, formatReasonWithAttachments(args.reason, [...msg.attachments.values()]))!;
// Create the case
const casesPlugin = pluginData.getPlugin(CasesPlugin);

View file

@ -11,6 +11,7 @@ import { ignoreEvent } from "../functions/ignoreEvent";
import { isBanned } from "../functions/isBanned";
import { IgnoredEventType, modActionsCmd } from "../types";
import { LogsPlugin } from "../../Logs/LogsPlugin";
import { parseReason } from "../functions/parseReason";
const opts = {
mod: ct.member({ option: true }),
@ -61,8 +62,8 @@ export const ForcebanCmd = modActionsCmd({
mod = args.mod;
}
const reason = formatReasonWithAttachments(args.reason, [...msg.attachments.values()]);
const config = pluginData.config.get();
const reason = parseReason(config, formatReasonWithAttachments(args.reason, [...msg.attachments.values()]))!;
ignoreEvent(pluginData, IgnoredEventType.Ban, user.id);
pluginData.state.serverLogs.ignoreLog(LogType.MEMBER_BAN, user.id);

View file

@ -1,6 +1,5 @@
import { Snowflake, TextChannel } from "discord.js";
import { waitForReply } from "knub/dist/helpers";
import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
import { commandTypeHelpers as ct } from "../../../commandTypes";
import { CaseTypes } from "../../../data/CaseTypes";
import { LogType } from "../../../data/LogType";
@ -11,6 +10,7 @@ import { ignoreEvent } from "../functions/ignoreEvent";
import { isBanned } from "../functions/isBanned";
import { IgnoredEventType, modActionsCmd } from "../types";
import { LogsPlugin } from "../../Logs/LogsPlugin";
import { parseReason } from "../functions/parseReason";
export const MassunbanCmd = modActionsCmd({
trigger: "massunban",
@ -37,8 +37,11 @@ export const MassunbanCmd = modActionsCmd({
sendErrorMessage(pluginData, msg.channel, "Cancelled");
return;
}
const unbanReason = formatReasonWithAttachments(unbanReasonReply.content, [...msg.attachments.values()]);
const config = pluginData.config.get();
const unbanReason = parseReason(
config,
formatReasonWithAttachments(unbanReasonReply.content, [...msg.attachments.values()]),
)!;
// Ignore automatic unban cases and logs for these users
// We'll create our own cases below and post a single "mass unbanned" log instead

View file

@ -1,6 +1,5 @@
import { Snowflake, TextChannel } from "discord.js";
import { waitForReply } from "knub/dist/helpers";
import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
import { commandTypeHelpers as ct } from "../../../commandTypes";
import { LogType } from "../../../data/LogType";
import { logger } from "../../../logger";
@ -9,6 +8,7 @@ import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginU
import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments";
import { modActionsCmd } from "../types";
import { LogsPlugin } from "../../Logs/LogsPlugin";
import { parseReason } from "../functions/parseReason";
export const MassmuteCmd = modActionsCmd({
trigger: "massmute",
@ -40,7 +40,11 @@ export const MassmuteCmd = modActionsCmd({
return;
}
const muteReason = formatReasonWithAttachments(muteReasonReceived.content, [...msg.attachments.values()]);
const config = pluginData.config.get();
const muteReason = parseReason(
config,
formatReasonWithAttachments(muteReasonReceived.content, [...msg.attachments.values()]),
);
// Verify we can act upon all users
for (const userId of args.userIds) {

View file

@ -1,5 +1,4 @@
import { Snowflake } from "discord.js";
import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
import { commandTypeHelpers as ct } from "../../../commandTypes";
import { CaseTypes } from "../../../data/CaseTypes";
import { LogType } from "../../../data/LogType";
@ -11,6 +10,7 @@ import { ignoreEvent } from "../functions/ignoreEvent";
import { IgnoredEventType, modActionsCmd } from "../types";
import { LogsPlugin } from "../../Logs/LogsPlugin";
import { clearExpiringTempban } from "../../../data/loops/expiringTempbansLoop";
import { parseReason } from "../functions/parseReason";
const opts = {
mod: ct.member({ option: true }),
@ -49,7 +49,8 @@ export const UnbanCmd = modActionsCmd({
}
pluginData.state.serverLogs.ignoreLog(LogType.MEMBER_UNBAN, user.id);
const reason = formatReasonWithAttachments(args.reason, [...msg.attachments.values()]);
const config = pluginData.config.get();
const reason = parseReason(config, formatReasonWithAttachments(args.reason, [...msg.attachments.values()]));
try {
ignoreEvent(pluginData, IgnoredEventType.Unban, user.id);

View file

@ -7,6 +7,7 @@ import { waitForButtonConfirm } from "../../../utils/waitForInteraction";
import { CasesPlugin } from "../../Cases/CasesPlugin";
import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments";
import { isBanned } from "../functions/isBanned";
import { parseReason } from "../functions/parseReason";
import { readContactMethodsFromArgs } from "../functions/readContactMethodsFromArgs";
import { warnMember } from "../functions/warnMember";
import { modActionsCmd } from "../types";
@ -63,7 +64,7 @@ export const WarnCmd = modActionsCmd({
}
const config = pluginData.config.get();
const reason = formatReasonWithAttachments(args.reason, [...msg.attachments.values()]);
const reason = parseReason(config, formatReasonWithAttachments(args.reason, [...msg.attachments.values()]))!;
const casesPlugin = pluginData.getPlugin(CasesPlugin);
const priorWarnAmount = await casesPlugin.getCaseTypeAmountForUserId(memberToWarn.id, CaseTypes.Warn);