Skip to content

Discord

Discord webhooks let ChannelWatch post alert messages directly to any channel in your server. No bot account or OAuth setup is required. You create a webhook URL in Discord’s server settings and paste it into ChannelWatch.

ChannelWatch sends Discord webhooks directly over HTTP for standard discord.com/api/webhooks/ URLs. For non-standard Discord URL formats, the Custom (Apprise) provider handles the fallback using Apprise.

  • A Discord server where you have Manage Webhooks permission (or are the server owner)
  • A channel to receive ChannelWatch alerts
  1. Open Discord and go to the server where you want alerts delivered.
  2. Right-click the target channel and select Edit Channel.
  3. Click Integrations in the left sidebar.
  4. Click Webhooks, then New Webhook.
  5. Give the webhook a name (e.g. ChannelWatch) and optionally set an avatar.
  6. Click Copy Webhook URL.

The URL looks like:

https://discord.com/api/webhooks/<webhook-id>/<webhook-token>

Step 2: Enter the webhook URL in ChannelWatch

Section titled “Step 2: Enter the webhook URL in ChannelWatch”
  1. Open the ChannelWatch web UI at http://your-server-ip:8501.
  2. Go to Settings > Notifications and stay on the Global scope.
  3. Turn on Discord.
  4. Paste the full webhook URL into the Webhook URL field.
  5. Click Save and wait for ChannelWatch to reload its notification providers.

ChannelWatch parses the URL automatically. You don’t need to extract the webhook ID or token manually.

ChannelWatch Discord notification provider with an enabled switch and masked URL field and format guidance
Discord webhook configurationPaste the webhook URL into the dedicated Discord provider. Sample credentials are masked. Captured from ChannelWatch v1.6.0 with safe demo data.View full-size screenshot

ChannelWatch v1.6.0 has a Diagnostics notification-test limitation. Use the supported command-line fallback below when testing this release. It sends a real message to configured destinations:

Terminal window
docker exec -it channelwatch python -m core.main --test-alert ALERT_CHANNEL_WATCHING

Check the Discord channel and Delivery Log. A direct Discord webhook is posted as ChannelWatch Bot. A sent result confirms that Discord accepted the request, not that every member saw it.

ChannelWatch sends Discord notifications as embedded messages. The alert title appears as the embed title, and the alert body appears as the embed description. If the alert includes an image (channel logo or program artwork), it appears inside the embed.

A Channel Watching alert in Discord looks like an embed card with:

  • Title: Channels DVR - Watching TV with the default template
  • Description: the full alert body (channel number, program, device, IP, source)
  • Image: channel logo or program artwork (if available and reachable)

ChannelWatch sets the embed accent to blue (#3498DB). The text examples and template editor describe the content; Discord controls the final client layout.

No message appears after saving

Confirm the webhook URL was copied in full. Partial URLs (missing the token after the last /) are silently rejected. Delete the value, re-copy from Discord, and save again.

“Unknown Webhook” error in logs

The webhook was deleted in Discord after you saved the URL in ChannelWatch. Go to Settings > Notifications, open the Global scope, clear the Discord field, and create a new webhook in Discord to replace it.

Messages appear but without images

Discord embeds require an image URL that passes ChannelWatch’s safety checks and is reachable by Discord. Private and local URLs are omitted. The alert can still send as text. Also check that the alert’s image option is enabled and that DVR metadata contains artwork.

Webhook URL format rejected

ChannelWatch expects a standard Discord webhook URL starting with https://discord.com/api/webhooks/ or https://discordapp.com/api/webhooks/. If you have a non-standard Discord URL format, use the Custom (Apprise) provider instead. Apprise supports additional Discord URL schemes that the dedicated Discord field does not accept.

Channel permissions

The webhook is tied to the specific channel it was created in. If you want alerts in a different channel, create a new webhook in that channel and update the URL in ChannelWatch.

Rate limiting

Discord applies rate limits that can vary by route and webhook; there is no fixed per-minute allowance to rely on here. See Discord’s rate-limit documentation. ChannelWatch also has bounded retries and a circuit breaker. Check the delivery log and provider response when an alert does not arrive.