Fix Discord Bot Offline / Not Responding
bot offlinenot responding to commandsPrivileged intentdisconnectsA Discord bot that's offline or silent usually comes down to the token, gateway intents, permissions, or where it's hosted. Here's how to work through it, including rate-limit and sharding issues on larger bots.
Bot shows offline
If the bot is offline, its process isn't running or can't log in. Check it's actually running and the token is correct (a reset token invalidates the old one):
- Is the bot process running? Restart it and watch the console for a login error.
- Is the token valid? Regenerate it in the Developer Portal and update your config/env.
- Never commit your token publicly — Discord auto-invalidates leaked tokens.
Online but ignoring commands
If it's online but silent, it's usually gateway intents or permissions. Message-content is a privileged intent you must enable:
# Discord Developer Portal → your app → Bot
# enable: MESSAGE CONTENT INTENT (and Server Members if needed)
# and request the same intents in your bot code
Permissions & slash commands
- The bot's role needs permission to read/send in the channel.
- For slash commands, make sure they're registered (globally or per-guild) and the bot has the applications.commands scope.
- Check the bot role is above the roles it needs to manage.
A bot on your PC goes offline when you close it. For 24/7 uptime, run it on a VDS under a process manager (pm2, systemd or screen) so it restarts on crash and boot.
Offline = process/token. Silent = intents/permissions. For uptime, host it on a VDS under pm2/systemd.
Rate limiting and disconnects
A bot that connects, works briefly, then goes offline repeatedly may be hitting Discord's rate limits (HTTP 429 responses) from sending too many requests too fast — often a bug in a loop or an aggressive retry without backoff. Log HTTP response codes from your library and add exponential backoff on retries rather than hammering the API.
Sharding for larger bots
Discord requires sharding once a bot joins roughly 2,500 guilds, and the gateway will reject connections from an unsharded bot past that point. If a previously-working large bot suddenly can't connect, check whether it just crossed a sharding threshold and needs its sharding config updated.
How to prevent bot downtime
- Run the bot under a process manager (pm2/systemd) configured to auto-restart on crash and on server reboot.
- Log every disconnect/reconnect event so you can tell the difference between "crashed" and "rate limited" quickly.
- Keep your Discord library (discord.js, discord.py, etc.) updated — API and intent changes on Discord's side can silently break an old library version.
Related errors
If the bot runs on a VDS you manage over SSH, see how to connect to your server with SSH. To keep it auto-restarting on a schedule or after a crash, a scheduled health check via cron alongside your process manager is a solid setup.
Discord is a trademark of Discord Inc. ESAGAMES is an independent hosting provider, not affiliated with or endorsed by Discord Inc.
Host your bot 24/7 on a VDS
Our VDS plans keep your Discord bot online around the clock on protected NVMe infrastructure in Frankfurt.
Frequently asked questions
Why is my Discord bot offline?
Its process isn't running or it can't authenticate. Restart it and check the console — most often the token is wrong or was regenerated. Update the token and keep the process running 24/7.
Why is my bot online but not responding to messages?
Usually the Message Content privileged intent isn't enabled, or the bot lacks channel permissions. Enable the intent in the Developer Portal and request it in code, and check the bot's role permissions.
How do I keep a Discord bot running 24/7?
Host it on an always-on machine like a VDS and run it under a process manager (pm2, systemd or screen) so it stays up, restarts on crash, and starts on boot — not on your home PC.
What does it mean if my bot keeps disconnecting with 429 errors?
That's Discord rate-limiting your bot for sending too many requests too quickly. Check your code for a loop or missing backoff logic, and log response codes to find the offending request.
Does my bot need sharding?
Discord requires sharding once a bot is in around 2,500+ guilds; below that, a single connection is fine. If a large bot suddenly can't connect, check whether it has crossed that threshold.
Can an expired or regenerated token cause silent failures instead of an obvious error?
Some libraries log a clear authentication failure, but a stale token in a config file that never got updated after a regenerate can also just leave the bot stuck retrying — check the console output carefully, not just whether the process is "running".
Related articles
Fix SSH "Connection refused" / "Connection timed out"
SSH "connection refused" vs "timed out" — what each means and the exact steps to fix them.
Read fix Linux & VPSFix "Permission denied" on Linux (chmod & chown Explained)
"Permission denied" on a script or file? Understand chmod/chown and fix it the right way.
Read fix Linux & VPSHow to Check CPU, RAM & Disk Usage on a Linux Server
The essential commands to check CPU, RAM and disk on Linux — and find what's eating them.
Read fix