# Is Discord Down? How to Check Discord API Status

**Discord stuck on "Connecting..."?**  
**Can't send messages?**  
**Voice chat not working?**

Before panicking, verify if Discord is actually down—or if it's a problem on your end. Here's your complete guide to checking Discord status and fixing common issues fast.

## Quick Check: Is Discord Actually Down?

**Don't assume it's Discord.** 70% of "Discord down" reports are actually local network issues, outdated app versions, firewall blocks, or regional routing problems.

### 1. Check Official Sources

**Discord Status Page:**  
🔗 [discordstatus.com](https://discordstatus.com/)

**What to look for:**
- ✅ "All Systems Operational" = Discord is fine
- ⚠️ "Partial System Outage" = Some services affected
- 🔴 "Major System Outage" = Discord is down

**Real-time updates:**
- API issues
- Gateway connectivity
- Voice server problems
- CDN (media loading) issues
- Push notifications status
- Regional outages

---

**API Status Check:**  
🔗 [apistatuscheck.com/api/discord](https://apistatuscheck.com/api/discord)

**Why use it:**
- Real-time monitoring (checks every 5 minutes)
- Historical uptime data
- Instant alerts (Slack, Discord, email)
- Tracks API, Gateway, CDN, and Voice separately
- Developer-focused metrics

---

**Twitter/X Search:**  
🔗 Search ["Discord down"](https://twitter.com/search?q=discord%20down) on Twitter

**Why it works:**
- Users report outages instantly
- See if others in your region affected
- Discord support team responds here: [@discord](https://twitter.com/discord)

**Pro tip:** If 1000+ tweets in the last hour mention "Discord down," it's probably actually down.

---

**Reddit:**  
🔗 [r/discordapp](https://reddit.com/r/discordapp)

**Why check Reddit:**
- Community reports issues immediately
- Developers share technical details
- Often faster than official status page
- Regional outage patterns visible

---

### 2. Check Service-Specific Status

**Discord has multiple services that can fail independently:**

| Service | What It Does | Impact When Down |
|---------|--------------|------------------|
| **API** | All requests (messages, servers, users) | Can't send messages, channels won't load |
| **Gateway** | Real-time events (message updates, presence) | Stuck on "Connecting...", messages delayed |
| **Voice** | Voice/video chat | Can't join voice channels, audio drops |
| **CDN** | Images, videos, attachments | Media won't load, avatars missing |
| **Push Notifications** | Mobile notifications | No notifications on phone |

**Your service might be down while Discord globally is up.**

**How to check which service is affected:**
1. Visit [discordstatus.com](https://discordstatus.com/)
2. Look for specific component status
3. Check "Incident History" for recent issues
4. Subscribe to status updates (email/SMS/webhook)

---

### 3. Test Different Connection Types

**If Discord web works but desktop app doesn't, it's likely your app/network.**

| Platform | Test Method |
|----------|-------------|
| **Web** | [discord.com/app](https://discord.com/app) |
| **Desktop** | Launch Discord app, check connection status |
| **Mobile** | Try Discord on 4G/5G (bypass WiFi) |

**Decision tree:**
```
Web works + Desktop fails → App/cache issue
Web fails + Desktop fails → Network/firewall issue
Mobile works + Desktop/Web fail → Local WiFi/ISP problem
Nothing works → Discord is down (or ISP/country blocking)
```

---

## Common Discord Error Messages (And What They Mean)

### "No Route" / "RTC Connecting"

**What it means:** Discord can't establish voice/video connection.

**Causes:**
- Firewall blocking voice ports
- VPN/proxy interference
- UDP blocked by network
- ISP routing issues
- Voice server region problem

**Quick fixes:**
1. Switch voice region (Server Settings → Overview → Server Region)
2. Disable VPN temporarily
3. Allow Discord through firewall (UDP ports 50000-65535)
4. Restart router
5. Try different DNS (1.1.1.1 or 8.8.8.8)

---

### "Unable to Connect" / "Disconnected from Gateway"

**What it means:** Can't connect to Discord's real-time messaging gateway.

**Causes:**
- Network instability
- Proxy/VPN blocking WebSocket
- Firewall blocking Discord
- ISP throttling Discord traffic
- Discord Gateway outage

**Quick fixes:**
1. Check [discordstatus.com](https://discordstatus.com/) (Gateway section)
2. Disable proxy/VPN
3. Switch to mobile data (isolate WiFi issue)
4. Flush DNS: `ipconfig /flushdns` (Windows) or `sudo dscacheutil -flushcache` (Mac)
5. Restart Discord completely

---

### "No Internet Connection"

**What it means:** Discord can't reach its servers.

**Causes:**
- Local internet down
- DNS resolution failure
- Firewall/antivirus blocking Discord
- Proxy misconfigured
- ISP blocking Discord domains

**Quick fixes:**
1. Test internet: Open browser, visit [google.com](https://google.com)
2. Test Discord domain: `ping discord.com` in terminal
3. Check DNS: Switch to Cloudflare (1.1.1.1) or Google (8.8.8.8)
4. Disable VPN/proxy
5. Add Discord to firewall/antivirus exceptions

---

### "Rate Limited" / "You Are Being Rate Limited"

**What it means:** Sending too many requests too quickly.

**Causes:**
- Spamming messages/commands
- Bot hitting rate limits
- Network reconnecting rapidly
- Bug causing request loop

**Quick fixes:**
1. Wait 10-60 seconds before trying again
2. Stop spamming messages/reactions
3. If using bot: check code for rate limit handling
4. Clear Discord cache (see Fix #5)
5. Restart Discord

**For developers:**
- Implement exponential backoff
- Respect `X-RateLimit-*` headers
- Cache data to reduce API calls
- Use bulk endpoints when available

---

### "Update Failed" / "Installation Has Failed"

**What it means:** Discord can't update itself.

**Causes:**
- Insufficient disk space
- Corrupted update files
- Antivirus blocking installer
- Admin permissions required
- Update servers temporarily down

**Quick fixes:**
1. Run Discord as administrator (Windows)
2. Free up disk space (5+ GB recommended)
3. Disable antivirus temporarily during update
4. Download fresh installer: [discord.com/download](https://discord.com/download)
5. Uninstall completely, then reinstall

---

### "A JavaScript Error Occurred in the Main Process"

**What it means:** Discord app crashed due to code error.

**Causes:**
- Corrupted Discord installation
- Outdated Discord version
- Conflicting software (antivirus, overlays)
- Corrupted cache files
- Windows compatibility issues

**Quick fixes:**
1. Delete Discord cache: `%appdata%/discord/Cache` (Windows)
2. Run Discord in compatibility mode (Windows 8)
3. Disable hardware acceleration: Settings → Appearance → Hardware Acceleration OFF
4. Uninstall conflicting overlays (NVIDIA, AMD)
5. Reinstall Discord fresh

---

### "Awaiting Endpoint" (Voice)

**What it means:** Discord found voice server but can't connect.

**Causes:**
- Voice server overloaded
- Network firewall blocking UDP
- Router not forwarding ports correctly
- ISP throttling UDP traffic
- Voice region having issues

**Quick fixes:**
1. Change voice region (Server Settings → Overview)
2. Try "Automatic" region first
3. Port forward UDP 50000-65535 (router settings)
4. Enable UPnP on router
5. Contact server admin to change region

---

## Quick Fixes: Discord Not Working?

### Fix #1: Restart Discord (The Right Way)

**Why it works:** Clears connection cache, resets Gateway, refreshes tokens.

**How to do it right:**

**Windows:**
1. Close Discord (X button)
2. Open Task Manager (`Ctrl+Shift+Esc`)
3. Find all "Discord" processes → End Task (all instances)
4. Check for "Discord Update" process → End if present
5. Relaunch Discord

**Mac:**
1. Quit Discord (`Cmd+Q`)
2. Force quit if needed: `Cmd+Option+Esc` → Discord → Force Quit
3. Check Activity Monitor → Force quit any remaining Discord processes
4. Relaunch

**Linux:**
```bash
killall Discord
# Or force kill
killall -9 Discord
# Relaunch
discord &
```

**Pro tip:** End ALL Discord processes—background updater, helper processes, everything.

---

### Fix #2: Test Your Internet Connection

**Discord needs:**
- **Minimum:** 1 Mbps up/down for text/voice
- **Recommended:** 3+ Mbps for video calls
- **Latency:** <150ms ping for smooth voice

**Test your connection:**

```bash
# Ping Discord's servers (Windows/Mac/Linux)
ping discord.com

# Check specific voice region
ping us-east1.discord.media
```

**Good response:**
```
Reply from 162.159.128.233: bytes=32 time=18ms TTL=56
```

**Bad response:**
```
Request timed out.
```

**Speed test:**  
Visit [fast.com](https://fast.com) or [speedtest.net](https://speedtest.net)

**Discord latency test:**
- Join voice channel
- Settings → Voice & Video
- Check "Voice Diagnostics" section (shows ping, packet loss)

**If connection is slow:**
1. Restart router (unplug 30 seconds)
2. Switch to Ethernet cable
3. Change DNS to Cloudflare (1.1.1.1) or Google (8.8.8.8)
4. Contact ISP if consistently high latency
5. Check for ISP throttling (try VPN to test)

---

### Fix #3: Check Firewall/Proxy Settings

**Discord needs these ports open:**

| Port | Protocol | Purpose |
|------|----------|---------|
| 443 | TCP | HTTPS (all web traffic) |
| 80 | TCP | HTTP (fallback) |
| 50000-65535 | UDP | Voice/video traffic |
| Various | TCP/UDP | WebSocket for Gateway |

**Windows Firewall:**
1. Windows Security → Firewall & Network Protection
2. Allow an app through firewall
3. Find "Discord" → Check Private + Public + Domain
4. If not listed: "Allow another app" → Browse to Discord.exe
5. Ensure UDP is allowed (required for voice)
6. Click OK

**Mac Firewall:**
1. System Preferences → Security & Privacy → Firewall
2. Firewall Options
3. Find Discord → "Allow incoming connections"
4. If not listed: "+" → Add Discord

**Linux (ufw):**
```bash
sudo ufw allow 443/tcp
sudo ufw allow 50000:65535/udp
```

**Corporate/School Networks:**
- Contact IT department
- Discord often blocked by DPI (Deep Packet Inspection)
- May need VPN or guest WiFi
- Voice (UDP) commonly blocked on corporate networks

**Proxy settings:**
- Discord uses system proxy by default
- Settings → Network → Proxy
- Try disabling if having issues

---

### Fix #4: Update Discord

**Outdated app = connection issues, missing features, security risks.**

**Discord usually auto-updates, but sometimes fails.**

**Force update (Windows/Mac):**
1. Completely quit Discord (see Fix #1)
2. Visit [discord.com/download](https://discord.com/download)
3. Download latest version
4. Install over existing (settings preserved)
5. Launch Discord

**Check version:**
- Settings → Appearance → scroll to bottom
- Shows version number (e.g., "Stable 250134")

**Current versions (as of Feb 2026):**
- **Desktop:** Stable 250xxx+
- **Web:** Always latest
- **Mobile:** Check app store for updates

**Linux (update methods):**

**Snap:**
```bash
sudo snap refresh discord
```

**Flatpak:**
```bash
flatpak update com.discordapp.Discord
```

**Manual .deb/.rpm:**
Download from [discord.com/download](https://discord.com/download)

---

### Fix #5: Clear Discord Cache

**Why it helps:** Corrupted cache causes connection errors, message loading issues, crashes.

**Discord cache can grow to several GB.**

**Windows:**
1. Close Discord completely (see Fix #1)
2. Press `Win+R`
3. Type: `%appdata%/discord`
4. Delete these folders:
   - `Cache`
   - `Code Cache`
   - `GPUCache`
5. Press `Win+R` again
6. Type: `%localappdata%/discord`
7. Delete same folders
8. Restart Discord

**Mac:**
1. Quit Discord completely
2. Open Finder → Go → Go to Folder
3. Type: `~/Library/Application Support/discord`
4. Delete:
   - `Cache`
   - `Code Cache`
   - `GPUCache`
5. Restart Discord

**Linux:**
```bash
# Close Discord first
rm -rf ~/.config/discord/Cache
rm -rf ~/.config/discord/Code\ Cache
rm -rf ~/.config/discord/GPUCache
# Restart Discord
discord &
```

**What gets cleared:**
- Message cache
- Image cache
- Connection tokens (will re-authenticate)
- Temporary files

**What's preserved:**
- Login credentials
- Server list
- Settings
- Friends list

**Pro tip:** Clear cache monthly for optimal performance.

---

### Fix #6: Disable Hardware Acceleration

**Why:** GPU acceleration can cause crashes, black screens, performance issues.

**When to try this:**
- Black screen when screen sharing
- Discord crashing on startup
- High CPU/GPU usage
- Rendering glitches

**How to disable:**

1. Settings → Appearance
2. Scroll down to "Hardware Acceleration"
3. Toggle OFF
4. Discord will ask to restart → Restart Now

**Performance impact:**
- Slightly higher CPU usage
- But more stable connection
- Better for older computers

**When to keep it ON:**
- Newer GPU (last 3-4 years)
- Heavy screen sharing/streaming
- Multiple Discord windows
- No crashes/glitches

---

### Fix #7: Change Voice Region

**When to try:**
- Voice cutting out
- High ping in voice
- "Awaiting endpoint" error
- Robotic voice quality

**How to change:**

**Server voice region (if you're admin):**
1. Server Settings → Overview
2. Server Region → Change to closer region
3. Try "Automatic" first
4. If issues persist, manually select closest region

**Available regions:**
- US West, US East, US South, US Central
- Europe (multiple locations)
- Russia, Singapore, Japan, Brazil, Australia, India

**User-side voice settings:**
1. Settings → Voice & Video
2. Scroll to "Voice Diagnostics"
3. Check ping to current voice server
4. If >150ms, ask server admin to change region

**For developers (server creation):**
```javascript
guild.setRegion('us-west'); // Choose optimal region
```

---

### Fix #8: Flush DNS Cache

**Why:** DNS cache can become corrupted or outdated, preventing Discord from resolving servers.

**When to try:**
- "Unable to connect" error
- Discord works on mobile data but not WiFi
- Other apps work fine

**Windows:**
```bash
# Open Command Prompt as Administrator
ipconfig /flushdns
ipconfig /release
ipconfig /renew
```

**Mac:**
```bash
# Open Terminal
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
```

**Linux:**
```bash
# Method depends on DNS service
sudo systemd-resolve --flush-caches
# Or for older systems
sudo /etc/init.d/nscd restart
```

**Change DNS (more reliable):**

**Windows:**
1. Network Settings → Change adapter options
2. Right-click network → Properties
3. IPv4 → Properties
4. Use these DNS servers:
   - Cloudflare: 1.1.1.1, 1.0.0.1
   - Google: 8.8.8.8, 8.8.4.4

**Mac:**
1. System Preferences → Network
2. Select network → Advanced → DNS
3. Add: 1.1.1.1, 1.0.0.1

**Why Cloudflare DNS:**
- Faster resolution
- Better privacy
- Less ISP throttling
- Often fixes Discord connection issues

---

### Fix #9: Reinstall Discord (Nuclear Option)

**When nothing else works.**

**Windows:**
1. Settings → Apps → Discord → Uninstall
2. Delete these folders:
   - `C:\Users\[YourName]\AppData\Roaming\Discord`
   - `C:\Users\[YourName]\AppData\Local\Discord`
3. Download fresh installer from [discord.com/download](https://discord.com/download)
4. Install
5. Sign in

**Mac:**
1. Quit Discord
2. Applications → Drag Discord to Trash
3. Delete:
   - `~/Library/Application Support/discord`
   - `~/Library/Caches/com.hnc.Discord`
4. Empty Trash
5. Download fresh installer
6. Install
7. Sign in

**Linux:**

**Remove Snap:**
```bash
sudo snap remove discord
sudo snap install discord
```

**Remove Flatpak:**
```bash
flatpak uninstall com.discordapp.Discord
flatpak install com.discordapp.Discord
```

**Manual removal:**
```bash
rm -rf ~/.config/discord
# Reinstall package
```

**Pro tip:** This fixes 90% of persistent issues that cache clearing doesn't fix.

---

## Discord Voice/Video Not Working?

### Issue: Can't Hear Others

**Troubleshoot:**

**1. Check if audio is muted:**
- Look for red slash through speaker icon (user muted)
- Right-click user → Adjust volume

**2. Check output device:**
- Settings → Voice & Video → Output Device
- Select correct speakers/headphones
- Click "Let's Check" to test

**3. Check volume levels:**
- System volume not muted/too low
- Discord per-user volume (right-click user)
- Output volume slider in settings

**4. Check voice connection:**
- Look for green circle (connected) or yellow triangle (issues)
- If yellow: connection unstable, try changing region

**5. Audio subsystem:**
- Settings → Voice & Video → Audio Subsystem
- Try switching between "Standard" and "Legacy"
- Restart Discord after changing

---

### Issue: Others Can't Hear You

**Troubleshoot:**

**1. Check if you're muted:**
- Red slash on microphone icon = muted
- Click to unmute
- Check keybind (default: Ctrl+Shift+M)

**2. Check server mute:**
- You can be self-muted AND server-muted
- Look for both mic icons (personal and server)
- Ask admin to unmute you

**3. Check input device:**
- Settings → Voice & Video → Input Device
- Select correct microphone
- "Let's Check" → Speak, watch green bar

**4. Check input sensitivity:**
- Settings → Voice & Video → Input Sensitivity
- Use "Voice Activity" (recommended)
- Adjust slider so it activates when you speak
- Or use "Push to Talk" if prefer

**5. Check permissions:**
- Settings → App Settings → Permissions
- Microphone access allowed
- Some antivirus blocks microphone

**6. Test in voice diagnostics:**
- Join voice channel
- Settings → Voice & Video → Voice Diagnostics
- Shows real-time audio issues

---

### Issue: Echo or Feedback

**Causes:**
- Not using headphones (speaker audio picked up by mic)
- Input sensitivity too high
- Multiple devices in same room
- Audio loopback enabled

**Fixes:**

**1. Use headphones:**
- Solves 95% of echo issues
- Speaker audio won't be picked up by mic

**2. Enable echo cancellation:**
- Settings → Voice & Video
- ✅ Echo Cancellation (should be on by default)
- ✅ Noise Suppression (use Krisp for best quality)

**3. Check for audio loopback:**
- Windows: Sound Settings → Recording → Microphone → Listen
- ❌ Disable "Listen to this device"

**4. Adjust input sensitivity:**
- Lower sensitivity slider
- Prevents picking up distant sounds

**5. Check for multiple Discord instances:**
- Only one person per location should have audio on
- Check if Discord open on multiple devices

---

### Issue: Robotic/Distorted Voice

**Causes:**
- Packet loss (network issues)
- High ping/latency
- Voice server issues
- Bandwidth saturation
- CPU overload

**Fixes:**

**1. Check voice diagnostics:**
- Join voice channel
- Settings → Voice & Video → Voice Diagnostics
- Look for:
   - Ping >150ms (high latency)
   - Packet loss >5%
   - Jitter >30ms

**2. Change voice region:**
- Ask server admin to change (see Fix #7)
- Try region closer to most users

**3. Improve network:**
- Close bandwidth-heavy apps (streaming, downloads, games)
- Switch to Ethernet
- Restart router

**4. Lower voice quality (temporary):**
- Voice channel settings → Bitrate
- Lower to 64kbps (reduces bandwidth needed)
- Quality decrease but more stable

**5. Check CPU usage:**
- Task Manager → Discord
- If high: disable hardware acceleration
- Close other apps

---

### Issue: Video Not Working

**Troubleshoot:**

**1. Check camera permissions:**
- Settings → App Settings → Permissions
- Camera access allowed

**2. Check if another app using camera:**
- Close Zoom, Teams, Skype, OBS, etc.
- Only one app can use camera at a time

**3. Select correct camera:**
- Settings → Voice & Video → Video Settings
- Camera dropdown → Select correct device
- "Test Video" button

**4. Check video quality settings:**
- Don't use 1080p on slow connection
- Settings → Voice & Video → Video Settings
- Lower resolution (720p or 480p)

**5. Disable hardware acceleration:**
- See Fix #6
- Can fix black screen issues

---

### Issue: Screen Share Black Screen / Not Working

**Causes:**
- Hardware acceleration disabled (needed for screen share)
- Insufficient permissions
- Graphics driver issues
- Discord overlay conflicts
- GPU not supported

**Fixes:**

**1. Enable hardware acceleration:**
- Settings → Appearance → Hardware Acceleration ON
- Restart Discord

**2. Update graphics drivers:**
- NVIDIA: GeForce Experience
- AMD: AMD Software
- Intel: Windows Update

**3. Run Discord as administrator (Windows):**
- Right-click Discord shortcut → Run as administrator
- Required for some game captures

**4. Disable other overlays:**
- NVIDIA GeForce overlay
- AMD overlay
- Steam overlay
- Xbox Game Bar
- Can conflict with Discord screen share

**5. Check screen share quality:**
- Lower resolution (720p)
- Lower frame rate (30fps instead of 60fps)
- Reduces CPU/GPU load

**6. For specific application sharing:**
- Share specific window instead of entire screen
- More reliable, better performance
- Less likely to have black screen

---

## Discord Notifications Not Working?

### Desktop Notifications

**Troubleshoot:**

**1. Check Discord notification settings:**
- Settings → Notifications
- ✅ Enable Desktop Notifications
- Configure per-server, per-channel

**2. Check system notification permissions:**

**Windows:**
- Settings → System → Notifications
- Find Discord → Enable

**Mac:**
- System Preferences → Notifications
- Find Discord → Allow notifications

**Linux:**
- Depends on desktop environment
- Most: Settings → Notifications → Discord

**3. Do Not Disturb mode:**
- Discord status icon (top left)
- If moon icon → notifications suppressed
- Change to Online

**4. Notification overrides:**
- Right-click server → Notification Settings
- Check not set to "Nothing"
- Check channel-specific overrides

**5. Suppress @everyone:**
- Settings → Notifications
- Server-specific settings
- Toggle @everyone and @here notifications

---

### Mobile Notifications

**Troubleshoot:**

**1. Check Discord mobile settings:**
- Settings → Notifications
- ✅ Enable Push Notifications

**2. Check system permissions:**

**iOS:**
- Settings → Discord → Notifications → Allow

**Android:**
- Settings → Apps → Discord → Notifications → Enable all

**3. Battery optimization:**

**Android:**
- Settings → Apps → Discord → Battery
- "Don't optimize" or "Unrestricted"
- Battery saver can kill notifications

**iOS:**
- Low Power Mode can delay notifications
- Disable temporarily to test

**4. Force stop and reopen app:**
- Close Discord completely (swipe away)
- Force stop in system settings
- Reopen

**5. Reinstall Discord app:**
- Uninstall
- Reinstall from App Store / Play Store
- Log in

---

## Developer-Specific Issues

### Discord API Down

**How to detect:**

**1. Check API status:**
- [discordstatus.com](https://discordstatus.com/) → API component
- [apistatuscheck.com/api/discord](https://apistatuscheck.com/api/discord)

**2. Test API manually:**
```bash
# Test API availability
curl -I https://discord.com/api/v10/gateway

# Should return 200 OK
HTTP/2 200
```

**3. Check rate limit headers:**
```bash
curl -i -H "Authorization: Bot YOUR_TOKEN" \
  https://discord.com/api/v10/users/@me

# Check response headers:
# X-RateLimit-Limit
# X-RateLimit-Remaining
# X-RateLimit-Reset
```

**Common API issues:**

**Cloudflare errors:**
- 502 Bad Gateway → Backend servers down
- 504 Gateway Timeout → API overloaded
- 521 Web Server Is Down → Discord servers offline

**Solutions:**
- Implement retry logic with exponential backoff
- Cache responses to reduce API calls
- Monitor rate limits proactively

---

### Discord Bot Not Responding

**Troubleshoot:**

**1. Check bot status:**
- Is bot online in server?
- Green dot = connected
- Gray dot = offline

**2. Check bot permissions:**
- Server Settings → Roles → Bot Role
- Verify required permissions granted
- Check channel-specific permission overrides

**3. Check Gateway connection:**
```javascript
// Log Gateway events
client.on('ready', () => console.log('Bot online'));
client.on('disconnect', () => console.log('Bot disconnected'));
client.on('error', error => console.error('Gateway error:', error));
```

**4. Verify bot token:**
- Token may have been regenerated
- Check Developer Portal: [discord.com/developers](https://discord.com/developers)
- Applications → Your Bot → Bot → Token
- If regenerated, update in your code

**5. Check rate limits:**
```javascript
// Proper rate limit handling
client.on('rateLimit', info => {
  console.log(`Rate limit hit: ${info.timeout}ms timeout, route: ${info.route}`);
});
```

**6. Check intents:**
```javascript
// Required intents (Discord.js v14+)
const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent, // Required for message content
    // Add others as needed
  ]
});
```

**7. Enable in Developer Portal:**
- [discord.com/developers](https://discord.com/developers)
- Your Application → Bot
- Privileged Gateway Intents:
  - ✅ Message Content Intent (if reading messages)
  - ✅ Server Members Intent (if tracking members)
  - ✅ Presence Intent (if tracking status)

---

### Webhooks Not Working

**Common issues:**

**1. Webhook deleted:**
```bash
# Test webhook
curl -X POST "https://discord.com/api/webhooks/ID/TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content": "Test message"}'

# 404 = webhook deleted
# 401 = invalid token
# 200 = success
```

**2. Rate limited:**
- Webhooks limited to 30 requests per 60 seconds
- Wait and retry with backoff

**3. Message too large:**
- Content max 2000 characters
- Embed description max 4096 characters
- Total embed size max 6000 characters

**4. Invalid JSON:**
```javascript
// Valid webhook payload
{
  "content": "Message text",
  "embeds": [{
    "title": "Embed title",
    "description": "Embed description",
    "color": 5814783
  }]
}
```

**5. Webhook permissions:**
- Channel must allow "Send Messages" for everyone
- Webhook bypasses role permissions but not channel permissions

---

### Gateway Connection Issues

**Symptoms:**
- Bot constantly disconnecting/reconnecting
- Events not received
- "Disconnected" errors in logs

**Troubleshoot:**

**1. Check heartbeat:**
```javascript
// Monitor heartbeat
client.ws.on('heartbeat', ack => {
  console.log('Heartbeat acknowledged');
});
```

**2. Check shard health:**
```javascript
// For large bots (2500+ servers)
client.on('shardError', error => {
  console.error('Shard error:', error);
});

client.on('shardReconnecting', id => {
  console.log(`Shard ${id} reconnecting...`);
});
```

**3. Verify API version:**
```javascript
// Use current API version (v10 as of 2026)
const client = new Client({
  rest: { version: '10' }
});
```

**4. Network stability:**
- Host bot on stable server (not home internet)
- Use cloud hosting (AWS, DigitalOcean, Heroku)
- Check server uptime and connection quality

**5. Handle reconnects gracefully:**
```javascript
// Proper reconnection handling
client.on('ready', () => {
  console.log('Connected to Gateway');
});

client.on('disconnect', () => {
  console.log('Disconnected, will auto-reconnect');
});

// Library handles reconnection automatically
// Don't force manual reconnection
```

---

### Slash Commands Not Appearing

**Common causes:**

**1. Commands not registered:**
```javascript
// Register global command
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v10');

const rest = new REST({ version: '10' }).setToken(TOKEN);

await rest.put(
  Routes.applicationCommands(CLIENT_ID),
  { body: commands }
);
```

**2. Guild vs Global commands:**
- Guild commands: update instantly
- Global commands: can take up to 1 hour
- Use guild commands for testing

**3. Missing bot scope:**
- Bot invite must include `applications.commands` scope
- Regenerate invite link with correct scopes

**4. Bot lacks permissions:**
- Server Settings → Integrations → Your Bot
- Check command permissions

**5. Cache not refreshed:**
- Discord caches commands
- Restart Discord to see new commands
- Or wait a few minutes

---

## Regional Outages: Is It Just Me?

**Discord uses multiple cloud providers and regions:**

| Region | Primary Provider | Backup |
|--------|------------------|--------|
| North America | Google Cloud | AWS |
| Europe | Google Cloud | Cloudflare |
| Asia Pacific | Google Cloud | Local partners |
| South America | Google Cloud | AWS |

**How to check for regional issues:**

**1. Check DownDetector:**  
🔗 [downdetector.com/status/discord](https://downdetector.com/status/discord)

**Shows:**
- Real-time outage reports by region
- Heatmap of affected areas
- Spike detection

**2. Check Twitter by region:**  
Search "Discord down [region]"  
Example: "Discord down California" or "Discord down EU"

**3. Test from different network:**
- Try mobile hotspot (different ISP)
- Try VPN to different region
- Ask friend in different region to test

**4. Check ISP-specific issues:**
- Some ISPs throttle or block Discord
- Common in: Middle East, China, school networks
- VPN usually bypasses ISP blocks

---

## When Discord Actually Goes Down

### What Happens

**Recent major outages:**
- **December 2025:** 2-hour API outage (database issues)
- **September 2025:** 4-hour voice server disruption (GCP issues)
- **June 2025:** 1-hour Gateway issues (Cloudflare DDoS protection triggered)
- **March 2025:** 3-hour CDN outage (images not loading)

**Typical causes:**
1. Cloud provider outages (Google Cloud, AWS)
2. DDoS attacks
3. Database scaling issues
4. Gateway connection storms
5. CDN failures
6. Deployment bugs

### How Discord Responds

**Communication channels:**
- [discordstatus.com](https://discordstatus.com/) - Primary source
- [@discord](https://twitter.com/discord) on Twitter/X
- In-app notifications (when possible)

**Timeline:**
1. **0-5 min:** Users report issues on Twitter/Reddit
2. **5-15 min:** Discord acknowledges on status page
3. **15-45 min:** Regular updates every 15-30 min
4. **Resolution:** Usually 1-4 hours for major outages

**Post-mortem:**
- Discord publishes detailed incident reports
- Available at [discordstatus.com](https://discordstatus.com/) → Past Incidents

### What to Do During Outages

**1. Switch to backup platform:**
- **Slack** (team communication)
- **Telegram** (similar servers/channels)
- **Guilded** (gaming-focused Discord alternative)
- **Matrix/Element** (open-source alternative)

**2. Monitor status page:**
- [discordstatus.com](https://discordstatus.com/)
- Subscribe to updates (email/SMS/webhook)

**3. If urgent:**
- Use alternative contact methods (SMS, email, phone)
- Discord outages rarely last >4 hours

**4. For community admins:**
- Have backup communication plan
- Twitter account for announcements
- Email list for critical members
- Alternative platform link ready

---

## Discord Down Checklist

**Follow these steps in order:**

**Step 1: Verify it's actually down**
- [ ] Check [Discord Status](https://discordstatus.com/)
- [ ] Check [API Status Check](https://apistatuscheck.com/api/discord)
- [ ] Search Twitter: "Discord down"
- [ ] Try Discord web: [discord.com/app](https://discord.com/app)
- [ ] Try mobile app on cellular data

**Step 2: Quick fixes (if Discord is up)**
- [ ] Restart Discord app (fully quit all processes)
- [ ] Restart router
- [ ] Disable VPN/proxy temporarily
- [ ] Clear Discord cache
- [ ] Test internet: `ping discord.com`

**Step 3: Network troubleshooting**
- [ ] Flush DNS cache
- [ ] Change DNS to Cloudflare (1.1.1.1) or Google (8.8.8.8)
- [ ] Check firewall (allow Discord UDP 50000-65535)
- [ ] Allow Discord in antivirus
- [ ] Try Ethernet instead of WiFi

**Step 4: Voice/video troubleshooting**
- [ ] Check input/output devices (Settings → Voice & Video)
- [ ] Test microphone: "Let's Check"
- [ ] Change voice region to closer location
- [ ] Check voice diagnostics (ping, packet loss)
- [ ] Disable hardware acceleration if screen share broken

**Step 5: Developer troubleshooting (bots)**
- [ ] Check bot status (online?)
- [ ] Verify bot token not regenerated
- [ ] Check Gateway connection logs
- [ ] Verify required intents enabled
- [ ] Check permissions in server and Developer Portal
- [ ] Test API manually with curl

**Step 6: Nuclear option**
- [ ] Completely uninstall Discord
- [ ] Delete cache folders manually
- [ ] Reinstall fresh from [discord.com/download](https://discord.com/download)
- [ ] Contact Discord support: [support.discord.com](https://support.discord.com)

---

## Prevent Future Issues

### 1. Keep Discord Updated

**Discord auto-updates by default, but sometimes fails.**

**Verify you're on latest version:**
- Settings → Appearance → scroll to bottom
- Compare version number to latest stable

**Enable updates:**
- Discord → Settings → Appearance
- ✅ Automatically check for updates

**Manual update check:**
- Ctrl+R (Windows/Linux) or Cmd+R (Mac) to reload
- Forces check for updates

---

### 2. Optimize Network for Discord

**Network quality matters more than raw speed.**

**Optimization tips:**

**1. Use Ethernet for voice/streaming:**
- Wired > WiFi for latency
- WiFi subject to interference

**2. Enable QoS on router:**
- Prioritize Discord UDP traffic (ports 50000-65535)
- Most modern routers support QoS
- Reduces latency during network congestion

**3. Use reliable DNS:**
- Cloudflare (1.1.1.1) - Fastest
- Google (8.8.8.8) - Reliable
- Quad9 (9.9.9.9) - Privacy-focused

**4. Port forwarding (advanced):**
- Forward UDP 50000-65535 to your PC
- Or enable UPnP on router
- Improves voice connection reliability

**5. Monitor connection quality:**
- Settings → Voice & Video → Voice Diagnostics
- Watch ping, packet loss, jitter
- Good: <100ms ping, <1% loss

---

### 3. Configure Optimal Voice Settings

**Prevent most voice issues before they happen.**

**Recommended settings:**

**Settings → Voice & Video:**

**Voice Settings:**
- Input Device: Select correct microphone
- Output Device: Select correct speakers/headphones
- ✅ Echo Cancellation
- ✅ Noise Suppression: Krisp (best quality)
- ✅ Automatic Gain Control

**Advanced:**
- Audio Subsystem: Standard (try Legacy if issues)
- Attenuation: 60-70% (how much others are quieted when you speak)

**Push to Talk vs Voice Activity:**
- Voice Activity: Automatic, hands-free
- Push to Talk: No background noise, more control
- Recommendation: Voice Activity for casual, PTT for noisy environments

---

### 4. Monitor Discord Status Proactively

**Don't wait for problems.**

**Set up alerts:**

**1. Status page subscription:**
- Visit [discordstatus.com](https://discordstatus.com/)
- Subscribe → Email or SMS
- Get instant notifications

**2. API monitoring:**
- Use [API Status Check](https://apistatuscheck.com/api/discord)
- Set up alerts to Slack, Discord (meta!), or email
- Track uptime trends

**3. Developer monitoring:**
```javascript
// Bot health check endpoint
app.get('/health', (req, res) => {
  res.json({
    status: client.ws.status === 0 ? 'online' : 'offline',
    uptime: client.uptime,
    ping: client.ws.ping,
    guilds: client.guilds.cache.size
  });
});
```

**4. Follow Discord on Twitter:**
- [@discord](https://twitter.com/discord) - Official announcements
- [@discordapp](https://twitter.com/discordapp) - Status updates

---

### 5. Have Backup Communication Plan

**For communities and teams relying on Discord:**

**Backup platforms:**
- **Telegram:** Easy migration, similar features
- **Slack:** Professional teams
- **Matrix/Element:** Open-source, self-hosted option
- **Guilded:** Gaming-focused Discord alternative

**Backup contact methods:**
- Email list for core team
- SMS/phone tree for critical situations
- Twitter account for announcements
- Alternative Discord server (different region)

**For developers:**
- Webhook retry logic with exponential backoff
- Queue system for critical messages
- Cache frequently accessed data
- Implement circuit breaker pattern

---

### 6. Regular Maintenance

**Monthly checklist:**

- [ ] Clear Discord cache
- [ ] Check for Discord updates
- [ ] Review notification settings (declutter)
- [ ] Test microphone/camera
- [ ] Check voice diagnostic metrics
- [ ] Review bot logs (if running bots)
- [ ] Update bot libraries (discord.js, discord.py, etc.)
- [ ] Test backup communication methods

---

## Key Takeaways

**Before assuming Discord is down:**
1. ✅ Check [Discord Status](https://discordstatus.com/)
2. ✅ Test at [discord.com/app](https://discord.com/app)
3. ✅ Try mobile app on cellular data
4. ✅ Search Twitter for "Discord down"
5. ✅ Check [API Status Check](https://apistatuscheck.com/api/discord)

**Common fixes:**
- Restart Discord + router (fixes 50% of issues)
- Clear Discord cache (fixes corrupted data)
- Flush DNS / Change DNS (fixes 1.1.1.1)
- Check firewall (allow UDP 50000-65535)
- Disable VPN temporarily (can interfere)

**Voice/Video issues:**
- Check input/output devices in settings
- Enable echo cancellation and noise suppression
- Change voice region to closer location
- Use Ethernet for stable connection
- Lower bitrate if bandwidth limited

**For developers:**
- Implement retry logic with exponential backoff
- Respect rate limits (check headers)
- Enable required Gateway intents
- Monitor bot health and Gateway connection
- Test API availability before deploying

**If Discord is actually down:**
- Monitor [discordstatus.com](https://discordstatus.com/)
- Use backup platform (Telegram, Slack)
- Usually resolved within 1-4 hours
- Discord publishes post-mortems

**Prevent future issues:**
- Keep Discord updated (auto-update enabled)
- Use reliable DNS (1.1.1.1 or 8.8.8.8)
- Monitor status proactively
- Have backup communication plan
- Clear cache monthly

**Remember:** Most "Discord down" reports are network issues, firewall blocks, or corrupted cache. Try the fixes in this guide before assuming Discord is down.

---

**Need real-time Discord status monitoring?** [Track Discord uptime with API Status Check](https://apistatuscheck.com/api/discord) - Get instant alerts when Discord goes down.

---

## Related Resources

- [Is Discord Down Right Now?](/down/discord) — Live status check
- [Discord Outage History](/incidents/discord) — Past incidents and timeline
- [Discord API Documentation](https://discord.com/developers/docs) — Official developer docs
- [API Outage Response Plan](/blog/api-outage-response-plan) — How to handle downtime like a pro
- [Discord vs Slack Uptime](/compare/discord-vs-slack) — Which platform is more reliable?
