const { REST, Routes } = require('discord.js'); require('dotenv').config(); const commands = [ { name: 'ticket', description: 'Ticket management system', options: [ { name: 'create', type: 1, description: 'Create a new support ticket', options: [ { name: 'reason', type: 3, description: 'Brief reason for opening this ticket', required: true, }, ], }, { name: 'close', type: 1, description: 'Close the current ticket', }, ], }, { name: 'admin', description: 'Admin monitoring commands', default_member_permissions: '8', options: [ { name: 'status', type: 1, description: 'View bot status and statistics', }, { name: 'heat', type: 1, description: 'Check heat level of a user', options: [ { name: 'user', type: 6, description: 'User to check', required: true, }, ], }, { name: 'servers', type: 1, description: 'View all servers the bot is in', }, { name: 'threats', type: 1, description: 'View current heat map (active threats)', }, { name: 'federation', type: 1, description: 'View federation role mappings', }, ], }, { name: 'federation', description: 'Manage cross-server role sync', default_member_permissions: '8', options: [ { name: 'link', type: 1, description: 'Link a role for cross-server syncing', options: [ { name: 'role', type: 8, description: 'Role to sync across realms', required: true, }, ], }, { name: 'unlink', type: 1, description: 'Remove a role from cross-server syncing', options: [ { name: 'role', type: 8, description: 'Role to remove from sync', required: true, }, ], }, { name: 'list', type: 1, description: 'List all linked roles', }, ], }, { name: 'status', description: 'View network status and bot health', }, ]; const token = process.env.DISCORD_BOT_TOKEN || process.env.DISCORD_TOKEN; const rest = new REST({ version: '10' }).setToken(token); (async () => { try { console.log('Registering slash commands...'); const data = await rest.put( Routes.applicationCommands(process.env.DISCORD_CLIENT_ID), { body: commands } ); console.log(`Successfully registered ${data.length} commands`); } catch (error) { console.error('Error registering commands:', error); } })();