From c8a772f8d2518bb16d91a9f62f9b3787acb2a92b Mon Sep 17 00:00:00 2001 From: ITOH Date: Wed, 9 Jun 2021 18:47:22 +0200 Subject: [PATCH 1/5] fix: subcomponent#style should be checked --- src/util/utils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/utils.ts b/src/util/utils.ts index e1fa966e4..993f88acc 100644 --- a/src/util/utils.ts +++ b/src/util/utils.ts @@ -236,11 +236,11 @@ export function validateComponents(components: MessageComponents) { // 5 Link buttons can not have a customId if (isButton(subcomponent)) { - if (subcomponent.type === ButtonStyles.Link && subcomponent.customId) { + if (subcomponent.style === ButtonStyles.Link && subcomponent.customId) { throw new Error(Errors.LINK_BUTTON_CANNOT_HAVE_CUSTOM_ID); } // Other buttons must have a customId - if (!subcomponent.customId && subcomponent.type !== ButtonStyles.Link) { + if (!subcomponent.customId && subcomponent.style !== ButtonStyles.Link) { throw new Error(Errors.BUTTON_REQUIRES_CUSTOM_ID); } From 5d7b2c75a130ffc32920c4f25d663f4db4298603 Mon Sep 17 00:00:00 2001 From: ITOH Date: Wed, 9 Jun 2021 18:49:38 +0200 Subject: [PATCH 2/5] change: use enum value here --- src/types/messages/components/button_component.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/types/messages/components/button_component.ts b/src/types/messages/components/button_component.ts index 5ccf77349..7213cbefa 100644 --- a/src/types/messages/components/button_component.ts +++ b/src/types/messages/components/button_component.ts @@ -1,10 +1,11 @@ import { SnakeCasedPropertiesDeep } from "../../util.ts"; import { ButtonStyles } from "./button_styles.ts"; +import { DiscordMessageComponentTypes } from "./message_component_types.ts"; // TODO: add docs link export interface ButtonComponent { /** All button components have type 2 */ - type: 2; + type: DiscordMessageComponentTypes.Button; /** for what the button says (max 80 characters) */ label: string; /** a dev-defined unique string sent on click (max 100 characters). type 5 Link buttons can not have a custom_id */ From 0ae4a5f9c3fb317c60d7e808a2fd6d328ff1454f Mon Sep 17 00:00:00 2001 From: ITOH Date: Wed, 9 Jun 2021 18:53:48 +0200 Subject: [PATCH 3/5] add dock link stuff --- src/types/messages/components/action_row.ts | 2 +- src/types/messages/components/button_component.ts | 3 ++- src/types/messages/components/button_styles.ts | 2 +- src/types/messages/components/message_component_types.ts | 2 +- src/types/messages/components/select_data.ts | 1 + src/types/messages/components/select_menu.ts | 1 + src/types/messages/components/select_option.ts | 1 + 7 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/types/messages/components/action_row.ts b/src/types/messages/components/action_row.ts index 09e9f2a8d..83b5f92e0 100644 --- a/src/types/messages/components/action_row.ts +++ b/src/types/messages/components/action_row.ts @@ -1,7 +1,7 @@ import { ButtonComponent } from "./button_component.ts"; import { SelectMenuComponent } from "./select_menu.ts"; -// TODO: add docs link +/** https://discord.com/developers/docs/interactions/message-components#actionrow */ export interface ActionRow { /** Action rows are a group of buttons. */ type: 1; diff --git a/src/types/messages/components/button_component.ts b/src/types/messages/components/button_component.ts index 7213cbefa..521f2fdcc 100644 --- a/src/types/messages/components/button_component.ts +++ b/src/types/messages/components/button_component.ts @@ -2,7 +2,7 @@ import { SnakeCasedPropertiesDeep } from "../../util.ts"; import { ButtonStyles } from "./button_styles.ts"; import { DiscordMessageComponentTypes } from "./message_component_types.ts"; -// TODO: add docs link +/** https://discord.com/developers/docs/interactions/message-components#buttons-button-object */ export interface ButtonComponent { /** All button components have type 2 */ type: DiscordMessageComponentTypes.Button; @@ -29,4 +29,5 @@ export interface ButtonComponent { disabled?: boolean; } +// TODO: v12 remove this export type DiscordButtonComponent = SnakeCasedPropertiesDeep; diff --git a/src/types/messages/components/button_styles.ts b/src/types/messages/components/button_styles.ts index d0fc2b33c..dc60d3903 100644 --- a/src/types/messages/components/button_styles.ts +++ b/src/types/messages/components/button_styles.ts @@ -1,4 +1,4 @@ -// TODO: add docs link +/** https://discord.com/developers/docs/interactions/message-components#buttons-button-styles */ export enum DiscordButtonStyles { /** A blurple button */ Primary = 1, diff --git a/src/types/messages/components/message_component_types.ts b/src/types/messages/components/message_component_types.ts index 410653c0b..30a15fa63 100644 --- a/src/types/messages/components/message_component_types.ts +++ b/src/types/messages/components/message_component_types.ts @@ -1,4 +1,4 @@ -// TODO: add docs link +/** https://discord.com/developers/docs/interactions/message-components#component-types */ export enum DiscordMessageComponentTypes { /** A row of components at the bottom of a message */ ActionRow = 1, diff --git a/src/types/messages/components/select_data.ts b/src/types/messages/components/select_data.ts index c347bd0a9..03aceaf2e 100644 --- a/src/types/messages/components/select_data.ts +++ b/src/types/messages/components/select_data.ts @@ -1,5 +1,6 @@ import { DiscordMessageComponentTypes } from "./message_component_types.ts"; +// TODO: add dock link export interface SelectMenuData { /** The type of component */ componentType: DiscordMessageComponentTypes.SelectMenu; diff --git a/src/types/messages/components/select_menu.ts b/src/types/messages/components/select_menu.ts index 6f2afbd52..92cb75ccc 100644 --- a/src/types/messages/components/select_menu.ts +++ b/src/types/messages/components/select_menu.ts @@ -1,6 +1,7 @@ import { DiscordMessageComponentTypes } from "./message_component_types.ts"; import { SelectOption } from "./select_option.ts"; +// TODO: add dock link export interface SelectMenuComponent { type: DiscordMessageComponentTypes.SelectMenu; /** A custom identifier for this component. Maximum 100 characters. */ diff --git a/src/types/messages/components/select_option.ts b/src/types/messages/components/select_option.ts index 390226a31..8779761d5 100644 --- a/src/types/messages/components/select_option.ts +++ b/src/types/messages/components/select_option.ts @@ -1,3 +1,4 @@ +// TODO: add dock link export interface SelectOption { /** The user-facing name of the option. Maximum 25 characters. */ label: string; From 8a1d400932f7786ae43520cc3ec0514a86aac6a3 Mon Sep 17 00:00:00 2001 From: ITOH Date: Wed, 9 Jun 2021 18:53:56 +0200 Subject: [PATCH 4/5] change: use enum for type --- src/types/messages/components/button_data.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/types/messages/components/button_data.ts b/src/types/messages/components/button_data.ts index 6080abfe8..5eccf4569 100644 --- a/src/types/messages/components/button_data.ts +++ b/src/types/messages/components/button_data.ts @@ -1,6 +1,8 @@ +import { DiscordMessageComponentTypes } from "./message_component_types.ts"; + export interface ButtonData { /** with the value you defined for this component */ customId: string; /** The type of this component */ - componentType: 2; + componentType: DiscordMessageComponentTypes.Button; } From a7ee22a1556eaafd6df24563fd3a7ea8708d3731 Mon Sep 17 00:00:00 2001 From: ITOH Date: Wed, 9 Jun 2021 19:01:42 +0200 Subject: [PATCH 5/5] fix: dispatch guild#memberCount --- src/util/dispatch_requirements.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/util/dispatch_requirements.ts b/src/util/dispatch_requirements.ts index b790ab68c..612024f60 100644 --- a/src/util/dispatch_requirements.ts +++ b/src/util/dispatch_requirements.ts @@ -81,7 +81,10 @@ export async function dispatchRequirements(data: DiscordGatewayPayload, shardId: ); } - const guild = await structures.createDiscordenoGuild(rawGuild, shardId); + const guild = await structures.createDiscordenoGuild( + { ...rawGuild, memberCount: rawGuild.approximateMemberCount }, + shardId + ); // Add to cache cache.guilds.set(id, guild);