fix(applicationcommandmanager): explicitly allow passing builders to methods (v13)
v13.9 #8229
This commit is contained in:
parent
0e50134def
commit
1a656854c0
@ -55,6 +55,13 @@ class ApplicationCommandManager extends CachedManager {
|
||||
* @typedef {ApplicationCommand|Snowflake} ApplicationCommandResolvable
|
||||
*/
|
||||
|
||||
/* eslint-disable max-len */
|
||||
/**
|
||||
* Data that resolves to the data of an ApplicationCommand
|
||||
* @typedef {ApplicationCommandDataResolvable|SlashCommandBuilder|ContextMenuCommandBuilder} ApplicationCommandDataResolvable
|
||||
*/
|
||||
/* eslint-enable max-len */
|
||||
|
||||
/**
|
||||
* Options used to fetch data from Discord
|
||||
* @typedef {Object} BaseFetchOptions
|
||||
@ -111,7 +118,7 @@ class ApplicationCommandManager extends CachedManager {
|
||||
|
||||
/**
|
||||
* Creates an application command.
|
||||
* @param {ApplicationCommandData|APIApplicationCommand} command The command
|
||||
* @param {ApplicationCommandDataResolvable} command The command
|
||||
* @param {Snowflake} [guildId] The guild's id to create this command in,
|
||||
* ignored when using a {@link GuildApplicationCommandManager}
|
||||
* @returns {Promise<ApplicationCommand>}
|
||||
@ -134,7 +141,7 @@ class ApplicationCommandManager extends CachedManager {
|
||||
|
||||
/**
|
||||
* Sets all the commands for this application or guild.
|
||||
* @param {ApplicationCommandData[]|APIApplicationCommand[]} commands The commands
|
||||
* @param {ApplicationCommandDataResolvable[]} commands The commands
|
||||
* @param {Snowflake} [guildId] The guild's id to create the commands in,
|
||||
* ignored when using a {@link GuildApplicationCommandManager}
|
||||
* @returns {Promise<Collection<Snowflake, ApplicationCommand>>}
|
||||
@ -165,7 +172,7 @@ class ApplicationCommandManager extends CachedManager {
|
||||
/**
|
||||
* Edits an application command.
|
||||
* @param {ApplicationCommandResolvable} command The command to edit
|
||||
* @param {Partial<ApplicationCommandData|APIApplicationCommand>} data The data to update the command with
|
||||
* @param {Partial<ApplicationCommandDataResolvable>} data The data to update the command with
|
||||
* @param {Snowflake} [guildId] The guild's id where the command registered,
|
||||
* ignored when using a {@link GuildApplicationCommandManager}
|
||||
* @returns {Promise<ApplicationCommand>}
|
||||
@ -214,7 +221,7 @@ class ApplicationCommandManager extends CachedManager {
|
||||
|
||||
/**
|
||||
* Transforms an {@link ApplicationCommandData} object into something that can be used with the API.
|
||||
* @param {ApplicationCommandData|APIApplicationCommand} command The command to transform
|
||||
* @param {ApplicationCommandDataResolvable} command The command to transform
|
||||
* @returns {APIApplicationCommand}
|
||||
* @private
|
||||
*/
|
||||
@ -247,3 +254,13 @@ class ApplicationCommandManager extends CachedManager {
|
||||
}
|
||||
|
||||
module.exports = ApplicationCommandManager;
|
||||
|
||||
/**
|
||||
* @external SlashCommandBuilder
|
||||
* @see {@link https://discord.js.org/#/docs/builders/main/class/SlashCommandBuilder}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @external ContextMenuCommandBuilder
|
||||
* @see {@link https://discord.js.org/#/docs/builders/main/class/ContextMenuCommandBuilder}
|
||||
*/
|
||||
|
15
typings/index.d.ts
vendored
15
typings/index.d.ts
vendored
@ -3,13 +3,16 @@ import {
|
||||
bold,
|
||||
channelMention,
|
||||
codeBlock,
|
||||
ContextMenuCommandBuilder,
|
||||
formatEmoji,
|
||||
hideLinkEmbed,
|
||||
hyperlink,
|
||||
inlineCode,
|
||||
italic,
|
||||
JSONEncodable,
|
||||
quote,
|
||||
roleMention,
|
||||
SlashCommandBuilder,
|
||||
spoiler,
|
||||
strikethrough,
|
||||
time,
|
||||
@ -3208,7 +3211,11 @@ export abstract class CachedManager<K, Holds, R> extends DataManager<K, Holds, R
|
||||
private _add(data: unknown, cache?: boolean, { id, extras }?: { id: K; extras: unknown[] }): Holds;
|
||||
}
|
||||
|
||||
export type ApplicationCommandDataResolvable = ApplicationCommandData | RESTPostAPIApplicationCommandsJSONBody;
|
||||
export type ApplicationCommandDataResolvable =
|
||||
| ApplicationCommandData
|
||||
| RESTPostAPIApplicationCommandsJSONBody
|
||||
| SlashCommandBuilder
|
||||
| ContextMenuCommandBuilder;
|
||||
|
||||
export class ApplicationCommandManager<
|
||||
ApplicationCommandScope = ApplicationCommand<{ guild: GuildResolvable }>,
|
||||
@ -3251,9 +3258,7 @@ export class ApplicationCommandManager<
|
||||
commands: ApplicationCommandDataResolvable[],
|
||||
guildId: Snowflake,
|
||||
): Promise<Collection<Snowflake, ApplicationCommand>>;
|
||||
private static transformCommand(
|
||||
command: ApplicationCommandData,
|
||||
): Omit<APIApplicationCommand, 'id' | 'application_id' | 'guild_id'>;
|
||||
private static transformCommand(command: ApplicationCommandDataResolvable): RESTPostAPIApplicationCommandsJSONBody;
|
||||
}
|
||||
|
||||
export class ApplicationCommandPermissionsManager<
|
||||
@ -3369,7 +3374,7 @@ export class GuildApplicationCommandManager extends ApplicationCommandManager<Ap
|
||||
public delete(command: ApplicationCommandResolvable): Promise<ApplicationCommand | null>;
|
||||
public edit(
|
||||
command: ApplicationCommandResolvable,
|
||||
data: ApplicationCommandDataResolvable,
|
||||
data: Partial<ApplicationCommandDataResolvable>,
|
||||
): Promise<ApplicationCommand>;
|
||||
public fetch(id: Snowflake, options?: FetchGuildApplicationCommandFetchOptions): Promise<ApplicationCommand>;
|
||||
public fetch(options: FetchGuildApplicationCommandFetchOptions): Promise<Collection<Snowflake, ApplicationCommand>>;
|
||||
|
Loading…
Reference in New Issue
Block a user