diff --git a/src/structures/CommandInteractionOptionResolver.js b/src/structures/CommandInteractionOptionResolver.js index 10da7b9957ac..1d9b7c56bbcd 100644 --- a/src/structures/CommandInteractionOptionResolver.js +++ b/src/structures/CommandInteractionOptionResolver.js @@ -240,10 +240,19 @@ class CommandInteractionOptionResolver { return option?.message ?? null; } + /** + * The full autocomplete option object. + * @typedef {Object} AutocompleteFocusedOption + * @property {string} name The name of the option + * @property {ApplicationCommandOptionType} type The type of the application command option + * @property {string} value The value of the option + * @property {boolean} focused Whether this option is currently in focus for autocomplete + */ + /** * Gets the focused option. * @param {boolean} [getFull=false] Whether to get the full option object - * @returns {string|number|ApplicationCommandOptionChoice} + * @returns {string|AutocompleteFocusedOption} * The value of the option, or the whole option if getFull is true */ getFocused(getFull = false) { diff --git a/typings/index.d.ts b/typings/index.d.ts index 738f2eb13209..253ff535cf8b 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -837,8 +837,8 @@ export class CommandInteractionOptionResolver['member' | 'role' | 'user']> | null; public getMessage(name: string, required: true): NonNullable['message']>; public getMessage(name: string, required?: boolean): NonNullable['message']> | null; - public getFocused(getFull: true): ApplicationCommandOptionChoiceData; - public getFocused(getFull?: boolean): string | number; + public getFocused(getFull: true): AutocompleteFocusedOption; + public getFocused(getFull?: boolean): string; public getAttachment(name: string, required: true): NonNullable['attachment']>; public getAttachment( name: string, @@ -4358,6 +4358,18 @@ export interface ConstantsClientApplicationAssetTypes { BIG: 2; } +export type AutocompleteFocusedOption = Pick & { + focused: true; + type: + | 'STRING' + | 'INTEGER' + | 'NUMBER' + | ApplicationCommandOptionTypes.STRING + | ApplicationCommandOptionTypes.INTEGER + | ApplicationCommandOptionTypes.NUMBER; + value: string; +}; + export interface ConstantsColors { DEFAULT: 0x000000; WHITE: 0xffffff;