From cb8b35e30d0297bc682d6ac450ee88169f0afe40 Mon Sep 17 00:00:00 2001 From: TTtie Date: Wed, 12 Jun 2024 18:43:56 +0000 Subject: [PATCH 1/7] feat(Constants): update audit log event constants Ref: https://github.com/discord/discord-api-docs/commit/43b3e976 --- index.d.ts | 11 +++++++++-- lib/Constants.js | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/index.d.ts b/index.d.ts index c5dce204..f08b44e9 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1971,8 +1971,15 @@ declare namespace Dysnomia { ROLE_PROMPT_UPDATE: 161; ROLE_PROMPT_DELETE: 162; - GUILD_HOME_FEATURE_ITEM: 171; - GUILD_HOME_REMOVE_ITEM: 172; + ONBOARDING_PROMPT_CREATE: 163; + ONBOARDING_PROMPT_UPDATE: 164; + ONBOARDING_PROMPT_DELETE: 165; + + ONBOARDING_CREATE: 166; + ONBOARDING_UPDATE: 167; + + HOME_SETTINGS_CREATE: 190; + HOME_SETTINGS_UPDATE: 191; }; AutoModerationActionTypes: { BLOCK_MESSAGE: 1; diff --git a/lib/Constants.js b/lib/Constants.js index af081202..4a2b94b0 100644 --- a/lib/Constants.js +++ b/lib/Constants.js @@ -144,8 +144,15 @@ module.exports.AuditLogActions = { ROLE_PROMPT_UPDATE: 161, ROLE_PROMPT_DELETE: 162, - GUILD_HOME_FEATURE_ITEM: 171, - GUILD_HOME_REMOVE_ITEM: 172 + ONBOARDING_PROMPT_CREATE: 163, + ONBOARDING_PROMPT_UPDATE: 164, + ONBOARDING_PROMPT_DELETE: 165, + + ONBOARDING_CREATE: 166, + ONBOARDING_UPDATE: 167, + + HOME_SETTINGS_CREATE: 190, + HOME_SETTINGS_UPDATE: 191 }; module.exports.AutoModerationActionTypes = { From 64f4ef6c7373fe95e13c17639a9384e698a93c0b Mon Sep 17 00:00:00 2001 From: TTtie Date: Wed, 12 Jun 2024 18:46:17 +0000 Subject: [PATCH 2/7] feat(Constants): add incident action message types Ref: https://github.com/discord/discord-api-docs/commit/e5cd463c Ref: https://github.com/discord/discord-api-docs/commit/174c1a18 --- index.d.ts | 5 +++++ lib/Constants.js | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index f08b44e9..db7aa526 100644 --- a/index.d.ts +++ b/index.d.ts @@ -2238,6 +2238,11 @@ declare namespace Dysnomia { STAGE_SPEAKER: 29; STAGE_TOPIC: 31; GUILD_APPLICATION_PREMIUM_SUBSCRIPTION: 32; + GUILD_INCIDENT_ALERT_MODE_ENABLED: 36; + GUILD_INCIDENT_ALERT_MODE_DISABLED: 37; + GUILD_INCIDENT_REPORT_RAID: 38; + GUILD_INCIDENT_REPORT_FALSE_ALARM: 39; + PURCHASE_NOTIFICATION: 44; }; MembershipState: { INVITED: 1; diff --git a/lib/Constants.js b/lib/Constants.js index 4a2b94b0..dbe68814 100644 --- a/lib/Constants.js +++ b/lib/Constants.js @@ -455,7 +455,12 @@ module.exports.MessageTypes = { STAGE_END: 28, STAGE_SPEAKER: 29, STAGE_TOPIC: 31, - GUILD_APPLICATION_PREMIUM_SUBSCRIPTION: 32 + GUILD_APPLICATION_PREMIUM_SUBSCRIPTION: 32, + GUILD_INCIDENT_ALERT_MODE_ENABLED: 36, + GUILD_INCIDENT_ALERT_MODE_DISABLED: 37, + GUILD_INCIDENT_REPORT_RAID: 38, + GUILD_INCIDENT_REPORT_FALSE_ALARM: 39, + PURCHASE_NOTIFICATION: 44 }; module.exports.MembershipState = { From 7ba3a045bb3c93bb40b915aaf767445dde4233dd Mon Sep 17 00:00:00 2001 From: TTtie Date: Wed, 12 Jun 2024 19:02:25 +0000 Subject: [PATCH 3/7] feat(Constants): add `useExternalApps` and `sendPolls` permissions Ref: https://github.com/discord/discord-api-docs/commit/f0924402 Ref: https://github.com/discord/discord-api-docs/commit/df7d3652 --- index.d.ts | 6 ++++-- lib/Constants.js | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/index.d.ts b/index.d.ts index db7aa526..2d10f4dc 100644 --- a/index.d.ts +++ b/index.d.ts @@ -2310,10 +2310,12 @@ declare namespace Dysnomia { useExternalSounds: 35184372088832n; useSoundboard: 4398046511104n; sendVoiceMessages: 70368744177664n; + sendPolls: 562949953421312n; + useExternalApps: 1125899906842624n; allGuild: 29697484783806n; - allText: 70904273435729n; + allText: 1759754133699665n; allVoice: 40136803878673n; - all: 140737488355327n; + all: 1829587348619263n; }; PremiumTiers: { NONE: 0; diff --git a/lib/Constants.js b/lib/Constants.js index dbe68814..bbde4dba 100644 --- a/lib/Constants.js +++ b/lib/Constants.js @@ -530,7 +530,9 @@ const Permissions = { createGuildExpressions: 1n << 43n, createEvents: 1n << 44n, useExternalSounds: 1n << 45n, - sendVoiceMessages: 1n << 46n + sendVoiceMessages: 1n << 46n, + sendPolls: 1n << 49n, + useExternalApps: 1n << 50n }; Permissions.allGuild = Permissions.kickMembers | Permissions.banMembers @@ -569,7 +571,9 @@ Permissions.allText = Permissions.createInstantInvite | Permissions.createPrivateThreads | Permissions.useExternalStickers | Permissions.sendMessagesInThreads - | Permissions.sendVoiceMessages; + | Permissions.sendVoiceMessages + | Permissions.sendPolls + | Permissions.useExternalApps; Permissions.allVoice = Permissions.createInstantInvite | Permissions.manageChannels | Permissions.voicePrioritySpeaker From 892bf58d5e43dce6598ee43c87aefbe5732e9a68 Mon Sep 17 00:00:00 2001 From: TTtie Date: Wed, 12 Jun 2024 19:06:48 +0000 Subject: [PATCH 4/7] feat(Constants): add poll-related intents Ref: https://github.com/discord/discord-api-docs/commit/df7d3652 --- index.d.ts | 6 ++++-- lib/Constants.js | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/index.d.ts b/index.d.ts index 2d10f4dc..07f00a9b 100644 --- a/index.d.ts +++ b/index.d.ts @@ -2148,9 +2148,11 @@ declare namespace Dysnomia { guildScheduledEvents: 65536; autoModerationConfiguration: 1048576; autoModerationExecution: 2097152; - allNonPrivileged: 3243773; + guildMessagePolls: 16777216; + directMessagePolls: 33554432; + allNonPrivileged: 53575417; allPrivileged: 33026; - all: 3276799; + all: 53608443; }; InteractionResponseTypes: { PONG: 1; diff --git a/lib/Constants.js b/lib/Constants.js index bbde4dba..e4898b3e 100644 --- a/lib/Constants.js +++ b/lib/Constants.js @@ -337,7 +337,9 @@ const Intents = { messageContent: 1 << 15, guildScheduledEvents: 1 << 16, autoModerationConfiguration: 1 << 20, - autoModerationExecution: 1 << 21 + autoModerationExecution: 1 << 21, + guildMessagePolls: 1 << 24, + directMessagePolls: 1 << 25 }; Intents.allNonPrivileged = Intents.guilds @@ -355,7 +357,9 @@ Intents.allNonPrivileged = Intents.guilds | Intents.directMessageTyping | Intents.guildScheduledEvents | Intents.autoModerationConfiguration - | Intents.autoModerationExecution; + | Intents.autoModerationExecution + | Intents.guildMessagePolls + | Intents.directMessagePolls; Intents.allPrivileged = Intents.guildMembers | Intents.guildPresences | Intents.messageContent; From 125310ee9fefacd13612401582abe6798dcf8ca2 Mon Sep 17 00:00:00 2001 From: TTtie Date: Wed, 12 Jun 2024 19:19:12 +0000 Subject: [PATCH 5/7] feat(Constants): update automod-related constants Ref: https://github.com/discord/discord-api-docs/commit/60a711d8 --- index.d.ts | 17 ++++++++++------- lib/Constants.js | 13 ++++++++----- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/index.d.ts b/index.d.ts index 07f00a9b..debf8749 100644 --- a/index.d.ts +++ b/index.d.ts @@ -316,9 +316,9 @@ declare namespace Dysnomia { } interface AutoModerationTriggerMetadata { - /** valid for KEYWORD */ + /** valid for KEYWORD, KEYWORD_PRESET, MEMBER_PROFILE */ allow_list: string[]; - /** valid for KEYWORD */ + /** valid for KEYWORD, MEMBER_PROFILE */ keyword_filter: string[]; /** valid for MENTION_SPAM */ mention_total_limit: number; @@ -326,7 +326,7 @@ declare namespace Dysnomia { mention_raid_protection_enabled: boolean; /** valid for KEYWORD_PRESET */ presets: AutoModerationKeywordPresetType[]; - /** valid for KEYWORD */ + /** valid for KEYWORD, MEMBER_PROFILE */ regex_patterns: string[]; } // Channel @@ -1982,12 +1982,14 @@ declare namespace Dysnomia { HOME_SETTINGS_UPDATE: 191; }; AutoModerationActionTypes: { - BLOCK_MESSAGE: 1; - SEND_ALERT_MESSAGE: 2; - TIMEOUT: 3; + BLOCK_MESSAGE: 1; + SEND_ALERT_MESSAGE: 2; + TIMEOUT: 3; + BLOCK_MEMBER_INTERACTION: 4; }; AutoModerationEventTypes: { - MESSAGE_SEND: 1; + MESSAGE_SEND: 1; + MEMBER_UPDATE: 2; }; AutoModerationKeywordPresetTypes: { PROFANITY: 1; @@ -1999,6 +2001,7 @@ declare namespace Dysnomia { SPAM: 3; KEYWORD_PRESET: 4; MENTION_SPAM: 5; + MEMBER_PROFILE: 6; }; ButtonStyles: { PRIMARY: 1; diff --git a/lib/Constants.js b/lib/Constants.js index e4898b3e..7be1a249 100644 --- a/lib/Constants.js +++ b/lib/Constants.js @@ -156,13 +156,15 @@ module.exports.AuditLogActions = { }; module.exports.AutoModerationActionTypes = { - BLOCK_MESSAGE: 1, - SEND_ALERT_MESSAGE: 2, - TIMEOUT: 3 + BLOCK_MESSAGE: 1, + SEND_ALERT_MESSAGE: 2, + TIMEOUT: 3, + BLOCK_MEMBER_INTERACTION: 4 }; module.exports.AutoModerationEventTypes = { - MESSAGE_SEND: 1 + MESSAGE_SEND: 1, + MEMBER_UPDATE: 2 }; module.exports.AutoModerationKeywordPresetTypes = { @@ -175,7 +177,8 @@ module.exports.AutoModerationTriggerTypes = { KEYWORD: 1, SPAM: 3, KEYWORD_PRESET: 4, - MENTION_SPAM: 5 + MENTION_SPAM: 5, + MEMBER_PROFILE: 6 }; module.exports.ButtonStyles = { From 7b38e19cd9048e9707346f380ceb721adda99f07 Mon Sep 17 00:00:00 2001 From: TTtie Date: Sat, 29 Jun 2024 17:18:37 +0000 Subject: [PATCH 6/7] feat(Message): transform message content for new special message types --- lib/structures/Message.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/structures/Message.js b/lib/structures/Message.js index d58b5f05..c2ef8033 100644 --- a/lib/structures/Message.js +++ b/lib/structures/Message.js @@ -304,6 +304,28 @@ class Message extends Base { break; } case MessageTypes.GUILD_APPLICATION_PREMIUM_SUBSCRIPTION: { + data.content = `${this.author.mention} upgraded **${data.application?.name ?? data.application?.id ?? "a deleted application"}** to premium for this server! 🎉`; + break; + } + case MessageTypes.GUILD_INCIDENT_ALERT_MODE_ENABLED: { + data.content = `${this.author.mention} enabled security actions until **${data.content}**.`; + break; + } + case MessageTypes.GUILD_INCIDENT_ALERT_MODE_DISABLED: { + data.content = `${this.author.mention} disabled security actions.`; + break; + } + case MessageTypes.GUILD_INCIDENT_REPORT_RAID: { + data.content = `${this.author.mention} reported a raid in **${this.channel.guild?.name ?? data.guild_id}**.`; + break; + } + case MessageTypes.GUILD_INCIDENT_REPORT_FALSE_ALARM: { + data.content = `${this.author.mention} resolved an Activity Alert.`; + break; + } + case MessageTypes.PURCHASE_NOTIFICATION: { + // WARN: `purchase_notification` is documented only in the OpenAPI spec + data.content = `${this.author.mention} has purchased **${data.purchase_notification?.guild_product_purchase?.product_name}**!`; break; } default: { From ae96acfb947fda8ad0558b6d9b2b9c1cbd1c3cb3 Mon Sep 17 00:00:00 2001 From: TTtie Date: Fri, 5 Jul 2024 14:49:03 +0000 Subject: [PATCH 7/7] chore(Message): fall back to "an unknown product" if the data isn't present --- lib/structures/Message.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/structures/Message.js b/lib/structures/Message.js index c2ef8033..349c3ba0 100644 --- a/lib/structures/Message.js +++ b/lib/structures/Message.js @@ -325,7 +325,7 @@ class Message extends Base { } case MessageTypes.PURCHASE_NOTIFICATION: { // WARN: `purchase_notification` is documented only in the OpenAPI spec - data.content = `${this.author.mention} has purchased **${data.purchase_notification?.guild_product_purchase?.product_name}**!`; + data.content = `${this.author.mention} has purchased **${data.purchase_notification?.guild_product_purchase?.product_name ?? "an unknown product"}**!`; break; } default: {