Discord Bot Not Working? 11 Fixes That Solve 95% of Issues (2026 Guide)
Your Discord bot just stopped working. Maybe it's showing offline, maybe slash commands disappeared, or maybe it's just ignoring everything you type. Before you panic and remove the bot entirely, try these 11 fixes — they resolve the vast majority of Discord bot issues.
We've organized these from most common to least common, so start at the top and work your way down.
Fix 1: Check If the Bot Is Actually Online
This sounds obvious, but it's the most common "issue." The bot's hosting server might be down for maintenance.
How to Check
- Look at the bot's status in your member list — is it showing as offline (gray dot)?
- Visit the bot's support server or status page (most major bots have one)
- Check Discord Status — Discord itself might be having issues
- Check Twitter/X or the bot's social media for outage announcements
What to Do
If the bot is genuinely down, there's nothing you can do except wait. Major bots like MEE6, Carl-bot, and Dyno have uptime above 99%, but outages do happen. They typically resolve within minutes to hours.
If you're running a self-hosted bot, check your hosting provider (VPS, Heroku, Railway, etc.) to see if your instance crashed.
Fix 2: Check Bot Permissions
Permission issues cause more bot problems than anything else. Discord's permission system is layered, and a missing permission at any layer can break functionality.
Permission Hierarchy
Permissions are evaluated in this order:
- Server-level permissions (from the bot's role)
- Category-level overrides (permissions set on a category)
- Channel-level overrides (permissions set on a specific channel)
A channel-level deny overrides a server-level allow. This is the #1 cause of "bot works in some channels but not others."
How to Fix
- Go to Server Settings → Roles and find the bot's role
- Ensure it has these minimum permissions:
- Read Messages / View Channels
- Send Messages
- Embed Links
- Use Application Commands
- Read Message History
- Check channel-specific permissions: Right-click channel → Edit Channel → Permissions
- Look for any red ✕ on the bot's role in channel permissions
Quick Fix: Administrator Permission
If you're just trying to get things working, temporarily give the bot's role Administrator permission. This bypasses all permission checks. Once it's working, you can dial back to specific permissions.
Warning: Only use Administrator for trusted, well-known bots. Never give Administrator to random bots.
Fix 3: Re-Invite the Bot with Correct Scopes
Discord updated its OAuth2 system, and bots now require specific scopes to function. If you invited the bot a long time ago, it might be missing the applications.commands scope needed for slash commands.
How to Fix
- Go to the bot's website and find the invite link
- Make sure the invite URL includes both
botandapplications.commandsscopes - Re-invite the bot to your server (this won't duplicate it — it updates permissions)
- Slash commands should appear within a few minutes
How to Tell If This Is the Issue
If the bot responds to legacy prefix commands (like !help) but slash commands don't show up at all, a missing applications.commands scope is almost certainly the cause.
Fix 4: Slash Commands Not Showing Up
Slash commands are the most common source of confusion in 2026. There are several reasons they might not appear.
Reason 1: Missing Scope (See Fix 3)
The bot wasn't invited with applications.commands.
Reason 2: Discord Cache
Discord caches slash commands locally. Sometimes new commands don't appear until you:
- Close Discord completely (not just minimize)
- Clear the Discord cache:
- Desktop: Close Discord → Delete
%appdata%/discord/Cachefolder → Reopen - Mobile: Force close the app → Clear app cache in phone settings → Reopen
- Desktop: Close Discord → Delete
- Wait up to 1 hour — global commands can take time to propagate
Reason 3: Channel Permissions
Slash commands respect channel permissions. If the bot doesn't have "Use Application Commands" permission in a specific channel, its slash commands won't appear there.
Go to Channel Settings → Permissions → Bot's Role and ensure "Use Application Commands" is enabled.
Reason 4: Too Many Bots
Discord has a limit of 50 slash commands per bot per guild, and there's a total limit for how many slash commands can exist in a server. If you have many bots with many commands, you might be hitting limits.
Reason 5: Integration Settings
Discord added per-channel bot integration settings in 2024. Check Server Settings → Integrations → [Bot Name] and make sure the bot's commands aren't restricted from the channels where you need them.
Fix 5: Bot Shows Online but Doesn't Respond
The bot appears online (green dot) but ignores all commands. This is usually a configuration issue.
Possible Causes
| Cause | Fix |
|---|---|
| Bot is disabled in your server | Check bot dashboard — most bots have a per-server toggle |
| Wrong prefix | Check the bot's current prefix (try @BotName prefix or slash commands) |
| Bot is in maintenance mode | Check bot's support server |
| Rate limited | Wait 5-10 minutes |
| Missing channel permissions | Check channel-level permission overrides |
| Command is disabled | Some bots let you disable specific commands per channel/role |
Quick Diagnostic
Mention the bot directly: @BotName. Many bots respond to direct mentions even if other commands aren't working. If it responds to a mention but not commands, it's a prefix or command configuration issue.
Fix 6: Bot Responding with Errors
The bot responds, but with error messages like "Missing Permissions," "Unknown Channel," or "Interaction Failed."
Common Error Messages
| Error | Meaning | Fix |
|---|---|---|
| "Missing Permissions" | Bot lacks a specific permission for that action | Grant the required permission (manage roles, manage channels, etc.) |
| "Missing Access" | Bot can't see the target channel | Check View Channel permission |
| "Unknown Channel" | Channel was deleted or bot lost access | Re-configure the bot's target channel |
| "Interaction Failed" | Bot couldn't process the command in time | Try again — usually a temporary issue |
| "Role hierarchy" | Bot's role is lower than the target role | Move the bot's role higher in Server Settings → Roles |
Role Hierarchy Issues
This catches a lot of people. A bot can only manage roles that are below its own role in the hierarchy. If you want the bot to assign a role called "VIP," the bot's role must be positioned above "VIP" in Server Settings → Roles.
Drag the bot's role higher in the list to fix hierarchy issues.
Fix 7: Bot Was Working Yesterday, Broke Today
If a bot suddenly stops working without any changes on your end, the cause is usually one of these:
- Discord API update — Discord frequently updates its API. Bots need time to adapt.
- Bot-side outage — The bot's hosting is down.
- Discord outage — Check discordstatus.com.
- Your server hit a bot limit — Large servers can hit rate limits that affect bot responses.
- Someone changed permissions — Check Audit Log for recent role or permission changes.
How to Investigate
Go to Server Settings → Audit Log and filter for recent changes. Look for:
- Permission overwrites modified
- Roles edited
- Bot role modified
- Channels edited
Often, a well-meaning admin changed something without realizing it would break the bot.
Fix 8: Bot Is Slow or Delayed
The bot works but takes 5-30 seconds to respond instead of being instant.
Causes and Fixes
| Cause | Symptoms | Fix |
|---|---|---|
| Discord API latency | All bots in server are slow | Wait — it's a Discord issue |
| Bot is overloaded | Only this bot is slow, other bots are fine | Check bot status page; wait for them to scale |
| Rate limiting | Bot responds to some commands but ignores others | Reduce command usage; wait 10 minutes |
| Webhook rate limit | Logging/webhook features are delayed | Reduce logging volume or split across channels |
| Self-hosted: insufficient resources | Bot process is using high CPU/memory | Upgrade hosting or optimize code |
Discord Rate Limits
Discord limits how many API requests a bot can make per time period. If your server is very active or you're running many automated features, the bot might hit these limits. Symptoms include delayed responses, skipped events, and intermittent errors.
There's no fix other than reducing the load or waiting.
Fix 9: Bot Works in Some Channels but Not Others
This is almost always a permission override issue.
How to Diagnose
- Find a channel where the bot works
- Find a channel where it doesn't
- Compare their permission settings:
- Working channel: Right-click → Edit Channel → Permissions → Check bot's role
- Broken channel: Same steps
Common Culprit: @everyone Override
If you've set a channel to deny @everyone from sending messages or using application commands, the bot might be affected. Bots inherit @everyone permissions unless they have explicit overrides.
Fix: Add the bot's role to the channel permissions and explicitly allow the needed permissions.
Category Inheritance
Channels inherit permissions from their parent category. If you move a channel to a different category, its permissions might change. Check the category permissions if individual channel permissions look correct.
Fix 10: Intents Issues (Self-Hosted Bots)
If you're running a self-hosted bot, Gateway Intents are a common breaking point.
What Are Intents?
Intents tell Discord which events your bot wants to receive. Discord requires you to explicitly enable certain "privileged" intents:
| Intent | Required For | Where to Enable |
|---|---|---|
| Message Content | Reading message text (prefix commands) | Discord Developer Portal → Bot → Privileged Intents |
| Server Members | Member join/leave events, member lists | Same location |
| Presence | Online/offline/game status tracking | Same location |
How to Fix
- Go to Discord Developer Portal
- Select your application → Bot
- Scroll to Privileged Gateway Intents
- Enable the intents your bot needs
- Restart your bot
Note: Bots in 100+ servers must be verified to use privileged intents. If your bot is in 75+ servers, apply for verification early.
Fix 11: Reinstall the Bot (Nuclear Option)
If nothing else works, a clean reinstall often resolves deep configuration issues.
Steps
- Kick the bot from your server (don't just remove its role)
- Wait 60 seconds
- Re-invite using the latest invite link from the bot's website
- Re-configure the bot from scratch
This resets all server-specific settings for that bot. You'll need to set up roles, channels, and configurations again, so only do this as a last resort.
Before Reinstalling
- Screenshot or document your current bot settings
- Note which channels are assigned to which features
- Save any custom commands or configurations
- Check if the bot's dashboard lets you export settings
When to Switch Bots Entirely
If you're constantly troubleshooting a bot that keeps breaking, it might be time to switch. Signs that a bot isn't reliable enough for your server:
- Frequent outages (multiple times per week)
- Slow command responses as a pattern, not occasional
- Abandoned development (no updates in 6+ months)
- Growing server and the bot can't keep up
- Features you need are locked behind expensive premium tiers
PeakBot is built for reliability with 99.9% uptime, fast response times, and active development. If your current bot keeps failing, it might be worth trying a bot that just works.
Quick Troubleshooting Flowchart
| Symptom | First Check | Second Check | Third Check |
|---|---|---|---|
| Bot offline | Bot's status page | Discord status | Bot support server |
| No slash commands | Re-invite with scopes | Clear Discord cache | Check integration settings |
| Works in some channels | Channel permissions | Category permissions | @everyone overrides |
| Error messages | Role hierarchy | Specific permission | Bot dashboard config |
| Slow responses | Discord status | Bot status page | Rate limits |
| Suddenly broke | Audit log for changes | Discord API updates | Bot update changelog |
Frequently Asked Questions
Why did my bot suddenly go offline?
The most common cause is the bot's hosting server restarting or encountering an error. For popular bots (MEE6, Carl-bot, Dyno), this is usually resolved within minutes. For self-hosted bots, check your hosting provider's logs.
Can too many bots cause issues?
Yes. Discord limits the total number of slash commands that can exist in a server, and too many bots can cause permission conflicts. Most servers work fine with 5-10 bots, but beyond that, you should audit whether you actually need all of them.
Why do slash commands take so long to appear?
Global slash commands can take up to 1 hour to propagate across Discord. Guild-specific commands should appear within seconds. If commands haven't appeared after an hour, the issue is likely scope-related (see Fix 3).
Should I give bots Administrator permission?
Only for bots you completely trust (major, well-known bots). Administrator bypasses all permission checks, which makes troubleshooting easier but reduces security. For most bots, granting specific permissions is safer.
My self-hosted bot works locally but not on my server — why?
Common causes: wrong token, missing intents, firewall blocking WebSocket connections, or your hosting provider blocking Discord's Gateway. Check your bot's error logs for specific error messages.
Tired of troubleshooting bots that keep breaking? PeakBot is designed to just work — reliable uptime, clear permissions, and zero headaches.
