mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-03-15 05:41:51 +00:00
Allow for caseNumber in Logs, showing the case number - repalce log evts
This commit is contained in:
parent
6caf7b1304
commit
e131c77e20
13 changed files with 51 additions and 64 deletions
|
@ -11,7 +11,6 @@ import { onMessageDeleteBulk } from "./util/onMessageDeleteBulk";
|
|||
import { onMessageUpdate } from "./util/onMessageUpdate";
|
||||
import { LogsGuildMemberAddEvt } from "./events/LogsGuildMemberAddEvt";
|
||||
import { LogsGuildMemberRemoveEvt } from "./events/LogsGuildMemberRemoveEvt";
|
||||
import { LogsGuildBanAddEvt, LogsGuildBanRemoveEvt } from "./events/LogsGuildBanEvts";
|
||||
import { LogsGuildMemberUpdateEvt, LogsUserUpdateEvt } from "./events/LogsUserUpdateEvts";
|
||||
import { LogsChannelCreateEvt, LogsChannelDeleteEvt } from "./events/LogsChannelModifyEvts";
|
||||
import { LogsRoleCreateEvt, LogsRoleDeleteEvt } from "./events/LogsRoleModifyEvts";
|
||||
|
@ -52,8 +51,6 @@ export const LogsPlugin = zeppelinPlugin<LogsPluginType>()("logs", {
|
|||
events: [
|
||||
LogsGuildMemberAddEvt,
|
||||
LogsGuildMemberRemoveEvt,
|
||||
LogsGuildBanAddEvt,
|
||||
LogsGuildBanRemoveEvt,
|
||||
LogsGuildMemberUpdateEvt,
|
||||
LogsUserUpdateEvt,
|
||||
LogsChannelCreateEvt,
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
import { logsEvent } from "../types";
|
||||
import { stripObjectToScalars, findRelevantAuditLogEntry, UnknownUser } from "src/utils";
|
||||
import { LogType } from "src/data/LogType";
|
||||
import { Constants as ErisConstants } from "eris";
|
||||
|
||||
export const LogsGuildBanAddEvt = logsEvent({
|
||||
event: "guildBanAdd",
|
||||
|
||||
async listener(meta) {
|
||||
const pluginData = meta.pluginData;
|
||||
const user = meta.args.user;
|
||||
|
||||
const relevantAuditLogEntry = await findRelevantAuditLogEntry(
|
||||
pluginData.guild,
|
||||
ErisConstants.AuditLogActions.MEMBER_BAN_ADD,
|
||||
user.id,
|
||||
);
|
||||
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.user : new UnknownUser();
|
||||
|
||||
pluginData.state.guildLogs.log(
|
||||
LogType.MEMBER_BAN,
|
||||
{
|
||||
mod: stripObjectToScalars(mod),
|
||||
user: stripObjectToScalars(user),
|
||||
},
|
||||
user.id,
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
export const LogsGuildBanRemoveEvt = logsEvent({
|
||||
event: "guildBanRemove",
|
||||
|
||||
async listener(meta) {
|
||||
const pluginData = meta.pluginData;
|
||||
const user = meta.args.user;
|
||||
|
||||
const relevantAuditLogEntry = await findRelevantAuditLogEntry(
|
||||
pluginData.guild,
|
||||
ErisConstants.AuditLogActions.MEMBER_BAN_REMOVE,
|
||||
user.id,
|
||||
);
|
||||
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.user : new UnknownUser();
|
||||
|
||||
pluginData.state.guildLogs.log(
|
||||
LogType.MEMBER_UNBAN,
|
||||
{
|
||||
mod: stripObjectToScalars(mod),
|
||||
userId: user.id,
|
||||
},
|
||||
user.id,
|
||||
);
|
||||
},
|
||||
});
|
|
@ -87,6 +87,7 @@ export const ForcebanCmd = modActionsCommand({
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_FORCEBAN, {
|
||||
mod: stripObjectToScalars(mod.user),
|
||||
userId: user.id,
|
||||
caseNumber: createdCase.case_number,
|
||||
reason,
|
||||
});
|
||||
},
|
||||
|
|
|
@ -36,6 +36,7 @@ export const NoteCmd = modActionsCommand({
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_NOTE, {
|
||||
mod: stripObjectToScalars(msg.author),
|
||||
user: stripObjectToScalars(user, ["user", "roles"]),
|
||||
caseNumber: createdCase.case_number,
|
||||
reason,
|
||||
});
|
||||
|
||||
|
|
|
@ -70,6 +70,7 @@ export const UnbanCmd = modActionsCommand({
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_UNBAN, {
|
||||
mod: stripObjectToScalars(mod.user),
|
||||
userId: user.id,
|
||||
caseNumber: createdCase.case_number,
|
||||
reason,
|
||||
});
|
||||
},
|
||||
|
|
|
@ -6,6 +6,8 @@ import { Constants as ErisConstants } from "eris";
|
|||
import { safeFindRelevantAuditLogEntry } from "../functions/safeFindRelevantAuditLogEntry";
|
||||
import { CasesPlugin } from "../../Cases/CasesPlugin";
|
||||
import { CaseTypes } from "../../../data/CaseTypes";
|
||||
import { LogType } from "src/data/LogType";
|
||||
import { stripObjectToScalars, resolveUser } from "src/utils";
|
||||
|
||||
/**
|
||||
* Create a BAN case automatically when a user is banned manually.
|
||||
|
@ -26,24 +28,39 @@ export const CreateBanCaseOnManualBanEvt = eventListener<ModActionsPluginType>()
|
|||
);
|
||||
|
||||
const casesPlugin = pluginData.getPlugin(CasesPlugin);
|
||||
|
||||
let createdCase;
|
||||
let mod = null;
|
||||
let reason = "";
|
||||
|
||||
if (relevantAuditLogEntry) {
|
||||
const modId = relevantAuditLogEntry.user.id;
|
||||
const auditLogId = relevantAuditLogEntry.id;
|
||||
|
||||
casesPlugin.createCase({
|
||||
mod = resolveUser(pluginData.client, modId);
|
||||
reason = relevantAuditLogEntry.reason;
|
||||
createdCase = await casesPlugin.createCase({
|
||||
userId: user.id,
|
||||
modId,
|
||||
type: CaseTypes.Ban,
|
||||
auditLogId,
|
||||
reason: relevantAuditLogEntry.reason,
|
||||
reason,
|
||||
automatic: true,
|
||||
});
|
||||
} else {
|
||||
casesPlugin.createCase({
|
||||
createdCase = await casesPlugin.createCase({
|
||||
userId: user.id,
|
||||
modId: null,
|
||||
type: CaseTypes.Ban,
|
||||
});
|
||||
}
|
||||
|
||||
mod = await mod;
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_BAN, {
|
||||
mod: mod ? stripObjectToScalars(mod, ["user"]) : null,
|
||||
user: stripObjectToScalars(user, ["user"]),
|
||||
caseNumber: createdCase.case_number,
|
||||
reason,
|
||||
});
|
||||
},
|
||||
);
|
||||
|
|
|
@ -30,13 +30,14 @@ export const CreateKickCaseOnManualKickEvt = eventListener<ModActionsPluginType>
|
|||
|
||||
if (kickAuditLogEntry) {
|
||||
const existingCaseForThisEntry = await pluginData.state.cases.findByAuditLogId(kickAuditLogEntry.id);
|
||||
let createdCase;
|
||||
if (existingCaseForThisEntry) {
|
||||
logger.warn(
|
||||
`Tried to create duplicate case for audit log entry ${kickAuditLogEntry.id}, existing case id ${existingCaseForThisEntry.id}`,
|
||||
);
|
||||
} else {
|
||||
const casesPlugin = pluginData.getPlugin(CasesPlugin);
|
||||
casesPlugin.createCase({
|
||||
createdCase = await casesPlugin.createCase({
|
||||
userId: member.id,
|
||||
modId: kickAuditLogEntry.user.id,
|
||||
type: CaseTypes.Kick,
|
||||
|
@ -49,6 +50,7 @@ export const CreateKickCaseOnManualKickEvt = eventListener<ModActionsPluginType>
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_KICK, {
|
||||
user: stripObjectToScalars(member.user),
|
||||
mod: stripObjectToScalars(kickAuditLogEntry.user),
|
||||
caseNumber: createdCase.case_number,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
|
|
@ -6,6 +6,8 @@ import { Constants as ErisConstants } from "eris";
|
|||
import { safeFindRelevantAuditLogEntry } from "../functions/safeFindRelevantAuditLogEntry";
|
||||
import { CasesPlugin } from "../../Cases/CasesPlugin";
|
||||
import { CaseTypes } from "../../../data/CaseTypes";
|
||||
import { stripObjectToScalars, resolveUser } from "src/utils";
|
||||
import { LogType } from "src/data/LogType";
|
||||
|
||||
/**
|
||||
* Create an UNBAN case automatically when a user is unbanned manually.
|
||||
|
@ -26,11 +28,16 @@ export const CreateUnbanCaseOnManualUnbanEvt = eventListener<ModActionsPluginTyp
|
|||
);
|
||||
|
||||
const casesPlugin = pluginData.getPlugin(CasesPlugin);
|
||||
|
||||
let createdCase;
|
||||
let mod = null;
|
||||
|
||||
if (relevantAuditLogEntry) {
|
||||
const modId = relevantAuditLogEntry.user.id;
|
||||
const auditLogId = relevantAuditLogEntry.id;
|
||||
|
||||
casesPlugin.createCase({
|
||||
mod = resolveUser(pluginData.client, modId);
|
||||
createdCase = await casesPlugin.createCase({
|
||||
userId: user.id,
|
||||
modId,
|
||||
type: CaseTypes.Unban,
|
||||
|
@ -38,12 +45,19 @@ export const CreateUnbanCaseOnManualUnbanEvt = eventListener<ModActionsPluginTyp
|
|||
automatic: true,
|
||||
});
|
||||
} else {
|
||||
casesPlugin.createCase({
|
||||
createdCase = await casesPlugin.createCase({
|
||||
userId: user.id,
|
||||
modId: null,
|
||||
type: CaseTypes.Unban,
|
||||
automatic: true,
|
||||
});
|
||||
}
|
||||
|
||||
mod = await mod;
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_UNBAN, {
|
||||
mod: mod ? stripObjectToScalars(mod, ["user"]) : null,
|
||||
userId: user.id,
|
||||
caseNumber: createdCase.case_number,
|
||||
});
|
||||
},
|
||||
);
|
||||
|
|
|
@ -64,6 +64,7 @@ export async function banUserId(
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_BAN, {
|
||||
mod: stripObjectToScalars(mod),
|
||||
user: stripObjectToScalars(user),
|
||||
caseNumber: createdCase.case_number,
|
||||
reason,
|
||||
});
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@ export async function kickMember(
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_KICK, {
|
||||
mod: stripObjectToScalars(mod),
|
||||
user: stripObjectToScalars(member.user),
|
||||
caseNumber: createdCase.case_number,
|
||||
reason,
|
||||
});
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ export async function warnMember(
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_WARN, {
|
||||
mod: stripObjectToScalars(mod),
|
||||
member: stripObjectToScalars(member, ["user", "roles"]),
|
||||
caseNumber: createdCase.case_number,
|
||||
reason,
|
||||
});
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ import { TextChannel, User } from "eris";
|
|||
import { CasesPlugin } from "../../Cases/CasesPlugin";
|
||||
import { CaseTypes } from "../../../data/CaseTypes";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
import { Case } from "src/data/entities/Case";
|
||||
|
||||
export async function muteUser(
|
||||
pluginData: PluginData<MutesPluginType>,
|
||||
|
@ -106,7 +107,7 @@ export async function muteUser(
|
|||
|
||||
// Create/update a case
|
||||
const casesPlugin = pluginData.getPlugin(CasesPlugin);
|
||||
let theCase;
|
||||
let theCase: Case;
|
||||
|
||||
if (existingMute && existingMute.case_id) {
|
||||
// Update old case
|
||||
|
@ -153,12 +154,14 @@ export async function muteUser(
|
|||
mod: stripObjectToScalars(mod),
|
||||
user: stripObjectToScalars(user),
|
||||
time: timeUntilUnmute,
|
||||
caseNumber: theCase.case_number,
|
||||
reason,
|
||||
});
|
||||
} else {
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_MUTE, {
|
||||
mod: stripObjectToScalars(mod),
|
||||
user: stripObjectToScalars(user),
|
||||
caseNumber: theCase.case_number,
|
||||
reason,
|
||||
});
|
||||
}
|
||||
|
|
|
@ -72,6 +72,7 @@ export async function unmuteUser(
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_TIMED_UNMUTE, {
|
||||
mod: stripObjectToScalars(mod),
|
||||
user: stripObjectToScalars(user),
|
||||
caseNumber: createdCase.case_number,
|
||||
time: timeUntilUnmute,
|
||||
reason: caseArgs.reason,
|
||||
});
|
||||
|
@ -79,6 +80,7 @@ export async function unmuteUser(
|
|||
pluginData.state.serverLogs.log(LogType.MEMBER_UNMUTE, {
|
||||
mod: stripObjectToScalars(mod),
|
||||
user: stripObjectToScalars(user),
|
||||
caseNumber: createdCase.case_number,
|
||||
reason: caseArgs.reason,
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue