diff --git a/src/modules/logging.js b/src/modules/logging.js index 97a8fcf..311a5fd 100644 --- a/src/modules/logging.js +++ b/src/modules/logging.js @@ -3,7 +3,7 @@ const {Member} = require("@projectdysnomia/dysnomia"); const {getGuildData} = require("#lib/guildData.js"); const events = require("#lib/events.js"); -const {/*AuditLogActions,*/ APIEndpoints, CDNEndpoints, GuildIntegrationTypes} = require("#util/dconstants.js"); +const {AuditLogActions, APIEndpoints, CDNEndpoints, GuildIntegrationTypes} = require("#util/dconstants.js"); const {JoinSourceTypeNames} = require("#util/constants.js"); const {formatUsername, getDefaultAvatar} = require("#util/misc.js"); const {snowflakeToTimestamp} = require("#util/time.js"); @@ -17,16 +17,64 @@ async function getLoggingChannel(guild) { return guild.channels.get(channelId) ?? guild.threads.get(channelId); } -/*events.add("guildAuditLogEntryCreate", "logging", async function (entry) { +events.add("guildAuditLogEntryCreate", "logging", async function (entry) { const channel = await getLoggingChannel(entry.guild); if (!channel) return; switch (entry.actionType) { - case AuditLogActions.GUILD_UPDATE: { + case AuditLogActions.GUILD_UPDATE: + case AuditLogActions.CHANNEL_CREATE: + case AuditLogActions.CHANNEL_UPDATE: + case AuditLogActions.CHANNEL_DELETE: + case AuditLogActions.CHANNEL_OVERWRITE_CREATE: + case AuditLogActions.CHANNEL_OVERWRITE_UPDATE: + case AuditLogActions.CHANNEL_OVERWRITE_DELETE: + case AuditLogActions.MEMBER_KICK: + case AuditLogActions.MEMBER_BAN_ADD: + case AuditLogActions.MEMBER_BAN_REMOVE: + case AuditLogActions.MEMBER_UPDATE: + case AuditLogActions.MEMBER_ROLE_UPDATE: + case AuditLogActions.BOT_ADD: + case AuditLogActions.ROLE_CREATE: + case AuditLogActions.ROLE_UPDATE: + case AuditLogActions.ROLE_DELETE: + case AuditLogActions.INVITE_CREATE: + case AuditLogActions.INVITE_UPDATE: + case AuditLogActions.INVITE_DELETE: + case AuditLogActions.EMOJI_CREATE: + case AuditLogActions.EMOJI_UPDATE: + case AuditLogActions.EMOJI_DELETE: + case AuditLogActions.INTEGRATION_CREATE: + case AuditLogActions.INTEGRATION_UPDATE: + case AuditLogActions.INTEGRATION_DELETE: + case AuditLogActions.STICKER_CREATE: + case AuditLogActions.STICKER_UPDATE: + case AuditLogActions.STICKER_DELETE: + case AuditLogActions.GUILD_SCHEDULED_EVENT_CREATE: + case AuditLogActions.GUILD_SCHEDULED_EVENT_UPDATE: + case AuditLogActions.GUILD_SCHEDULED_EVENT_DELETE: + case AuditLogActions.THREAD_CREATE: + case AuditLogActions.THREAD_UPDATE: + case AuditLogActions.THREAD_DELETE: + case AuditLogActions.APPLICATION_COMMAND_PERMISSION_UPDATE: + case AuditLogActions.ONBOARDING_PROMPT_CREATE: + case AuditLogActions.ONBOARDING_PROMPT_UPDATE: + case AuditLogActions.ONBOARDING_PROMPT_DELETE: { + channel + .createMessage({ + content: Object.entries(AuditLogActions).find(([name, val]) => val === entry.actionType)[0], + attachments: [ + { + filename: entry.id + ".json", + file: JSON.stringify(entry, null, 4), + }, + ], + }) + .catch(() => {}); break; } } -});*/ +}); events.add("guildUpdate", "logging", async function (guild, oldGuild) { const channel = await getLoggingChannel(guild);