mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13: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: string | MessagePayload | InteractionReplyOptions): Promise<void>;
|
||||
private transformOption(option: unknown, resolved: unknown): CommandInteractionOption;
|
||||
private _createOptionsCollection(options: unknown, resolved: unknown): Collection<string, CommandInteractionOption>;
|
||||
}
|
||||
|
||||
export class CommandInteractionOptionResolver {
|
||||
@@ -3024,7 +3023,7 @@ export interface CommandInteractionOption {
|
||||
name: string;
|
||||
type: ApplicationCommandOptionType;
|
||||
value?: string | number | boolean;
|
||||
options?: Collection<string, CommandInteractionOption>;
|
||||
options?: CommandInteractionOption[];
|
||||
user?: User;
|
||||
member?: GuildMember | APIInteractionDataResolvedGuildMember;
|
||||
channel?: GuildChannel | APIInteractionDataResolvedChannel;
|
||||
|
||||
@@ -8,6 +8,9 @@ import {
|
||||
ClientApplication,
|
||||
ClientUser,
|
||||
Collection,
|
||||
CommandInteraction,
|
||||
CommandInteractionOption,
|
||||
CommandInteractionOptionResolver,
|
||||
Constants,
|
||||
DMChannel,
|
||||
Guild,
|
||||
@@ -646,4 +649,25 @@ client.on('messageReactionAdd', async reaction => {
|
||||
|
||||
// Test interactions
|
||||
declare const interaction: Interaction;
|
||||
declare const booleanValue: boolean;
|
||||
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