AutocompleteHandler
Base class for an autocomplete handler on the HTTP transport.
Pass the command route(s) from the generated registry as the generic. Branch on the focused field with this.matchthis.match, read already-entered sibling options with this.optionsthis.options, and find which command fired with this.routethis.route.
abstract class AutocompleteHandler<
Route extends keyof SlashOptionRegistry
> extends BaseHandler<APIApplicationCommandAutocompleteInteraction, Core>abstract class AutocompleteHandler<
Route extends keyof SlashOptionRegistry
> extends BaseHandler<APIApplicationCommandAutocompleteInteraction, Core>Member visibility
Filter class members by access level.
AutocompleteHandler(
event: APIApplicationCommandAutocompleteInteraction,
core: Core,
dispatch?: DispatchContext
)AutocompleteHandler(
event: APIApplicationCommandAutocompleteInteraction,
core: Core,
dispatch?: DispatchContext
)Route
One or more route keys from SlashOptionRegistrySlashOptionRegistry, e.g. 'search''search'.
Route extends keyof SlashOptionRegistryRoute extends keyof SlashOptionRegistryprotected focused: FocusedField<Route>protected focused: FocusedField<Route>protected options: AutocompleteOptions<Route>protected options: AutocompleteOptions<Route>protected route: Routeprotected route: RouteRun the arm for the focused field. An autocomplete always dispatches by which field is focused, so match is how you read it.
Provide one arm per autocompletable field across the registered commands, keyed by field name. Each arm receives the focused partial value and a respondrespond typed to that field's choice value. The arms must cover every autocompletable field, a missing field or an unknown key is a compile error. A focused field with no arm, only reachable from a stale-deployed command, throws at runtime.
protected async match<Ret>(
arms: FocusedArms<Route, Ret>
): Promise<Ret>protected async match<Ret>(
arms: FocusedArms<Route, Ret>
): Promise<Ret>armsOne handler per autocompletable field, keyed by field name.
Send autocomplete suggestions, callback type 8. Prefer matchmatch, which restricts each field's choices to its declared type.
protected async respond(
choices: readonly APIApplicationCommandOptionChoice[]
): Promise<void>protected async respond(
choices: readonly APIApplicationCommandOptionChoice[]
): Promise<void>