使用远端 NapCat 接口
约 756 字大约 3 分钟
2025-02-09
如果在 NcatBot 之前没有接触过其它涉及网络的编程或者配置, 那么不应该使用远端 NapCat 接口. 选择使用远端 NapCat 接口表明你愿意为此付出时间学习或者已经具备相当的基本知识.
由于 QQ 风控, 不建议频繁开关 NapCat. 因此有时候需要将 NapCat 部署在云服务器上. 一般来说建议一并将 NcatBot 也部署在同一台服务器上, 但有时候确实需要分开部署, 此时可以使用远端 NapCat 接口.
什么时候适合使用远端 NapCat 接口
自定义的 NcatBot 功能对性能要求很高, 云服务器无法负担, 但希望 NapCat 能够不间断运行, 不需要每次使用 NcatBot 时都启动 NapCat.
具备基本的网络和操作系统知识的前提下, 你认为需要使用远端 NapCat 接口的情况.
准备工作
远端 NapCat 接口一般由云服务器提供, 云服务器的操作系统一般是 Linux, 你需要完成以下操作:
- 获取服务器公网 IP.
- 开放系统防火墙的 3000, 3001, 6099 端口.
- 开放服务商防火墙的 3000, 3001, 6099 端口.
请参考 Linux 安装 完成 2, 3 步, 服务器公网 IP 请向服务商获取.
自动配置远端 NapCat 服务器(推荐)
在远端正常运行 NcatBot 的示例程序, 下面将其称为远端引导程序。
运行远端引导程序时, 除了改动 bt_uin
和 root
外, 还需将 ==ws_uri
填写为 ws://<服务器公网 IP>:<端口号>
,将 ws_listen_ip
填写为 0.0.0.0
(监听所有来源的请求)。
from ncatbot.core import BotClient
bot = BotClient()
# 假设服务器公网 IP 为 123.123.123.123, 你希望在 3001 端口上开启 NapCat 服务。
bot.run_blocking(bt_uin="123456", root="root", ws_uri="ws://123.123.123.123:3001", ws_token="your_token", ws_listen_ip="0.0.0.0")
Ncatbot 会进行自动登录的引导, 远端引导程序成功启动并进行测试后, 可以关闭 NcatBot 但不要关闭 NapCat.
接着在本地使用同样的参数运行 Ncatbot 即可。
建议使用 token
参数确保 NcatBot 和 NapCat 的连接安全。
手动配置远端 NapCat 服务器
根据 NapCat 文档, 在远端正确配置 NapCat 及其 WebSocket 服务器。
尤其注意需要 "启用" WebSocket 服务器,以及监听端口的填写应该为 0.0.0.0
。
本地运行 NcatBot, ws_uri
填写为 ws://服务器公网 IP:{你配置时填写的端口}
. token
填写为 WebSocket 的 token(注意不是 webui 的 token, WebSocket token 默认为空字符串).
提醒
- 获取文件时,如果 NapCat 服务器在远端,那么会返回远端服务器的路径。你需要自行对位于远端的文件进行管理。
版权所有
版权归属:huan-yp