logging: start sending audit log events as json

This commit is contained in:
Cynthia Foxwell 2025-04-23 20:55:01 -06:00
parent 3199df420c
commit a3d8331e29
Signed by: Cynosphere
SSH key fingerprint: SHA256:H3SM8ufP/uxqLwKSH7xY89TDnbR9uOHzjLoBr0tlajk

View file

@ -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);