Lingchu Bot 文档现已上线 — 快来看看吧!
Lingchu Bot

NapCat 实现

NapCat 实现

NapCat 是基于 NTQQ 的 OneBot V11 实现。Lingchu Bot 的 napcat/ 扩展包在默认 OneBot V11 处理器之上添加 NapCat 专属能力。

最低版本

能力最低版本
群公告(发送群公告NapCat.Onebot >= 4.18.0
群头像(设置群头像NapCat.Onebot >= 4.18.0
远程公告(远程公告NapCat.Onebot >= 4.18.0

机器人通过 get_version_info() 检测 NapCat,其中 app_name == "NapCat.Onebot"。低于最低版本的命令会从菜单中隐藏。

扩展模块

模块新增
announcement.py使用 _send_group_notice API 的群公告处理器
profile.py使用 set_group_portrait API 的群头像处理器

群公告

NapCat 通过 _send_group_notice API 支持文本和图片公告:

发送群公告 <内容> [图片]
send-announcement <content> [image]

图片参数接受 nonebot-plugin-alconnaUniImage。实现会把原始字节、本地路径或可下载 URL 解析到缓存文件,再向 API 传入文件系统路径。

NapCat 当前要求公告 image 字段在 NapCat 侧可读取。如果 Lingchu Bot 与 NapCat 运行在不同文件系统中,请按用户配置指南配置群公告图片路径桥接。

WSL2(Debian / Ubuntu)部署、迁移到 WSL2 时遇到 retcode=1200, image 字段可能格式不正确 等问题,请参考 NapCat Docker WSL2 部署章节最常见的根因是 Docker Desktop Settings → Resources → File sharing 没把 \\wsl.localhost\Debian\(按你的 distro 名)加进白名单,补上后 Apply & restart 并重建 NapCat 容器即可。

群头像

NapCat 通过标准 set_group_portrait API 支持设置群头像:

设置群头像 <图片>
set-group-avatar <image>

远程公告

远程公告命令(远程公告)使用与本地公告命令相同的 _send_group_notice API,但作用于不同的群:

远程公告 <群号|群名称> <内容> [图片]
remote-announcement <group_id|group_name> <content> [image]

群号解析和上下文校验逻辑见默认实现

配置

纯文本公告除标准 OneBot V11 配置外,不需要额外的 Lingchu Bot 配置。跨 Docker 或跨主机发送图片公告时,需要配置群公告图片路径桥接。确保 NapCat 正在运行并通过 WebSocket 或 HTTP 反向代理连接到 NoneBot。

DRIVER=~fastapi+~httpx+~websockets
ONEBOT_ACCESS_TOKEN=your-token

源码参考

参见仓库中的 handle/qq/adapters/onebot11/napcat/

最后更新于

本页目录