Discord Bot Token Invalid - Troubleshooting & Fix Guide
cgen-1ad67c7b08464287a6e1a94a1db71c75
This commit is contained in:
parent
16c010742a
commit
dd01fd30de
1 changed files with 115 additions and 0 deletions
115
docs/DISCORD-BOT-TOKEN-FIX.md
Normal file
115
docs/DISCORD-BOT-TOKEN-FIX.md
Normal file
|
|
@ -0,0 +1,115 @@
|
||||||
|
# Discord Bot Token Invalid - Troubleshooting & Fix
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
The Discord bot is failing to login with error:
|
||||||
|
```
|
||||||
|
❌ Unhandled Promise Rejection: Error [TokenInvalid]: An invalid token was provided.
|
||||||
|
```
|
||||||
|
|
||||||
|
This means the `DISCORD_BOT_TOKEN` environment variable is either:
|
||||||
|
- Expired or revoked
|
||||||
|
- Invalid/malformed
|
||||||
|
- For a bot that was deleted from Discord Developer Portal
|
||||||
|
- Not properly synced to the deployment environment
|
||||||
|
|
||||||
|
## Solution: Get a New Bot Token
|
||||||
|
|
||||||
|
### Step 1: Go to Discord Developer Portal
|
||||||
|
1. Visit: https://discord.com/developers/applications
|
||||||
|
2. Sign in with your Discord account
|
||||||
|
3. Click on the application named **"AeThex"** (or your app name)
|
||||||
|
|
||||||
|
### Step 2: Get the Bot Token
|
||||||
|
1. Click on the **"Bot"** tab on the left sidebar
|
||||||
|
2. Under the "TOKEN" section, click **"Reset Token"**
|
||||||
|
3. Click **"Yes, do it!"** to confirm (the old token will be revoked)
|
||||||
|
4. Click **"Copy"** to copy the new token
|
||||||
|
|
||||||
|
### Step 3: Update the Environment Variable
|
||||||
|
The new token looks like: `NTc4OTcxMjQ1NDU0OTUwNDIx.GxxxXX.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
|
||||||
|
|
||||||
|
**For Railway/Spaceship Deployment:**
|
||||||
|
1. Go to your Railway/Spaceship dashboard
|
||||||
|
2. Go to environment variables
|
||||||
|
3. Update or add: `DISCORD_BOT_TOKEN=<new_token_here>`
|
||||||
|
4. Save changes
|
||||||
|
5. Redeploy the bot
|
||||||
|
|
||||||
|
**For Local Development:**
|
||||||
|
1. Update `.env` file in `code/discord-bot/`:
|
||||||
|
```
|
||||||
|
DISCORD_BOT_TOKEN=your_new_token_here
|
||||||
|
```
|
||||||
|
2. Restart the bot: `npm start`
|
||||||
|
|
||||||
|
### Step 4: Verify the Bot
|
||||||
|
After updating the token, the bot should:
|
||||||
|
1. Login successfully: `✅ Bot logged in as AeThex#xxxx`
|
||||||
|
2. Load all commands: `<60><><EFBFBD> Loaded command: verify`, etc.
|
||||||
|
3. Start health check server: `🏥 Health check server running on port 8044`
|
||||||
|
|
||||||
|
## Token Format Validation
|
||||||
|
|
||||||
|
A valid Discord bot token:
|
||||||
|
- ✅ Starts with a number (user ID)
|
||||||
|
- ✅ Contains 3 parts separated by dots: `part1.part2.part3`
|
||||||
|
- ✅ Is ~70+ characters long
|
||||||
|
- ✅ Contains only alphanumeric characters, dots, hyphens, and underscores
|
||||||
|
|
||||||
|
Example: `NTc4OTcxMjQ1NDU0OTUwNDIx.Gv-kuN.MiaXTUhlTzCqsTdwhO8sbYci0lIIY5uC08O5Ug`
|
||||||
|
|
||||||
|
## Common Issues & Fixes
|
||||||
|
|
||||||
|
### Issue: "Token has been exposed"
|
||||||
|
Discord automatically revokes tokens if they appear in public repositories (GitHub, etc.).
|
||||||
|
|
||||||
|
**Fix:** Reset the token in Discord Developer Portal as described above.
|
||||||
|
|
||||||
|
### Issue: Bot not in any servers
|
||||||
|
Even with a valid token, the bot might not connect to your servers.
|
||||||
|
|
||||||
|
**Fix:**
|
||||||
|
1. In Discord Developer Portal, go to **OAuth2 > URL Generator**
|
||||||
|
2. Select scopes: `bot`
|
||||||
|
3. Select permissions: `Administrator` (or specific permissions)
|
||||||
|
4. Copy the generated URL and open it in browser
|
||||||
|
5. Select your server and authorize
|
||||||
|
|
||||||
|
### Issue: "TokenInvalid" but token looks correct
|
||||||
|
The token might be:
|
||||||
|
- Copied with extra whitespace
|
||||||
|
- Not fully copied (missing characters)
|
||||||
|
- From a different bot application
|
||||||
|
|
||||||
|
**Fix:**
|
||||||
|
1. Go back to Discord Developer Portal
|
||||||
|
2. Reset the token again (this revokes the old one)
|
||||||
|
3. Copy the full new token carefully (no extra spaces)
|
||||||
|
4. Update environment variable immediately
|
||||||
|
|
||||||
|
## Environment Variables Checklist
|
||||||
|
|
||||||
|
Before deploying, verify these are set:
|
||||||
|
|
||||||
|
- ✅ `DISCORD_BOT_TOKEN` - Valid bot token from Developer Portal
|
||||||
|
- ✅ `DISCORD_CLIENT_ID` - Usually `578971245454950421`
|
||||||
|
- ✅ `DISCORD_PUBLIC_KEY` - From General Information tab
|
||||||
|
- ✅ `SUPABASE_URL` - Database connection
|
||||||
|
- ✅ `SUPABASE_SERVICE_ROLE` - Database authentication
|
||||||
|
- ✅ `BOT_PORT` - Usually `3000` or `8044` for Railway
|
||||||
|
|
||||||
|
## Still Having Issues?
|
||||||
|
|
||||||
|
If the token is valid but bot still won't login:
|
||||||
|
|
||||||
|
1. **Check Discord Server Status**: https://status.discord.com/
|
||||||
|
2. **Verify Bot Permissions**: Make sure bot has "Send Messages", "Read Messages"
|
||||||
|
3. **Check Firewall**: Some firewalls block Discord API connections
|
||||||
|
4. **Review Recent Changes**: Did you recently update discord.js version?
|
||||||
|
5. **Clear Cache**: Delete `node_modules/` and run `npm install` again
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- Discord Developer Portal: https://discord.com/developers/applications
|
||||||
|
- Discord.js Documentation: https://discord.js.org/
|
||||||
|
- Creating a Discord Bot: https://discordjs.guide/preparations/setting-up-a-bot-application.html
|
||||||
Loading…
Reference in a new issue