qq群机器人,腾讯官方可以直接申请,但需要企业实体。个人实体一般用一个qq小号代替。最近在腾讯云服务器(linux宝塔应用模板)上部署了NapCat QQ机器人,撰文以记录。
1.安装napcat
napcat官方文档给出了2种linux的安装方式,具体可看Shell安装。在腾讯云服务器(linux宝塔应用模板)下,亲测”NapCat.Linux.Launcher – 新式非入侵式启动器“的方案有效。
打开linux终端,cd到工作目录下,输入以下命令行。
curl -o napcat.sh https://jiashu.1win.eu.org/https://raw.githubusercontent.com/NapNeko/napcat-linux-installer/refs/heads/main/install.sh && sudo bash napcat.sh
命令行会一键安装napcat和linux QQ,所以不需要提前安装QQ。

2.启动方式
安装成功后,会发现当前目录下新出现2个文件夹:QQ和napcat,外加4个文件。
在配置前,我们可以先启动一次QQ。linux没有图形化界面,以下命令会自动创建一个临时虚拟显示并启动。
xvfb-run -a qq –no-sandbox
此外,也可以采用以下手动启动,和上述效果是一样的。但是必须在libnapcat_launcher.so所在文件目录下运行。
# 1. 启动 Xvfb 虚拟显示(端口:1,启用GLX和渲染)
Xvfb :1 -screen 0 1x1x8 +extension GLX +render > /dev/null 2>&1 &
# 2. 告诉程序使用该虚拟显示
export DISPLAY=:1
# 3. 运行程序(加载动态库)
LD_PRELOAD=./libnapcat_launcher.so qq –no-sandbox
3.napcat基本原理
我们来了解一下实现原理,这样出现错误时方便排查。
当QQ客户端启动时,会读取/opt/QQ/resources/app/package.json,其中"main"属性指向执行入口,默认情况下是/opt/QQ/resources/app/app_launcher/index.js,我们将其改成了loadNapCat.cjs文件,loadNapCat.cjs文件的路径每个人可能不同,一般放在在/opt/QQ/resources/app/napcat下
打开loadNapCat.cjs文件,其中语句await import("file://" + path.join(CurrentPath, "./napcat/napcat.mjs")),指向了napcat.mjs文件,注意文件路径,自行修改
以上也是官方文档中BootWay03 (半自动) 教程的内容
登陆QQ号的相关文件在/opt/QQ/resources/app/napcat/config下,有onebot11_<qq>.json,napcat_<qq>.json等
4.ws配置
napcat提供了webui控制台,但如果不能登陆控制台,打开onebot11_<qq>.json文件,这部分对应官方文档中用webui配置正向websocket、反向websocket
"websocketServers": [
{
"enable": true,
"name": "正向ws",
"host": "127.0.0.1",
"port": 3001,
"reportSelfMessage": false,
"enableForcePushEvent": true,
"messagePostFormat": "array",
"token": "",
"debug": false,
"heartInterval": 30000
}
],
"websocketClients": [
{
"enable": true,
"name": "反向ws",
"url": "ws://localhost:5140/onebot",
"reportSelfMessage": false,
"messagePostFormat": "array",
"token": "",
"debug": false,
"heartInterval": 30000,
"reconnectInterval": 30000
}
],




