Skip to content

Commit 3654efe

Browse files
almeidxJiralitekodiakhq[bot]
authored
feat(GuildAuditLogsEntry): onboarding events (#9726)
Co-authored-by: Jiralite <[email protected]> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
1 parent d8e94d8 commit 3654efe

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

packages/discord.js/src/structures/GuildAuditLogsEntry.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { DiscordSnowflake } = require('@sapphire/snowflake');
44
const { AuditLogOptionsType, AuditLogEvent } = require('discord-api-types/v10');
55
const AutoModerationRule = require('./AutoModerationRule');
6+
const { GuildOnboardingPrompt } = require('./GuildOnboardingPrompt');
67
const { GuildScheduledEvent } = require('./GuildScheduledEvent');
78
const Integration = require('./Integration');
89
const 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|GuildOnboardingPrompt)} AuditLogEntryTarget
5660
*/
5761

5862
/**
@@ -80,6 +84,9 @@ const Targets = {
8084
* * Thread
8185
* * GuildScheduledEvent
8286
* * ApplicationCommandPermission
87+
* * GuildOnboarding
88+
* * GuildOnboardingPrompt
89+
* * Unknown
8390
* @typedef {string} AuditLogTargetType
8491
*/
8592

@@ -349,6 +356,13 @@ class GuildAuditLogsEntry {
349356
changesReduce(this.changes, { id: data.target_id, guild_id: guild.id }),
350357
guild,
351358
);
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 });
352366
} else if (data.target_id) {
353367
this.target = guild[`${targetType.toLowerCase()}s`]?.cache.get(data.target_id) ?? { id: data.target_id };
354368
}
@@ -375,6 +389,8 @@ class GuildAuditLogsEntry {
375389
if (target < 120) return Targets.Thread;
376390
if (target < 130) return Targets.ApplicationCommand;
377391
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;
378394
return Targets.Unknown;
379395
}
380396

@@ -402,6 +418,8 @@ class GuildAuditLogsEntry {
402418
AuditLogEvent.ThreadCreate,
403419
AuditLogEvent.AutoModerationRuleCreate,
404420
AuditLogEvent.AutoModerationBlockMessage,
421+
AuditLogEvent.OnboardingPromptCreate,
422+
AuditLogEvent.OnboardingCreate,
405423
].includes(action)
406424
) {
407425
return 'Create';
@@ -428,6 +446,7 @@ class GuildAuditLogsEntry {
428446
AuditLogEvent.GuildScheduledEventDelete,
429447
AuditLogEvent.ThreadDelete,
430448
AuditLogEvent.AutoModerationRuleDelete,
449+
AuditLogEvent.OnboardingPromptDelete,
431450
].includes(action)
432451
) {
433452
return 'Delete';
@@ -452,6 +471,8 @@ class GuildAuditLogsEntry {
452471
AuditLogEvent.ThreadUpdate,
453472
AuditLogEvent.ApplicationCommandPermissionUpdate,
454473
AuditLogEvent.AutoModerationRuleUpdate,
474+
AuditLogEvent.OnboardingPromptUpdate,
475+
AuditLogEvent.OnboardingUpdate,
455476
].includes(action)
456477
) {
457478
return 'Update';

packages/discord.js/typings/index.d.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5784,6 +5784,11 @@ interface GuildAuditLogsTypes {
57845784
[AuditLogEvent.AutoModerationBlockMessage]: ['AutoModerationRule', 'Create'];
57855785
[AuditLogEvent.AutoModerationFlagToChannel]: ['AutoModerationRule', 'Create'];
57865786
[AuditLogEvent.AutoModerationUserCommunicationDisabled]: ['AutoModerationRule', 'Create'];
5787+
[AuditLogEvent.OnboardingPromptCreate]: ['GuildOnboardingPrompt', 'Create'];
5788+
[AuditLogEvent.OnboardingPromptUpdate]: ['GuildOnboardingPrompt', 'Update'];
5789+
[AuditLogEvent.OnboardingPromptDelete]: ['GuildOnboardingPrompt', 'Delete'];
5790+
[AuditLogEvent.OnboardingCreate]: ['GuildOnboarding', 'Create'];
5791+
[AuditLogEvent.OnboardingUpdate]: ['GuildOnboarding', 'Update'];
57875792
}
57885793

57895794
export type GuildAuditLogsActionType = GuildAuditLogsTypes[keyof GuildAuditLogsTypes][1] | 'All';
@@ -5848,6 +5853,7 @@ export interface GuildAuditLogsEntryTargetField<TActionType extends GuildAuditLo
58485853
GuildScheduledEvent: GuildScheduledEvent;
58495854
ApplicationCommand: ApplicationCommand | { id: Snowflake };
58505855
AutoModerationRule: AutoModerationRule;
5856+
GuildOnboardingPrompt: GuildOnboardingPrompt;
58515857
}
58525858

58535859
export interface GuildAuditLogsFetchOptions<Event extends GuildAuditLogsResolvable> {

0 commit comments

Comments
 (0)