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.

  • 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/1234567890123456789/AbCdEfGhIjKlMnOpQrStUvWxYz0123456789

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 > Notification Providers > Discord.
  3. Paste the full webhook URL into the Webhook URL field.
  4. Click Save.

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

Send a test notification from Diagnostics > Alert Tests. Choose any alert type and click Send Test. The message should appear in your Discord channel within a few seconds, posted by ChannelWatch Bot.

You can also test from the command line:

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

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: 📺 ABC
  • Description: the full alert body (channel number, program, device, IP, source)
  • Image: channel logo or program artwork (if available and reachable)

The embed uses Discord’s default blue accent color (#3498DB).

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 > Notification Providers > Discord, clear the field, and create a new webhook in Discord to replace it.

Messages appear but without images

Image attachments require a publicly reachable URL. If your Channels DVR server is on a private network, the image URL is not accessible from Discord’s servers. The text embed still delivers correctly. This is expected behavior on private networks.

Webhook URL format rejected

ChannelWatch expects a standard Discord webhook URL starting with https://discord.com/api/webhooks/ or https://discordapp.com/api/webhooks/. URLs from other sources (e.g. Slack-style webhook URLs) are not compatible with this field. Use the Custom (Apprise) provider for non-standard webhook formats.

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 webhooks are rate-limited to 30 requests per minute per webhook. ChannelWatch sends one message per alert event, so this limit is not a concern in normal home use. If you have multiple alert types firing simultaneously during a busy recording session, messages may be briefly delayed but will not be dropped.