3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-11 04:45:02 +00:00

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

@ -3,20 +3,21 @@ import { stripObjectToScalars, UnknownUser } from "../../../utils";
import { LogType } from "../../../data/LogType";
import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry";
import { GuildAuditLogs } from "discord.js";
export const LogsGuildBanAddEvt = logsEvt({
event: "guildBanAdd",
async listener(meta) {
const pluginData = meta.pluginData;
const user = meta.args.user;
const user = meta.args.ban.user;
const relevantAuditLogEntry = await safeFindRelevantAuditLogEntry(
pluginData,
ErisConstants.AuditLogActions.MEMBER_BAN_ADD,
GuildAuditLogs.Actions.MEMBER_BAN_ADD as number,
user.id,
);
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.user : new UnknownUser();
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.executor : new UnknownUser();
pluginData.state.guildLogs.log(
LogType.MEMBER_BAN,
@ -34,14 +35,14 @@ export const LogsGuildBanRemoveEvt = logsEvt({
async listener(meta) {
const pluginData = meta.pluginData;
const user = meta.args.user;
const user = meta.args.ban.user;
const relevantAuditLogEntry = await safeFindRelevantAuditLogEntry(
pluginData,
ErisConstants.AuditLogActions.MEMBER_BAN_REMOVE,
GuildAuditLogs.Actions.MEMBER_BAN_REMOVE as number,
user.id,
);
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.user : new UnknownUser();
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.executor : new UnknownUser();
pluginData.state.guildLogs.log(
LogType.MEMBER_UNBAN,

View file

@ -13,14 +13,14 @@ export const LogsGuildMemberAddEvt = logsEvt({
const member = meta.args.member;
const newThreshold = moment.utc().valueOf() - 1000 * 60 * 60;
const accountAge = humanizeDuration(moment.utc().valueOf() - member.createdAt, {
const accountAge = humanizeDuration(moment.utc().valueOf() - member.user.createdTimestamp, {
largest: 2,
round: true,
});
pluginData.state.guildLogs.log(LogType.MEMBER_JOIN, {
member: stripObjectToScalars(member, ["user", "roles"]),
new: member.createdAt >= newThreshold ? " :new:" : "",
new: member.user.createdTimestamp >= newThreshold ? " :new:" : "",
account_age: accountAge,
});

View file

@ -5,6 +5,7 @@ import { LogType } from "../../../data/LogType";
import isEqual from "lodash.isequal";
import diff from "lodash.difference";
import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry";
import { GuildAuditLogs } from "discord.js";
export const LogsGuildMemberUpdateEvt = logsEvt({
event: "guildMemberUpdate",
@ -12,17 +13,17 @@ export const LogsGuildMemberUpdateEvt = logsEvt({
async listener(meta) {
const pluginData = meta.pluginData;
const oldMember = meta.args.oldMember;
const member = meta.args.member;
const member = meta.args.newMember;
if (!oldMember) return;
const logMember = stripObjectToScalars(member, ["user", "roles"]);
if (member.nick !== oldMember.nick) {
if (member.nickname !== oldMember.nickname) {
pluginData.state.guildLogs.log(LogType.MEMBER_NICK_CHANGE, {
member: logMember,
oldNick: oldMember.nick != null ? oldMember.nick : "<none>",
newNick: member.nick != null ? member.nick : "<none>",
oldNick: oldMember.nickname != null ? oldMember.nickname : "<none>",
newNick: member.nickname != null ? member.nickname : "<none>",
});
}
@ -49,10 +50,10 @@ export const LogsGuildMemberUpdateEvt = logsEvt({
if (!skip) {
const relevantAuditLogEntry = await safeFindRelevantAuditLogEntry(
pluginData,
ErisConstants.AuditLogActions.MEMBER_ROLE_UPDATE,
GuildAuditLogs.Actions.MEMBER_ROLE_UPDATE as number,
member.id,
);
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.user : new UnknownUser();
const mod = relevantAuditLogEntry ? relevantAuditLogEntry.executor : new UnknownUser();
if (addedRoles.length && removedRoles.length) {
// Roles added *and* removed

View file

@ -1,46 +1,34 @@
import { logsEvt } from "../types";
import { stripObjectToScalars } from "../../../utils";
import { LogType } from "../../../data/LogType";
/** Merge into single event
export const LogsVoiceJoinEvt = logsEvt({
event: "voiceChannelJoin",
async listener(meta) {
meta.pluginData.state.guildLogs.log(LogType.VOICE_CHANNEL_JOIN, {
member: stripObjectToScalars(meta.args.member, ["user", "roles"]),
channel: stripObjectToScalars(meta.args.newChannel),
});
},
});
export const LogsVoiceLeaveEvt = logsEvt({
event: "voiceChannelLeave",
async listener(meta) {
meta.pluginData.state.guildLogs.log(LogType.VOICE_CHANNEL_LEAVE, {
member: stripObjectToScalars(meta.args.member, ["user", "roles"]),
channel: stripObjectToScalars(meta.args.oldChannel),
});
},
});
export const LogsVoiceSwitchEvt = logsEvt({
event: "voiceChannelSwitch",
async listener(meta) {
meta.pluginData.state.guildLogs.log(LogType.VOICE_CHANNEL_MOVE, {
member: stripObjectToScalars(meta.args.member, ["user", "roles"]),
oldChannel: stripObjectToScalars(meta.args.oldChannel),
newChannel: stripObjectToScalars(meta.args.newChannel),
});
},
});
**/
export const LogsVoiceStateUpdateEvt = logsEvt({
event: "voiceStateUpdate",
async listener(meta) {
console.error(`Fixme @LogsVoiceChannelEvts.ts`);
const oldChannel = meta.args.oldState.channel;
const newChannel = meta.args.newState.channel;
const member = meta.args.newState.member ?? meta.args.oldState.member!;
if (!newChannel) { // Leave evt
meta.pluginData.state.guildLogs.log(LogType.VOICE_CHANNEL_LEAVE, {
member: stripObjectToScalars(member, ["user", "roles"]),
oldChannel: stripObjectToScalars(oldChannel),
newChannel: stripObjectToScalars(newChannel),
});
} else if (!oldChannel) { // Join Evt
meta.pluginData.state.guildLogs.log(LogType.VOICE_CHANNEL_JOIN, {
member: stripObjectToScalars(member, ["user", "roles"]),
oldChannel: stripObjectToScalars(oldChannel),
newChannel: stripObjectToScalars(newChannel),
});
} else {
meta.pluginData.state.guildLogs.log(LogType.VOICE_CHANNEL_MOVE, {
member: stripObjectToScalars(member, ["user", "roles"]),
oldChannel: stripObjectToScalars(oldChannel),
newChannel: stripObjectToScalars(newChannel),
});
}
},
});