使用 Flask 接收录播姬 Webhook v2,并通过 Telegram Bot 发送提醒消息。
pip install -r requirements.txt复制 .env.example 为 .env,修改以下必填项:
TELEGRAM_BOT_TOKEN:你的 Telegram Bot TokenTELEGRAM_CHAT_ID:接收消息的 chat id(个人、群组或频道)
可选项:
WEBHOOK_PATH:Webhook 路径,默认/webhookFLASK_HOST/FLASK_PORT:监听地址和端口PUSH_FILTER_ENABLED:是否启用推送过滤PUSH_ONLY_EVENT_TYPES:仅推送指定事件类型(逗号分隔)PUSH_ONLY_ROOM_IDS:仅推送指定房间号(逗号分隔)
Get-Content .env | ForEach-Object {
if ($_ -match '^\s*#' -or $_ -match '^\s*$') { return }
$name, $value = $_ -split '=', 2
[Environment]::SetEnvironmentVariable($name, $value, 'Process')
}
python app.py启动后健康检查:
GET /health
Webhook 接口:
POST {WEBHOOK_PATH}(默认POST /webhook)
- 确保
.env已按.env.example配置好。 - 构建并启动:
docker compose up -d --build- 查看日志:
docker compose logs -f可查看健康状态:
docker compose ps- 停止服务:
docker compose down在录播姬 Webhook 设置中填入:
http://你的服务器IP或域名:5000/webhook
如果你修改了 WEBHOOK_PATH 或端口,请同步修改 URL。
- 支持
SessionStarted、FileOpening、FileClosed、SessionEnded、StreamStarted、StreamEnded - 收到未知事件类型也会通知(显示为未知事件)
- 使用
EventId做去重,避免重试造成重复推送 - Telegram 发送失败会返回非 2xx,录播姬可按其机制重试
- 当
PUSH_FILTER_ENABLED=true时,可按事件类型和房间号进行推送过滤
过滤配置示例:
PUSH_FILTER_ENABLED=true
PUSH_ONLY_EVENT_TYPES=StreamStarted,StreamEnded
PUSH_ONLY_ROOM_IDS=23058,123456