#!/usr/bin/env node /** * Add Emoji Prefixes to Categories * Adds consistent emoji prefixes to non-server categories * * Created: April 8, 2026 * Chronicler: #71 */ require('dotenv').config({ path: '/opt/arbiter-3.0/.env' }); const { Client, GatewayIntentBits, ChannelType } = require('discord.js'); const RENAMES = [ { from: 'Welcome & Info', to: '📢 Welcome & Info' }, { from: 'Community Hub', to: '💬 Community Hub' }, { from: 'Voice Channels', to: '🔊 Voice Channels' }, { from: 'Support', to: '📞 Support' } ]; function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function main() { console.log('🏷️ Add Emoji Prefixes to Categories'); console.log('====================================='); const client = new Client({ intents: [GatewayIntentBits.Guilds] }); try { await client.login(process.env.DISCORD_BOT_TOKEN); await new Promise(resolve => { if (client.isReady()) resolve(); else client.once('ready', resolve); }); console.log(`✅ Logged in as ${client.user.tag}`); const guild = client.guilds.cache.get(process.env.GUILD_ID); await guild.channels.fetch(); console.log(`✅ Found guild: ${guild.name}`); console.log(''); let renamed = 0; for (const rename of RENAMES) { const category = guild.channels.cache.find( ch => ch.type === ChannelType.GuildCategory && ch.name === rename.from ); if (!category) { console.log(`⚠️ Not found: ${rename.from}`); continue; } await category.setName(rename.to, 'Adding emoji prefix - Chronicler #71'); console.log(`✅ ${rename.from} → ${rename.to}`); renamed++; await sleep(500); } console.log(''); console.log(`✅ Renamed ${renamed} categories`); } catch (error) { console.error('❌ ERROR:', error.message); } finally { client.destroy(); } } main();