# Moonraker 接入 Server酱：Klipper 3D 打印状态推送到微信（2026 教程）

> 通过 Moonraker 内置 notifier 组件配置 Server酱，将 Klipper 打印完成、出错等事件推送到微信。

- 网页版：https://sct.ftqq.com/docs/integrations/moonraker/
- 更新日期：2026-07-17

# Moonraker + Server酱：Klipper 3D 打印状态推送到微信

> 效果：Klipper 打印完成或出错时，自动推送消息到微信，不用守在打印机旁。

## 前置条件

- Server酱 SendKey（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）。schan:// 协议仅支持 SCT 开头的 SendKey，不支持 sctp 开头的 SendKey。
- 已安装 Klipper + Moonraker 的 3D 打印机环境（Mainsail 或 Fluidd 均可）。
- Moonraker 内置 apprise 通知组件（notifier），无需额外安装。
- 如需推送到企业微信/钉钉/飞书群，参见[通道说明](https://sct.ftqq.com/docs/getting-started/channels/)。

## 配置步骤

### 1. 命令行验证连通性

在 Moonraker 所在机器上执行，确认 apprise 与 Server酱 通路正常：

```bash
pip install apprise && apprise -t "测试" -b "正文" "schan://你的SENDKEY"
```

收到微信推送即说明通路正常。

### 2. 在 moonraker.conf 中添加 notifier 段

编辑 moonraker.conf，添加以下配置：

```ini
[notifier my_phone]
url: schan://你的SENDKEY
```

notifier 段的事件触发字段请参考 Moonraker 官方文档配置。

### 3. 重启 Moonraker

保存 moonraker.conf 后重启 Moonraker 服务使配置生效。重启方式以你的安装方式为准。

## 常见问题

**免费额度够用吗？**

Server酱免费版每天 5 条。3D 打印通知频率低，日常使用足够。订阅会员目前特价最低 3 元/月，一天最多可发 1000 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**每分钟能发多少条？**

每分钟上限 50 条，会员每日 API 请求上限 1000 条。

**配置后没收到消息？**

先确认命令行验证步骤能收到推送；再检查 moonraker.conf 中 notifier 段缩进与格式；最后确认 Moonraker 已重启。更多排查见[常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/)。

**sctp 开头的 SendKey 能用吗？**

不能。schan:// 是 Apprise 中 Server酱 的专用协议，仅支持 SCT 开头的 SendKey。sctp 开头的 SendKey 不能使用 schan:// 协议，可尝试其他接入方式，如 [Python 脚本推送](https://sct.ftqq.com/docs/integrations/python/)。

**消息内容能自定义吗？**

notifier 段的消息模板字段以 Moonraker 官方文档为准。

## 相关集成

- [Apprise 通用接入](https://sct.ftqq.com/docs/integrations/apprise/) —— schan:// 协议的详细说明与更多用法
- [Python 脚本推送](https://sct.ftqq.com/docs/integrations/python/) —— 适用于 sctp SendKey 或自定义脚本场景
- [Uptime Kuma 宕机告警](https://sct.ftqq.com/docs/integrations/uptime-kuma/) —— 监控服务状态并推送到微信


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

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

```text
请帮我把 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 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

