A lightweight Discord webhook monitoring bot that continuously checks multiple Discord webhooks and sends instant notifications when a webhook becomes unavailable or comes back online.
Designed for developers, server administrators, and automation projects that rely on Discord webhooks.
- π Monitor multiple Discord webhooks simultaneously
- β‘ Automatic webhook availability checks
- π¨ Instant Discord alerts when a webhook becomes unavailable
- β Recovery notifications when a webhook becomes active again
- π Detailed logging system (file + console)
- β±οΈ Fully configurable monitoring intervals
- π Fully asynchronous architecture using
asyncioandaiohttp - πΎ Smart webhook URL caching for improved performance
- π‘οΈ Handles invalid, deleted, and unavailable webhooks
Discord webhooks can become unavailable when they are deleted, invalidated, or modified.
DiscordWebhookMonitor solves this by continuously checking your configured webhooks and notifying you immediately when a problem occurs.
- Resolve the webhook URL from the configured source.
- Send a request to check the webhook status.
- Detect unavailable webhooks (
HTTP 401,403,404). - Send an alert message to your Discord channel.
- Detect when the webhook becomes available again.
- Save monitoring events to log files.
DiscordWebhookMonitor/
β
βββ app.py
βββ config.json
βββ .env
βββ requirements.txt
β
βββ logs/
βββ bot.log
Create a .env file:
BOT_TOKEN=YOUR_DISCORD_BOT_TOKENExample config.json:
{
"alert_channel_id": 123456789012345678,
"check_interval_seconds": 600,
"webhooks": [
{
"name": "Example Webhook",
"url": "https://pastebin.com/raw/example"
}
]
}| Option | Description |
|---|---|
alert_channel_id |
Discord channel where alerts are sent |
check_interval_seconds |
Delay between webhook checks |
webhooks |
List of monitored webhooks |
name |
Webhook display name used in notifications |
url |
External source containing the webhook URL |
git clone https://github.com/Peppy187/DiscordWebhookMonitor.git
cd DiscordWebhookMonitorpip install -r requirements.txtCreate:
.env
Add:
BOT_TOKEN=YOUR_DISCORD_BOT_TOKENEdit:
config.json
Add your monitored webhooks and alert channel.
python app.py- Python 3.10+
- discord.py
- aiohttp
- python-dotenv
Install manually:
pip install discord.py aiohttp python-dotenvAll monitoring activity is stored in:
logs/bot.log
Example output:
2026-07-31 15:30:01 | INFO | [DrAyri] HTTP status: 200
2026-07-31 15:40:01 | WARNING | [DrAyri] webhook unavailable (404)
2026-07-31 15:50:01 | INFO | [DrAyri] webhook active
β οΈ @everyone Webhook unavailable: DrAyri
β
Webhook restored: DrAyri
- π Python
- π€ discord.py
- β‘ asyncio
- π aiohttp
- π python-dotenv
Planned improvements:
- Docker support
- Web dashboard
- Uptime statistics
- Database logging
- Advanced Discord embeds
- Multi-server support
This project is intended for monitoring and administrative purposes only.
Always follow Discord's Terms of Service and applicable platform rules when using webhooks or automation tools.
This project is licensed under the MIT License.
If you find this project useful, consider giving it a star on GitHub!