import { ApplicationCommandOptionChoiceData, AutocompleteInteraction, CacheType, } from 'discord.js'; import { REGION_DOMAIN_NAMES } from '../../constants/regions'; import listClans from '../blitz/listClans'; export default async function autocompleteClan( interaction: AutocompleteInteraction, ) { const focusedOption = interaction.options.getFocused(true); if (focusedOption.name !== 'clan') return; const players = await listClans(focusedOption.value); await interaction.respond( players ? players.map( (player) => ({ name: `${player.name} (${REGION_DOMAIN_NAMES[player.server]})`, value: `${player.server}/${player.clan_id}`, }) satisfies ApplicationCommandOptionChoiceData, ) : [], ); console.log(`Clan autocomplete for ${focusedOption.value}`); }