Files
blitzkit/src/LEGACY_core/discord/autocompleteClan.ts
T

28 lines
926 B
TypeScript
Raw Normal View History

2023-05-16 02:02:50 +00:00
import {
ApplicationCommandOptionChoiceData,
AutocompleteInteraction,
CacheType,
} from 'discord.js';
import { REGION_NAMES } from '../../constants/regions';
2023-10-14 11:15:42 -05:00
import searchClansAcrossRegions from '../../core/blitz/searchClansAcrossRegions';
2023-05-16 02:02:50 +00:00
2023-06-27 02:22:28 +00:00
export default async function autocompleteClan(
2023-05-16 02:02:50 +00:00
interaction: AutocompleteInteraction<CacheType>,
) {
const focusedOption = interaction.options.getFocused(true);
if (focusedOption.name !== 'clan') return;
if (focusedOption.value.length < 2) return interaction.respond([]);
2023-10-14 11:15:42 -05:00
const players = await searchClansAcrossRegions(focusedOption.value);
2023-05-16 02:02:50 +00:00
await interaction.respond(
players
? players.map(
(player) =>
({
2023-09-07 03:24:07 +00:00
name: `${player.name} (${REGION_NAMES[player.region]})`,
value: `${player.region}/${player.clan_id}`,
2023-07-11 19:54:57 +00:00
}) satisfies ApplicationCommandOptionChoiceData<string>,
2023-05-16 02:02:50 +00:00
)
: [],
);
}