Stryker-SC/Discord-Bot-VCMaster-JavaScript-Revamped
0
VCMaster Discord Bot
A "Join to Create" temporary voice channel bot built with Discord.js and Mongoose. This bot automatically creates a private voice and text channel for users when they join a designated Hub channel. It provides interactive buttons and slash commands to manage these channels.
⚠️ Important: Privileged Intents Required
For this bot to function correctly, you must enable the following Privileged Gateway Intents in the Discord Developer Portal:
- Server Members Intent (
GuildMembers): Required to move users into their newly created temporary channels and to kick users via the dashboard. - Presence Intent (
GuildPresences): Required to automatically detect the game a user is playing to name their voice channel. - Message Content Intent (
MessageContent): Highly recommended for full functionality (even though interactions use slash commands, some event handlers or features may rely on it).
Without these intents enabled, the bot will fail to start or crash during operation.
Setup Instructions
- Clone the repository and install dependencies:
npm install- Configure Environment Variables: Create a
.envfile in the root directory (or use your host's secrets manager) and add:
DISCORD_TOKEN=your_bot_token_here
CLIENT_ID=your_bot_client_id
MONGO_URI=your_mongodb_connection_string (Optional) GUILD_ID=your_server_id to deploy slash commands instantly to a specific test server instead of globally.
- Deploy Commands: Run the deployment script to register slash commands:
node deploy-commands.js- Start the Bot: Run the one-click setup script (Windows) or start normally:
npm startAdmin Commands
/setup-voice <channel> [category]: Sets the Hub channel. When a user joins this Hub channel, a new temporary channel is created. Optionally specify a category where the new channels will be placed.
