Ubuntu安装NapCat并接入NoneBot2
NapCat的非入侵式安装
该章节参考NapCat官方安装文档
参考napcat-linux-installer仓库安装 NapCat.Linux.Launcher - 新式非入侵式启动器:
- 选择自己要安装napcat的路径并进入到该路径下
- 执行
curl -o napcat.sh https://raw.githubusercontent.com/NapNeko/napcat-linux-installer/refs/heads/main/install.sh && sudo bash napcat.sh - 按顺序执行以下指令启动:
- 执行
sudo su切到root用户 Xvfb :1 -screen 0 1x1x8 +extension GLX +render > /dev/null 2>&1 &export DISPLAY=:1LD_PRELOAD=./libnapcat_launcher.so qq
- 执行
- 启动成功后会弹出二维码,扫描即可登录(NapCat配有专门管理面板,在控制台可以找到链接,在上面扫码登录也可以)
NapCat对接Nonebot框架
NapCat是基于Onebot协议与Nonebot对接的,所以只需要填写好相关的配置就能用Nonebot框架完成开发,非常方便。
该章节参考NapCat官方基本配置文档、Nonebot官方配置文档
步骤:
- 确保Nonebot安装了Onebot适配器,没有安装的可以使用指令
nb adapter install nonebot-adapter-onebot或pip install nonebot-adapter-onebot安装 - napcat安装完后可以发现在当前路径下生成napcat文件夹,同时注意到napcat配置文件
napcat/config/webui.json,推荐修改该文件完成安全配置(参考💖 NapCatのWebUI配置指南💖以及安全相关):
{
"host": "127.0.0.1", # 修改host,如果是固定ip用该ip也行,就是不要用0.0.0.0
"port": XXX, # 自己另改一个,不要用默认端口6099
"token": "XXX", # 自己改一个密码鉴权
"loginRate": 3, # 每分钟登录次数限制,自己改一个适合的
...
}
- 此外还能注意到napcat下生成的onebot配制文件
napcat/config/onebot11_你启动时登录的QQ号.json,需要修改该文件完成与Onebot11的对接,这里以反向WebSocket为例进行配置,其他连接方式官方文档有介绍:
{
"network": {
"httpServers": [],
"httpClients": [],
"websocketServers": [],
// WS客户端组/反向WS 可以配置多个 这里演示为一个
"websocketClients": [
{
"name": "WsClient",// 名字不能重复 唯一标识,改一个自己喜欢的
"enable": true,//启用状态,要应用配置,所以改为true
"url": "ws://127.0.0.1:XXX/onebot/v11/ws",// 上报地址,改为Nonebot中规定使用Onebot时的连接方式,其中端口号可以自定义,但是要确保和Nonebot里配置的对的上
"messagePostFormat": "array",// 消息上报格式 string/array,不动
"reportSelfMessage": false,// 是否上报自身消息,不动
"reconnectInterval": 5000,// 重连间隔,不动
"token": "XXX",// 鉴权密钥,这里是指使用Onebot协议连接时的鉴权token,注意不要与webui.json里面的token混淆(当然你硬是要使用相同的鉴权也不是不行)
"debug": false,// raw数据上报,不动
"heartInterval": 30000,// 心跳周期,不动
}
]
},
"musicSignUrl": "",
"enableLocalFile2Url": false,
"parseMultMsg": false
}
- 修改/添加Nonebot里面的配置,先确保自己安装了Onebot适配器,在激活的环境文件中(通常是名为
.env.XXX的文件,后缀名XXX在.env文件里面的ENVIRONMENT参数写着,或着直接使用.env文件也行)修改/添加以下配置:
ONEBOT_ACCESS_TOKEN='XXX' # 配置 Onebot的token,改成上一步你在onebot11_XXX.json里面设置的token
HOST='127.0.0.1' # 配置 NoneBot2 监听的 IP/主机名,不动
PORT='XXX' # 配置 NoneBot2 监听的端口,改成上一步你在onebot11_XXX.json里面设置的url中的端口号
SUPERUSERS='["XXX"]' # 配置 NoneBot 超级用户(QQ号),设置一个QQ号做超级用户
NICKNAME='["XXX"]' # 配置机器人的昵称,填自己喜欢的
COMMAND_START='["/", ""]' # 配置命令起始字符
COMMAND_SEP='["."]' # 配置命令分割字符
- 启动Nonebot,再启动NapCat,完成Nonebot与Napcat的对接,然后就可以应用Nonebot框架愉快地开发自己的机器人了
让screen支持直接鼠标滚动窗口:
vim ~/.screenrc
# 加入以下这行
termcapinfo xterm* ti@:te@

浙公网安备 33010602011771号