3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-16 22:21:51 +00:00

Merge branch 'DarkView-fr_caseNumberInLogs'

This commit is contained in:
Dragory 2020-08-05 02:39:12 +03:00
commit 36d1de86d0
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
12 changed files with 51 additions and 10 deletions

View file

@ -11,7 +11,6 @@ import { onMessageDeleteBulk } from "./util/onMessageDeleteBulk";
import { onMessageUpdate } from "./util/onMessageUpdate"; import { onMessageUpdate } from "./util/onMessageUpdate";
import { LogsGuildMemberAddEvt } from "./events/LogsGuildMemberAddEvt"; import { LogsGuildMemberAddEvt } from "./events/LogsGuildMemberAddEvt";
import { LogsGuildMemberRemoveEvt } from "./events/LogsGuildMemberRemoveEvt"; import { LogsGuildMemberRemoveEvt } from "./events/LogsGuildMemberRemoveEvt";
import { LogsGuildBanAddEvt, LogsGuildBanRemoveEvt } from "./events/LogsGuildBanEvts";
import { LogsGuildMemberUpdateEvt, LogsUserUpdateEvt } from "./events/LogsUserUpdateEvts"; import { LogsGuildMemberUpdateEvt, LogsUserUpdateEvt } from "./events/LogsUserUpdateEvts";
import { LogsChannelCreateEvt, LogsChannelDeleteEvt } from "./events/LogsChannelModifyEvts"; import { LogsChannelCreateEvt, LogsChannelDeleteEvt } from "./events/LogsChannelModifyEvts";
import { LogsRoleCreateEvt, LogsRoleDeleteEvt } from "./events/LogsRoleModifyEvts"; import { LogsRoleCreateEvt, LogsRoleDeleteEvt } from "./events/LogsRoleModifyEvts";
@ -55,8 +54,6 @@ export const LogsPlugin = zeppelinPlugin<LogsPluginType>()("logs", {
events: [ events: [
LogsGuildMemberAddEvt, LogsGuildMemberAddEvt,
LogsGuildMemberRemoveEvt, LogsGuildMemberRemoveEvt,
LogsGuildBanAddEvt,
LogsGuildBanRemoveEvt,
LogsGuildMemberUpdateEvt, LogsGuildMemberUpdateEvt,
LogsUserUpdateEvt, LogsUserUpdateEvt,
LogsChannelCreateEvt, LogsChannelCreateEvt,

View file

@ -87,6 +87,7 @@ export const ForcebanCmd = modActionsCommand({
pluginData.state.serverLogs.log(LogType.MEMBER_FORCEBAN, { pluginData.state.serverLogs.log(LogType.MEMBER_FORCEBAN, {
mod: stripObjectToScalars(mod.user), mod: stripObjectToScalars(mod.user),
userId: user.id, userId: user.id,
caseNumber: createdCase.case_number,
reason, reason,
}); });
}, },

View file

@ -36,6 +36,7 @@ export const NoteCmd = modActionsCommand({
pluginData.state.serverLogs.log(LogType.MEMBER_NOTE, { pluginData.state.serverLogs.log(LogType.MEMBER_NOTE, {
mod: stripObjectToScalars(msg.author), mod: stripObjectToScalars(msg.author),
user: stripObjectToScalars(user, ["user", "roles"]), user: stripObjectToScalars(user, ["user", "roles"]),
caseNumber: createdCase.case_number,
reason, reason,
}); });

View file

@ -70,6 +70,7 @@ export const UnbanCmd = modActionsCommand({
pluginData.state.serverLogs.log(LogType.MEMBER_UNBAN, { pluginData.state.serverLogs.log(LogType.MEMBER_UNBAN, {
mod: stripObjectToScalars(mod.user), mod: stripObjectToScalars(mod.user),
userId: user.id, userId: user.id,
caseNumber: createdCase.case_number,
reason, reason,
}); });
}, },

View file

@ -6,6 +6,8 @@ import { Constants as ErisConstants } from "eris";
import { CasesPlugin } from "../../Cases/CasesPlugin"; import { CasesPlugin } from "../../Cases/CasesPlugin";
import { CaseTypes } from "../../../data/CaseTypes"; import { CaseTypes } from "../../../data/CaseTypes";
import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry";
import { LogType } from "src/data/LogType";
import { stripObjectToScalars, resolveUser } from "src/utils";
/** /**
* Create a BAN case automatically when a user is banned manually. * 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); const casesPlugin = pluginData.getPlugin(CasesPlugin);
let createdCase;
let mod = null;
let reason = "";
if (relevantAuditLogEntry) { if (relevantAuditLogEntry) {
const modId = relevantAuditLogEntry.user.id; const modId = relevantAuditLogEntry.user.id;
const auditLogId = relevantAuditLogEntry.id; const auditLogId = relevantAuditLogEntry.id;
casesPlugin.createCase({ mod = resolveUser(pluginData.client, modId);
reason = relevantAuditLogEntry.reason;
createdCase = await casesPlugin.createCase({
userId: user.id, userId: user.id,
modId, modId,
type: CaseTypes.Ban, type: CaseTypes.Ban,
auditLogId, auditLogId,
reason: relevantAuditLogEntry.reason, reason,
automatic: true, automatic: true,
}); });
} else { } else {
casesPlugin.createCase({ createdCase = await casesPlugin.createCase({
userId: user.id, userId: user.id,
modId: null, modId: null,
type: CaseTypes.Ban, 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,
});
}, },
); );

View file

@ -30,13 +30,14 @@ export const CreateKickCaseOnManualKickEvt = eventListener<ModActionsPluginType>
if (kickAuditLogEntry) { if (kickAuditLogEntry) {
const existingCaseForThisEntry = await pluginData.state.cases.findByAuditLogId(kickAuditLogEntry.id); const existingCaseForThisEntry = await pluginData.state.cases.findByAuditLogId(kickAuditLogEntry.id);
let createdCase;
if (existingCaseForThisEntry) { if (existingCaseForThisEntry) {
logger.warn( logger.warn(
`Tried to create duplicate case for audit log entry ${kickAuditLogEntry.id}, existing case id ${existingCaseForThisEntry.id}`, `Tried to create duplicate case for audit log entry ${kickAuditLogEntry.id}, existing case id ${existingCaseForThisEntry.id}`,
); );
} else { } else {
const casesPlugin = pluginData.getPlugin(CasesPlugin); const casesPlugin = pluginData.getPlugin(CasesPlugin);
casesPlugin.createCase({ createdCase = await casesPlugin.createCase({
userId: member.id, userId: member.id,
modId: kickAuditLogEntry.user.id, modId: kickAuditLogEntry.user.id,
type: CaseTypes.Kick, type: CaseTypes.Kick,
@ -49,6 +50,7 @@ export const CreateKickCaseOnManualKickEvt = eventListener<ModActionsPluginType>
pluginData.state.serverLogs.log(LogType.MEMBER_KICK, { pluginData.state.serverLogs.log(LogType.MEMBER_KICK, {
user: stripObjectToScalars(member.user), user: stripObjectToScalars(member.user),
mod: stripObjectToScalars(kickAuditLogEntry.user), mod: stripObjectToScalars(kickAuditLogEntry.user),
caseNumber: createdCase.case_number,
}); });
} }
}, },

View file

@ -6,6 +6,8 @@ import { Constants as ErisConstants } from "eris";
import { CasesPlugin } from "../../Cases/CasesPlugin"; import { CasesPlugin } from "../../Cases/CasesPlugin";
import { CaseTypes } from "../../../data/CaseTypes"; import { CaseTypes } from "../../../data/CaseTypes";
import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry";
import { stripObjectToScalars, resolveUser } from "src/utils";
import { LogType } from "src/data/LogType";
/** /**
* Create an UNBAN case automatically when a user is unbanned manually. * 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); const casesPlugin = pluginData.getPlugin(CasesPlugin);
let createdCase;
let mod = null;
if (relevantAuditLogEntry) { if (relevantAuditLogEntry) {
const modId = relevantAuditLogEntry.user.id; const modId = relevantAuditLogEntry.user.id;
const auditLogId = relevantAuditLogEntry.id; const auditLogId = relevantAuditLogEntry.id;
casesPlugin.createCase({ mod = resolveUser(pluginData.client, modId);
createdCase = await casesPlugin.createCase({
userId: user.id, userId: user.id,
modId, modId,
type: CaseTypes.Unban, type: CaseTypes.Unban,
@ -38,12 +45,19 @@ export const CreateUnbanCaseOnManualUnbanEvt = eventListener<ModActionsPluginTyp
automatic: true, automatic: true,
}); });
} else { } else {
casesPlugin.createCase({ createdCase = await casesPlugin.createCase({
userId: user.id, userId: user.id,
modId: null, modId: null,
type: CaseTypes.Unban, type: CaseTypes.Unban,
automatic: true, 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,
});
}, },
); );

View file

@ -64,6 +64,7 @@ export async function banUserId(
pluginData.state.serverLogs.log(LogType.MEMBER_BAN, { pluginData.state.serverLogs.log(LogType.MEMBER_BAN, {
mod: stripObjectToScalars(mod), mod: stripObjectToScalars(mod),
user: stripObjectToScalars(user), user: stripObjectToScalars(user),
caseNumber: createdCase.case_number,
reason, reason,
}); });

View file

@ -62,6 +62,7 @@ export async function kickMember(
pluginData.state.serverLogs.log(LogType.MEMBER_KICK, { pluginData.state.serverLogs.log(LogType.MEMBER_KICK, {
mod: stripObjectToScalars(mod), mod: stripObjectToScalars(mod),
user: stripObjectToScalars(member.user), user: stripObjectToScalars(member.user),
caseNumber: createdCase.case_number,
reason, reason,
}); });

View file

@ -57,6 +57,7 @@ export async function warnMember(
pluginData.state.serverLogs.log(LogType.MEMBER_WARN, { pluginData.state.serverLogs.log(LogType.MEMBER_WARN, {
mod: stripObjectToScalars(mod), mod: stripObjectToScalars(mod),
member: stripObjectToScalars(member, ["user", "roles"]), member: stripObjectToScalars(member, ["user", "roles"]),
caseNumber: createdCase.case_number,
reason, reason,
}); });

View file

@ -15,6 +15,7 @@ import { TextChannel, User } from "eris";
import { CasesPlugin } from "../../Cases/CasesPlugin"; import { CasesPlugin } from "../../Cases/CasesPlugin";
import { CaseTypes } from "../../../data/CaseTypes"; import { CaseTypes } from "../../../data/CaseTypes";
import { LogType } from "../../../data/LogType"; import { LogType } from "../../../data/LogType";
import { Case } from "src/data/entities/Case";
export async function muteUser( export async function muteUser(
pluginData: PluginData<MutesPluginType>, pluginData: PluginData<MutesPluginType>,
@ -106,7 +107,7 @@ export async function muteUser(
// Create/update a case // Create/update a case
const casesPlugin = pluginData.getPlugin(CasesPlugin); const casesPlugin = pluginData.getPlugin(CasesPlugin);
let theCase; let theCase: Case;
if (existingMute && existingMute.case_id) { if (existingMute && existingMute.case_id) {
// Update old case // Update old case
@ -153,12 +154,14 @@ export async function muteUser(
mod: stripObjectToScalars(mod), mod: stripObjectToScalars(mod),
user: stripObjectToScalars(user), user: stripObjectToScalars(user),
time: timeUntilUnmute, time: timeUntilUnmute,
caseNumber: theCase.case_number,
reason, reason,
}); });
} else { } else {
pluginData.state.serverLogs.log(LogType.MEMBER_MUTE, { pluginData.state.serverLogs.log(LogType.MEMBER_MUTE, {
mod: stripObjectToScalars(mod), mod: stripObjectToScalars(mod),
user: stripObjectToScalars(user), user: stripObjectToScalars(user),
caseNumber: theCase.case_number,
reason, reason,
}); });
} }

View file

@ -72,6 +72,7 @@ export async function unmuteUser(
pluginData.state.serverLogs.log(LogType.MEMBER_TIMED_UNMUTE, { pluginData.state.serverLogs.log(LogType.MEMBER_TIMED_UNMUTE, {
mod: stripObjectToScalars(mod), mod: stripObjectToScalars(mod),
user: stripObjectToScalars(user), user: stripObjectToScalars(user),
caseNumber: createdCase.case_number,
time: timeUntilUnmute, time: timeUntilUnmute,
reason: caseArgs.reason, reason: caseArgs.reason,
}); });
@ -79,6 +80,7 @@ export async function unmuteUser(
pluginData.state.serverLogs.log(LogType.MEMBER_UNMUTE, { pluginData.state.serverLogs.log(LogType.MEMBER_UNMUTE, {
mod: stripObjectToScalars(mod), mod: stripObjectToScalars(mod),
user: stripObjectToScalars(user), user: stripObjectToScalars(user),
caseNumber: createdCase.case_number,
reason: caseArgs.reason, reason: caseArgs.reason,
}); });
} }