SuperAPI AI 工具集

dual-channel-watchexec-notifications

部署与运维

查看项目

更新于 10-16 01:50

技能介绍

用途:在 watchexec 监控到文件变化或进程崩溃时,通过 Telegram 与 Pushover 双渠道发送通知。

主要能力:封装 watchexec 包装脚本、检测事件与重启原因、调用 notify-script 同时推送两个渠道;为不同渠道分别格式化消息;提供凭据管理、文件检测与常见问题参考。

使用方式:核心链路为 watchexec 包装脚本 → 检测事件 → notify 脚本 → Telegram + Pushover。包装示例:watchexec --restart -- python bot.py;事件触发时调用 notify-script.sh <reason> <exit_code> <watchexec_info_file> <crash_context>。发送时 Telegram 用 HTML 模式(parse_mode=HTML,仅需转义 &、<、> 三个字符),Pushover 仅用纯文本,需先用 sed 去除 HTML 标签;凭据来自环境变量或 Doppler,通知以后台 fire-and-forget 方式运行(命令末尾加 &),文件检测在 macOS 上使用 stat 而非 find -newermt。

适用场景:搭建带通知的文件变更监控、通过 Telegram 与 Pushover 实现进程崩溃告警、创建支持双渠道通知的 watchexec 包装脚本、为两种渠道格式化消息、排查通知投递或格式问题。

限制与注意事项:Telegram 不要使用 Markdown,否则转义字符过多易出错;Pushover 不得带 HTML 标签;动态内容需转义 &、<、>;凭据禁止硬编码。常见问题包括转义错误、Pushover 显示 HTML 标签、凭据缺失、特殊字符损坏、macOS 兼容性、通知阻塞、重启循环导致重复通知、缺少崩溃上下文。详细说明可参考 Telegram HTML、Pushover 集成、凭据管理、watchexec 模式与常见陷阱文档;随附 examples 目录下的 notify-restart.sh、bot-wrapper.sh、setup-example.sh。具体价格、平台支持范围等资料暂未提供。