diff --git a/package.json b/package.json index 3db1ccc..54242f7 100644 --- a/package.json +++ b/package.json @@ -33,5 +33,8 @@ "packageManager": "^yarn@1.22.19", "engines": { "node": ">=16" + }, + "dependencies": { + "discord-api-types": "^0.37.73" } } diff --git a/packages/builders/src/commands/CommandGroupBuilder.ts b/packages/builders/src/commands/CommandGroupBuilder.ts index 810cfb9..eb5c962 100644 --- a/packages/builders/src/commands/CommandGroupBuilder.ts +++ b/packages/builders/src/commands/CommandGroupBuilder.ts @@ -49,10 +49,19 @@ export class CommandGroupBuilder extends ChatInputCommandBuilderBase< description: this.description, description_localizations: this.description_localizations, - options: this.options.map((option) => option.toJSON()), + options: this.options.map((option) => { + if ("toJSON" in option) { + return option.toJSON(); + } else { + return option; + } + }), dm_permission: this.dm_permission, - default_member_permissions: this.default_member_permissions.toJSON() + default_member_permissions: + "toJSON" in this.default_member_permissions + ? this.default_member_permissions.toJSON() + : this.default_member_permissions }; } } diff --git a/packages/builders/src/commands/ContextMenuCommandBuilder.ts b/packages/builders/src/commands/ContextMenuCommandBuilder.ts index 0d7188c..40d5bdb 100644 --- a/packages/builders/src/commands/ContextMenuCommandBuilder.ts +++ b/packages/builders/src/commands/ContextMenuCommandBuilder.ts @@ -23,7 +23,10 @@ export class UserCommandBuilder extends CommandBuilderBase< type: this.type, dm_permission: this.dm_permission, - default_member_permissions: this.default_member_permissions.toJSON() + default_member_permissions: + "toJSON" in this.default_member_permissions + ? this.default_member_permissions.toJSON() + : this.default_member_permissions }; } diff --git a/packages/builders/src/commands/SlashCommandBuilder.ts b/packages/builders/src/commands/SlashCommandBuilder.ts index e9db58f..c6bd8b3 100644 --- a/packages/builders/src/commands/SlashCommandBuilder.ts +++ b/packages/builders/src/commands/SlashCommandBuilder.ts @@ -131,10 +131,19 @@ export class SlashCommandBuilder extends ChatInputCommandBuilderBase option.toJSON()), + options: this.options.map((option) => { + if ("toJSON" in option) { + return option.toJSON(); + } else { + return option; + } + }), dm_permission: this.dm_permission, - default_member_permissions: this.default_member_permissions.toJSON() + default_member_permissions: + "toJSON" in this.default_member_permissions + ? this.default_member_permissions.toJSON() + : this.default_member_permissions }; } } diff --git a/yarn.lock b/yarn.lock index 4321db7..5f9933e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2668,6 +2668,11 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +discord-api-types@^0.37.73: + version "0.37.73" + resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.73.tgz#55637865a1803cb1ac273c244ff58faeca1c594f" + integrity sha512-mi915PBUxF1G233EwHKNegNAF/tVfiSRN9+hKwu0G3NpbtLXvWUxCuCjgSyY+QmQ6/Hvpqm0xs5HxzfvhAS20A== + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"