3
3
const { DiscordSnowflake } = require ( '@sapphire/snowflake' ) ;
4
4
const { AuditLogOptionsType, AuditLogEvent } = require ( 'discord-api-types/v10' ) ;
5
5
const AutoModerationRule = require ( './AutoModerationRule' ) ;
6
+ const { GuildOnboardingPrompt } = require ( './GuildOnboardingPrompt' ) ;
6
7
const { GuildScheduledEvent } = require ( './GuildScheduledEvent' ) ;
7
8
const Integration = require ( './Integration' ) ;
8
9
const Invite = require ( './Invite' ) ;
@@ -29,6 +30,8 @@ const Targets = {
29
30
Thread : 'Thread' ,
30
31
ApplicationCommand : 'ApplicationCommand' ,
31
32
AutoModeration : 'AutoModeration' ,
33
+ GuildOnboarding : 'GuildOnboarding' ,
34
+ GuildOnboardingPrompt : 'GuildOnboardingPrompt' ,
32
35
Unknown : 'Unknown' ,
33
36
} ;
34
37
@@ -49,10 +52,11 @@ const Targets = {
49
52
* * A thread
50
53
* * An application command
51
54
* * An auto moderation rule
55
+ * * A guild onboarding prompt
52
56
* * An object with an id key if target was deleted or fake entity
53
57
* * An object where the keys represent either the new value or the old value
54
58
* @typedef {?(Object|Guild|BaseChannel|User|Role|Invite|Webhook|GuildEmoji|Message|Integration|StageInstance|Sticker|
55
- * GuildScheduledEvent|ApplicationCommand|AutoModerationRule)} AuditLogEntryTarget
59
+ * GuildScheduledEvent|ApplicationCommand|AutoModerationRule|GuildOnboardingPrompt )} AuditLogEntryTarget
56
60
*/
57
61
58
62
/**
@@ -80,6 +84,9 @@ const Targets = {
80
84
* * Thread
81
85
* * GuildScheduledEvent
82
86
* * ApplicationCommandPermission
87
+ * * GuildOnboarding
88
+ * * GuildOnboardingPrompt
89
+ * * Unknown
83
90
* @typedef {string } AuditLogTargetType
84
91
*/
85
92
@@ -349,6 +356,13 @@ class GuildAuditLogsEntry {
349
356
changesReduce ( this . changes , { id : data . target_id , guild_id : guild . id } ) ,
350
357
guild ,
351
358
) ;
359
+ } else if ( targetType === Targets . GuildOnboardingPrompt ) {
360
+ this . target =
361
+ data . action_type === AuditLogEvent . OnboardingPromptCreate
362
+ ? new GuildOnboardingPrompt ( guild . client , changesReduce ( this . changes , { id : data . target_id } ) , guild . id )
363
+ : changesReduce ( this . changes , { id : data . target_id } ) ;
364
+ } else if ( targetType === Targets . GuildOnboarding ) {
365
+ this . target = changesReduce ( this . changes , { id : data . target_id } ) ;
352
366
} else if ( data . target_id ) {
353
367
this . target = guild [ `${ targetType . toLowerCase ( ) } s` ] ?. cache . get ( data . target_id ) ?? { id : data . target_id } ;
354
368
}
@@ -375,6 +389,8 @@ class GuildAuditLogsEntry {
375
389
if ( target < 120 ) return Targets . Thread ;
376
390
if ( target < 130 ) return Targets . ApplicationCommand ;
377
391
if ( target >= 140 && target < 150 ) return Targets . AutoModeration ;
392
+ if ( target >= 163 && target <= 165 ) return Targets . GuildOnboardingPrompt ;
393
+ if ( target >= 160 && target < 170 ) return Targets . GuildOnboarding ;
378
394
return Targets . Unknown ;
379
395
}
380
396
@@ -402,6 +418,8 @@ class GuildAuditLogsEntry {
402
418
AuditLogEvent . ThreadCreate ,
403
419
AuditLogEvent . AutoModerationRuleCreate ,
404
420
AuditLogEvent . AutoModerationBlockMessage ,
421
+ AuditLogEvent . OnboardingPromptCreate ,
422
+ AuditLogEvent . OnboardingCreate ,
405
423
] . includes ( action )
406
424
) {
407
425
return 'Create' ;
@@ -428,6 +446,7 @@ class GuildAuditLogsEntry {
428
446
AuditLogEvent . GuildScheduledEventDelete ,
429
447
AuditLogEvent . ThreadDelete ,
430
448
AuditLogEvent . AutoModerationRuleDelete ,
449
+ AuditLogEvent . OnboardingPromptDelete ,
431
450
] . includes ( action )
432
451
) {
433
452
return 'Delete' ;
@@ -452,6 +471,8 @@ class GuildAuditLogsEntry {
452
471
AuditLogEvent . ThreadUpdate ,
453
472
AuditLogEvent . ApplicationCommandPermissionUpdate ,
454
473
AuditLogEvent . AutoModerationRuleUpdate ,
474
+ AuditLogEvent . OnboardingPromptUpdate ,
475
+ AuditLogEvent . OnboardingUpdate ,
455
476
] . includes ( action )
456
477
) {
457
478
return 'Update' ;
0 commit comments