From 42c2ba799f0f69dc7112b2345031a293facead39 Mon Sep 17 00:00:00 2001 From: sirpiglr <49359077-sirpiglr@users.noreply.replit.com> Date: Sun, 7 Dec 2025 22:35:55 +0000 Subject: [PATCH] Update command registration to preserve existing entry points Modify the command registration script to fetch and preserve existing entry point commands while registering new ones, using environment variables for DISCORD_BOT_TOKEN and DISCORD_CLIENT_ID. Replit-Commit-Author: Agent Replit-Commit-Session-Id: e72fc1b7-94bd-4d6c-801f-cbac2fae245c Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 713e3b6c-1c1e-474c-8cab-f254e83be29b Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3bdfff67-975a-46ad-9845-fbb6b4a4c4b5/e72fc1b7-94bd-4d6c-801f-cbac2fae245c/MSxeu36 Replit-Helium-Checkpoint-Created: true --- aethex-bot/scripts/register-commands.js | 33 ++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/aethex-bot/scripts/register-commands.js b/aethex-bot/scripts/register-commands.js index 9f72df0..03076a3 100644 --- a/aethex-bot/scripts/register-commands.js +++ b/aethex-bot/scripts/register-commands.js @@ -110,19 +110,44 @@ const commands = [ }, ]; -const token = process.env.DISCORD_BOT_TOKEN || process.env.DISCORD_TOKEN; +const token = process.env.DISCORD_BOT_TOKEN; +const clientId = process.env.DISCORD_CLIENT_ID; + +if (!token) { + console.error('Missing DISCORD_BOT_TOKEN'); + process.exit(1); +} + +if (!clientId) { + console.error('Missing DISCORD_CLIENT_ID'); + process.exit(1); +} + const rest = new REST({ version: '10' }).setToken(token); (async () => { try { - console.log('Registering slash commands...'); + console.log('Fetching existing commands...'); + + const existingCommands = await rest.get( + Routes.applicationCommands(clientId) + ); + + console.log(`Found ${existingCommands.length} existing commands`); + + const entryPointCommands = existingCommands.filter(cmd => cmd.type === 4); + + const allCommands = [...commands, ...entryPointCommands]; + + console.log(`Registering ${commands.length} commands (preserving ${entryPointCommands.length} entry points)...`); const data = await rest.put( - Routes.applicationCommands(process.env.DISCORD_CLIENT_ID), - { body: commands } + Routes.applicationCommands(clientId), + { body: allCommands } ); console.log(`Successfully registered ${data.length} commands`); + data.forEach(cmd => console.log(` - /${cmd.name}`)); } catch (error) { console.error('Error registering commands:', error); }