mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-11-14 05:06:11 +01:00
27 lines
769 B
TypeScript
27 lines
769 B
TypeScript
import {
|
|||
|
|
ApplicationCommandOptionChoiceData,
|
||
|
|
AutocompleteInteraction,
|
||
|
|
CacheType,
|
||
|
|
} from 'discord.js';
|
||
|
|
import { go } from 'fuzzysort';
|
||
|
|
import { tanks } from '../../utilities/tankopedia.js';
|
||
|
|
|
||
|
|
export default async function tanksAutocomplete(
|
||
|
|
interaction: AutocompleteInteraction<CacheType>,
|
||
|
|
) {
|
||
|
|
const focusedValue = interaction.options.getFocused();
|
||
|
|
|
||
|
|
await interaction.respond(
|
||
|
|
focusedValue
|
||
|
|
? go(focusedValue, tanks, { keys: ['name'], limit: 10 }).map(
|
||
|
|
(item) =>
|
||
|
|
({
|
||
|
|
name: item.obj.name
|
||
|
|
? item.obj.name
|
||
|
|
: `Unknown Tank ${item.obj.tank_id}`,
|
||
|
|
value: `${item.obj.tank_id}`,
|
||
|
|
} satisfies ApplicationCommandOptionChoiceData<string>),
|
||
|
|
)
|
||
|
|
: [],
|
||
|
|
);
|
||
|
|
}
|