diff --git a/packages/bot/src/core/discord/autocompleteClan/index.ts b/packages/bot/src/core/discord/autocompleteClan/index.ts index a36c15713..7ff1c2def 100644 --- a/packages/bot/src/core/discord/autocompleteClan/index.ts +++ b/packages/bot/src/core/discord/autocompleteClan/index.ts @@ -36,7 +36,7 @@ export async function autocompleteClan( return { name, - value: `${clan.region}/${clan.clan_id}`, + value: `${clan.clan_id}`, } satisfies ApplicationCommandOptionChoiceData; }) : [], diff --git a/packages/bot/src/core/discord/autocompleteUsername.ts b/packages/bot/src/core/discord/autocompleteUsername.ts index 2e5d9b18f..7c4c1dfe1 100644 --- a/packages/bot/src/core/discord/autocompleteUsername.ts +++ b/packages/bot/src/core/discord/autocompleteUsername.ts @@ -39,7 +39,7 @@ export async function autocompleteUsername( return { name, - value: `${player.region}/${player.account_id}`, + value: `${player.account_id}`, } satisfies ApplicationCommandOptionChoiceData; }) : [], diff --git a/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts b/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts index c8b269d7d..16d03ffaf 100644 --- a/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts +++ b/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts @@ -1,10 +1,9 @@ -import { Region, searchPlayersAcrossRegions } from '@blitzkit/core'; +import { idToRegion, Region, searchPlayersAcrossRegions } from '@blitzkit/core'; import { CacheType, ChatInputCommandInteraction } from 'discord.js'; import markdownEscape from 'markdown-escape'; import { getBlitzFromDiscord } from '../../blitzkit/getBlitzFromDiscord'; -import { translator } from '../../localization/translator'; -import { serverAndIdPattern } from './constants'; import { UserError } from '../../blitzkit/userError'; +import { translator } from '../../localization/translator'; export interface ResolvedPlayer { region: Region; @@ -17,14 +16,12 @@ export async function resolvePlayerFromCommand( const { t, translate } = translator(interaction.locale); const commandUsername = interaction.options.getString('username'); - if (commandUsername) { - if (serverAndIdPattern.test(commandUsername)) { - const [server, accountId] = commandUsername.split('/'); + if (commandUsername !== null) { + const id = parseInt(commandUsername); - return { - region: server as Region, - id: Number(accountId), - } satisfies ResolvedPlayer; + if (!isNaN(id)) { + const region = idToRegion(id); + return { region, id } satisfies ResolvedPlayer; } else { const accounts = await searchPlayersAcrossRegions(commandUsername);