diff --git a/packages/discord.js/src/structures/GuildAuditLogsEntry.js b/packages/discord.js/src/structures/GuildAuditLogsEntry.js index febbd12929b8..4498c9384119 100644 --- a/packages/discord.js/src/structures/GuildAuditLogsEntry.js +++ b/packages/discord.js/src/structures/GuildAuditLogsEntry.js @@ -242,6 +242,16 @@ class GuildAuditLogsEntry { }; break; + case AuditLogEvent.MemberKick: + case AuditLogEvent.MemberRoleUpdate: { + if (data.integration_type) { + this.extra = { + integrationType: data.integration_type, + }; + } + break; + } + default: break; } diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 7fedde4b989e..929addb005b8 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -5414,6 +5414,8 @@ interface GuildAuditLogsTypes { export type GuildAuditLogsActionType = GuildAuditLogsTypes[keyof GuildAuditLogsTypes][1] | 'All'; export interface GuildAuditLogsEntryExtraField { + [AuditLogEvent.MemberKick]: { integrationType: string } | null; + [AuditLogEvent.MemberRoleUpdate]: { integrationType: string } | null; [AuditLogEvent.MemberPrune]: { removed: number; days: number }; [AuditLogEvent.MemberMove]: { channel: VoiceBasedChannel | { id: Snowflake }; count: number }; [AuditLogEvent.MessageDelete]: { channel: GuildTextBasedChannel | { id: Snowflake }; count: number }; diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index 026e2f80794a..8dcf7f31c103 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -2074,9 +2074,14 @@ expectType al.entries.first()), ); -expectType>( +expectType>( guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()?.extra), ); + +expectType>( + guild.fetchAuditLogs({ type: AuditLogEvent.MemberRoleUpdate }).then(al => al.entries.first()?.extra), +); + expectType>( guild.fetchAuditLogs({ type: AuditLogEvent.StageInstanceCreate }).then(al => al.entries.first()?.extra), );