Skip to main content
tuliprox can send notifications when important events occur — playlist updates complete, errors are detected, watched groups change, or usage statistics are ready. Notifications are configured under the messaging key in config.yml.

Notification providers

Set markdown: true to send messages with Telegram’s MarkdownV2 formatting. Use the <chat id>:<thread id> syntax to post into a specific topic thread in a group.

notify_on events

The notify_on list controls which event types trigger notifications: You can include any combination of these events. Leave notify_on empty to disable all notifications while keeping the provider config in place.

Message templates

tuliprox uses Handlebars to render notification messages. Templates have access to the following variables:

Loading templates from files or URLs

Instead of embedding a template string inline, you can point tuliprox to a file or remote URL:
Supported URI schemes for templates:

Watching groups for changes

The watch feature in a target monitors final group names and emits a watch notification whenever those groups gain or lose channels. Configure watch on a target in source.yml:
Each entry is a regex matched against the final group names after all processing has completed. When tuliprox detects a change in a watched group after a playlist update, it fires a watch notification through all configured providers.
The watch event in notify_on must be enabled for watch notifications to be delivered.

Web UI monitoring

The built-in Web UI provides real-time visibility into tuliprox’s state without any external tooling:
  • Active streams — see which channels are being streamed and by which users right now
  • User sessions — connected users, their priority, and connection counts
  • Playlist state — inspect the current processed playlist, group counts, and channel lists
  • Download manager — queue and monitor video downloads (when the video.download integration is enabled)
Enable the Web UI in config.yml:
The userfile contains one username:password_hash entry per line. Generate password hashes with:
Set combine_views_stats_streams: true under web_ui to merge the stats and active-streams views into a single dashboard panel.

Full messaging example

This example sends info and error events to Telegram, and watch events to both Telegram and a custom REST endpoint: