Files
blitzkit/src/core/autocomplete/tanks.ts
T

27 lines
769 B
TypeScript
Raw Normal View History

2023-05-13 21:42:40 +00:00
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>),
)
: [],
);
}