33const { DiscordSnowflake } = require ( '@sapphire/snowflake' ) ;
44const { AuditLogOptionsType, AuditLogEvent } = require ( 'discord-api-types/v10' ) ;
55const AutoModerationRule = require ( './AutoModerationRule' ) ;
6+ const { GuildOnboardingPrompt } = require ( './GuildOnboardingPrompt.js' ) ;
67const { GuildScheduledEvent } = require ( './GuildScheduledEvent' ) ;
78const Integration = require ( './Integration' ) ;
89const Invite = require ( './Invite' ) ;
@@ -29,6 +30,8 @@ const Targets = {
2930 Thread : 'Thread' ,
3031 ApplicationCommand : 'ApplicationCommand' ,
3132 AutoModeration : 'AutoModeration' ,
33+ GuildOnboarding : 'GuildOnboarding' ,
34+ GuildOnboardingPrompt : 'GuildOnboardingPrompt' ,
3235 Unknown : 'Unknown' ,
3336} ;
3437
@@ -49,10 +52,11 @@ const Targets = {
4952 * * A thread
5053 * * An application command
5154 * * An auto moderation rule
55+ * * A guild onboarding prompt
5256 * * An object with an id key if target was deleted or fake entity
5357 * * An object where the keys represent either the new value or the old value
5458 * @typedef {?(Object|Guild|BaseChannel|User|Role|Invite|Webhook|GuildEmoji|Message|Integration|StageInstance|Sticker|
55- * GuildScheduledEvent|ApplicationCommand|AutoModerationRule)} AuditLogEntryTarget
59+ * GuildScheduledEvent|ApplicationCommand|AutoModerationRule|GuildOnboarding|GuildOnboardingPrompt )} AuditLogEntryTarget
5660 */
5761
5862/**
@@ -80,6 +84,7 @@ const Targets = {
8084 * * Thread
8185 * * GuildScheduledEvent
8286 * * ApplicationCommandPermission
87+ * * GuildOnboardingPrompt
8388 * @typedef {string } AuditLogTargetType
8489 */
8590
@@ -349,6 +354,14 @@ class GuildAuditLogsEntry {
349354 changesReduce ( this . changes , { id : data . target_id , guild_id : guild . id } ) ,
350355 guild ,
351356 ) ;
357+ } else if ( targetType === Targets . GuildOnboardingPrompt ) {
358+ this . target = new GuildOnboardingPrompt (
359+ guild . client ,
360+ changesReduce ( this . changes , { id : data . target_id } ) ,
361+ guild . id ,
362+ ) ;
363+ } else if ( targetType === Targets . GuildOnboarding ) {
364+ this . target = changesReduce ( this . changes , { id : data . target_id } ) ;
352365 } else if ( data . target_id ) {
353366 this . target = guild [ `${ targetType . toLowerCase ( ) } s` ] ?. cache . get ( data . target_id ) ?? { id : data . target_id } ;
354367 }
@@ -375,6 +388,8 @@ class GuildAuditLogsEntry {
375388 if ( target < 120 ) return Targets . Thread ;
376389 if ( target < 130 ) return Targets . ApplicationCommand ;
377390 if ( target >= 140 && target < 150 ) return Targets . AutoModeration ;
391+ if ( target >= 163 && target <= 165 ) return Targets . GuildOnboardingPrompt ;
392+ if ( target >= 160 && target < 170 ) return Targets . GuildOnboarding ;
378393 return Targets . Unknown ;
379394 }
380395
@@ -402,6 +417,10 @@ class GuildAuditLogsEntry {
402417 AuditLogEvent . ThreadCreate ,
403418 AuditLogEvent . AutoModerationRuleCreate ,
404419 AuditLogEvent . AutoModerationBlockMessage ,
420+ // AuditLogEvent.OnboardingQuestionCreate,
421+ // AuditLogEvent.OnboardingCreate,
422+ 163 ,
423+ 166 ,
405424 ] . includes ( action )
406425 ) {
407426 return 'Create' ;
@@ -428,6 +447,8 @@ class GuildAuditLogsEntry {
428447 AuditLogEvent . GuildScheduledEventDelete ,
429448 AuditLogEvent . ThreadDelete ,
430449 AuditLogEvent . AutoModerationRuleDelete ,
450+ // AuditLogEvent.OnboardingQuestionDelete,
451+ 165 ,
431452 ] . includes ( action )
432453 ) {
433454 return 'Delete' ;
@@ -452,6 +473,10 @@ class GuildAuditLogsEntry {
452473 AuditLogEvent . ThreadUpdate ,
453474 AuditLogEvent . ApplicationCommandPermissionUpdate ,
454475 AuditLogEvent . AutoModerationRuleUpdate ,
476+ // AuditLogEvent.OnboardingQuestionUpdate,
477+ // AuditLogEvent.OnboardingUpdate,
478+ 164 ,
479+ 167 ,
455480 ] . includes ( action )
456481 ) {
457482 return 'Update' ;
0 commit comments