mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 12:03:31 +01:00
fix(CommandInteraction): change options type from Collection to array (#6139)
This commit is contained in:
3
typings/index.d.ts
vendored
3
typings/index.d.ts
vendored
@@ -416,7 +416,6 @@ export class CommandInteraction extends Interaction {
|
|||||||
public reply(options: InteractionReplyOptions & { fetchReply: true }): Promise<Message | APIMessage>;
|
public reply(options: InteractionReplyOptions & { fetchReply: true }): Promise<Message | APIMessage>;
|
||||||
public reply(options: string | MessagePayload | InteractionReplyOptions): Promise<void>;
|
public reply(options: string | MessagePayload | InteractionReplyOptions): Promise<void>;
|
||||||
private transformOption(option: unknown, resolved: unknown): CommandInteractionOption;
|
private transformOption(option: unknown, resolved: unknown): CommandInteractionOption;
|
||||||
private _createOptionsCollection(options: unknown, resolved: unknown): Collection<string, CommandInteractionOption>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export class CommandInteractionOptionResolver {
|
export class CommandInteractionOptionResolver {
|
||||||
@@ -3024,7 +3023,7 @@ export interface CommandInteractionOption {
|
|||||||
name: string;
|
name: string;
|
||||||
type: ApplicationCommandOptionType;
|
type: ApplicationCommandOptionType;
|
||||||
value?: string | number | boolean;
|
value?: string | number | boolean;
|
||||||
options?: Collection<string, CommandInteractionOption>;
|
options?: CommandInteractionOption[];
|
||||||
user?: User;
|
user?: User;
|
||||||
member?: GuildMember | APIInteractionDataResolvedGuildMember;
|
member?: GuildMember | APIInteractionDataResolvedGuildMember;
|
||||||
channel?: GuildChannel | APIInteractionDataResolvedChannel;
|
channel?: GuildChannel | APIInteractionDataResolvedChannel;
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ import {
|
|||||||
ClientApplication,
|
ClientApplication,
|
||||||
ClientUser,
|
ClientUser,
|
||||||
Collection,
|
Collection,
|
||||||
|
CommandInteraction,
|
||||||
|
CommandInteractionOption,
|
||||||
|
CommandInteractionOptionResolver,
|
||||||
Constants,
|
Constants,
|
||||||
DMChannel,
|
DMChannel,
|
||||||
Guild,
|
Guild,
|
||||||
@@ -646,4 +649,25 @@ client.on('messageReactionAdd', async reaction => {
|
|||||||
|
|
||||||
// Test interactions
|
// Test interactions
|
||||||
declare const interaction: Interaction;
|
declare const interaction: Interaction;
|
||||||
|
declare const booleanValue: boolean;
|
||||||
if (interaction.inGuild()) assertType<Snowflake>(interaction.guildId);
|
if (interaction.inGuild()) assertType<Snowflake>(interaction.guildId);
|
||||||
|
|
||||||
|
client.on('interactionCreate', async interaction => {
|
||||||
|
if (interaction.isCommand()) {
|
||||||
|
assertType<CommandInteraction>(interaction);
|
||||||
|
assertType<CommandInteractionOptionResolver>(interaction.options);
|
||||||
|
|
||||||
|
const optionalOption = interaction.options.get('name');
|
||||||
|
const requiredOption = interaction.options.get('name', true);
|
||||||
|
assertType<CommandInteractionOption | null>(optionalOption);
|
||||||
|
assertType<CommandInteractionOption>(requiredOption);
|
||||||
|
assertType<CommandInteractionOption[] | undefined>(requiredOption.options);
|
||||||
|
|
||||||
|
assertType<string | null>(interaction.options.getString('name', booleanValue));
|
||||||
|
assertType<string | null>(interaction.options.getString('name', false));
|
||||||
|
assertType<string>(interaction.options.getString('name', true));
|
||||||
|
|
||||||
|
assertType<string>(interaction.options.getSubCommand());
|
||||||
|
assertType<string>(interaction.options.getSubCommandGroup());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user