beets + pushplus:音乐入库后推到微信
效果:
beet import成功写入曲库后,微信收到专辑或曲目摘要。
beets 没有内置 pushplus。用官方 hook 插件在 import 事件后 curl。
前置条件
- 一个 pushplus token(官网扫码获取)
- 本机已能
beet import,可改config.yaml
配置步骤
- 在 beets 配置里启用 hook 插件(路径一般是
~/.config/beets/config.yaml):
plugins: hook
hook:
hooks:
- event: import
command: >
curl -s -X POST https://www.pushplus.plus/send
-H "Content-Type: application/json"
-d '{"token":"'"$PUSH_PLUS_TOKEN"'","title":"beets 入库完成","content":"paths={paths}","template":"markdown"}'
{paths}等占位符以 hook 插件说明 为准;也可用album_imported/import_task_files等更细的事件。- 把 token 放到环境变量
PUSH_PLUS_TOKEN(或 systemdEnvironment=),不要写进会进 Git 的配置。 content必填。没有 hook、只想包一层时:
beet import /path/to/music && \
curl -s -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"beets 导入结束","content":"请打开曲库查看","template":"markdown"}'
完整字段见 消息接口。
验证
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"beets 配置测试","content":"token 可用","template":"markdown"}'
再导入一张很小的测试专辑,确认 hook 触发。
常见问题
import 成功但没推? 看 beet -v import 是否加载了 hook;shell 要能访问 www.pushplus.plus。见 收不到消息、接口限制。
每次试听预览都推? 用 album_imported,避免挂在尚未确认的预览事件上。