notify "标题" "正文" 默认按 info 路由 notify -l urgent "板子失联" "T1 ping 不通" notify -c wecom -c email "周报" "见正文" 指定渠道 notify --publish ./x.html --sub 名字 "标题" "说明" cat report.md | notify "周报" - 正文走管道 notify channels 渠道体检表
这一页就是 --publish 发出来的,消息也是 notify 自己推的。
| 渠道 | Mac | T1 板子 | 说明 |
|---|---|---|---|
| wecom | ✓ | 经 relay | 企业微信,主通道 |
| ✓ | 经 relay | 长报告 / 附件 / 存档 | |
| t1voice | — | ✓ | 板子喇叭,直接念出来 |
| relay | — | ✓ | 借道 Mac 发企业微信 |
| bark / ntfy | 待配 | 待配 | 手机推送,可穿透静音 |
| macos | 待配 | — | Mac 横幅 |
| sms | 未实现 | 未实现 | 断网也能收,留给真紧急 |
重点不是渠道多,是不会静悄悄地失败。全部渠道都没发出去时 notify 返回非 0。
@register
class Foo(Channel):
name = "foo"
def check(self): ... # 能不能用 + 为什么
def send(self, msg): ... # 自己把 Message 转成自家格式
路由、CLI、所有调用方都不用动 —— 这是把渠道收进网关的意义。