import type { DiscordApplicationCommand } from '@discordeno/types'; import type { Bot } from '../bot.js'; import type { ApplicationCommand } from './types.js'; export function transformApplicationCommand(bot: Bot, payload: DiscordApplicationCommand): ApplicationCommand { const applicationCommand = { id: bot.transformers.snowflake(payload.id), applicationId: bot.transformers.snowflake(payload.application_id), guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined, name: payload.name, nameLocalizations: payload.name_localizations ?? undefined, description: payload.description, descriptionLocalizations: payload.description_localizations ?? undefined, defaultMemberPermissions: payload.default_member_permissions ? bot.transformers.snowflake(payload.default_member_permissions) : undefined, dmPermission: payload.dm_permission ?? false, type: payload.type, version: payload.version, options: payload.options?.map((option) => bot.transformers.applicationCommandOption(bot, option)), } as ApplicationCommand; return bot.transformers.customizers.applicationCommand(bot, payload, applicationCommand); }