beets + Server酱:音乐导入完成时微信收到通知

效果:beets 导入音乐完成后,自动通过 Server酱 向微信推送通知。

beets 是命令行音乐库整理工具,通过社区插件 beets-notify 接入 Apprise 通知框架,可在每次导入音乐完成后自动推送消息。

前置条件

  • SendKey30 秒获取教程,需获取以 SCT 开头的 SendKey。
  • beets:已安装 beets 命令行工具。
  • beets-notify 插件:社区插件,用于在导入完成时触发通知。
  • apprise:beets-notify 依赖的通知库,支持 Server酱 的 schan:// 协议。

配置步骤

1. 获取你的 apprise URL

Server酱在 Apprise 中的专用协议为 schan://,直接拼接 SendKey 即可:

schan://你的SENDKEY

该协议底层调用 https://sctapi.ftqq.com/你的SENDKEY.send,对接 Server酱Turbo,SCT 开头的 SendKey 直接可用。

2. 安装 beets-notify 及 apprise

安装 beets-notify 插件(具体安装方式以项目仓库说明为准),并安装 apprise:

pip install apprise

3. 在 beets 配置中启用插件并填入 URL

在 beets 配置中启用 notify 插件,将 apprise URL 填入配置(具体配置字段以 beets-notify 文档为准):

schan://你的SENDKEY

配置完成后,beets 每次导入音乐完成时,beets-notify 会自动通过该 URL 推送通知。

4. 命令行自测

在接入 beets 之前,先用 apprise 命令行验证 SendKey 是否生效:

apprise -t "测试" -b "正文" "schan://你的SENDKEY"

收到微信通知说明配置正确。

如需推送到企业微信、钉钉或飞书群,参见通道说明。通用 Apprise 接法详见 Apprise 接入 Server酱

常见问题

每天能发多少条消息?

免费额度为每天 5 条,订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。

消息没收到怎么办?

先用 apprise -vv 自测命令验证 SendKey 和网络是否正常,进一步排查见常见问题与排查

有频率限制吗?

每分钟上限 50 条,短时间大量导入可能触发限流。

sctp 开头的 SendKey 能用 schan:// 吗?

schan:// 协议对接 Server酱Turbo,SCT 开头的 SendKey 直接可用。sctp 开头的 SendKey 使用不同端点,需参考 Apprise 文档确认支持的协议格式。

相关集成

懒人方案:把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手,它就会替你完成 Server酱 的接入:

请帮我把 Server酱 微信通知接入到我当前的项目/工具中:
1. API:POST https://sctapi.ftqq.com/{SendKey}.send,参数 title(必填,不能含换行)、desp(正文,支持 Markdown,可选);成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头,则改用 https://{uid}.push.ft07.com/send/{SendKey}.send,uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取;如果没有,提醒我到 https://sct.ftqq.com 免费获取(每天 5 条额度)。
4. 安全要求:不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定:任务结束发 1 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。