工具

  • 一款 SSH 连接工具 (本文用 MobaXterm)
  • 一台云服务器 (本文用阿里云 ECS 服务器)
  • ApiFox 或 Postman (本文用 ApiFox)

部署 NapCatQQ

创建挂载目录

1
2
mkdir -p ~/mydata/napcat/config
mkdir -p ~/mydata/napcat/QQ

创建 NapCatQQ 容器

1
2
3
4
5
6
7
8
9
10
11
12
docker run -d \
-e ACCOUNT=<机器人QQ号> \
-e WS_ENABLE=true \
-p 3001:3001 \
-p 6099:6099 \
-e NAPCAT_GID=$(id -g) \
-e NAPCAT_UID=$(id -u) \
--name napcat \
-v ~/mydata/napcat/QQ:/app/.config/QQ \
-v ~/mydata/napcat/config:/app/napcat/config \
--restart=always \
docker.1panel.dev/mlikiowa/napcat-docker:latest

修改云服务器安全组

开放 3001 端口和 6099 端口

登录 QQ

查看容器内部日志

1
docker logs -f napcat

扫描日志内出现的二维码登录 QQ

Snipaste_2024-10-14_22-32-35

机器人 QQ 账号与扫描的账号不同的情况,会导致 WebSocket 服务未启动

Snipaste_2024-10-14_22-41-57

解决方法:修改配置文件

1
2
3
4
# 更改目录的权限
sudo chmod -R 777 ~/mydata/napcat/
# 进入对应的目录
cd ~/mydata/napcat/config

Snipaste_2024-10-14_22-45-57

打开 onebot11_<刚刚扫描的QQ>.json 这个文件,把 ws 的 enable 改为 true

Snipaste_2024-10-14_22-47-50

重启启动 NapCatQQ

1
docker restart napcat

重新登录,若 WebSocket 服务未已启动则表示配置成功

Snipaste_2024-10-14_22-50-01

连接 NapCatQQ

打开 ApiFox, 创建项目,新建 WebSocket 接口,输入以下内容,然后连接

1
ws://ip:port

功能测试

查看 NapCatQQ 的开发文档 , 找到想要测试的功能,比如文本测试一下发送消息功能,用的 OneBot 11 API

image-9

访问 OneBot11 的 API 文档Go-cqhttp 的 API 文档 , 找到对应的 API

image-11

根据文档构建 JSON 字符串,发送请求,查看是否成功

image-13

至此功能测试已经基本完毕,如果想要进行开发的话,发送 Ws 请求到 NapCatQQ 然后查阅文档发送请求即可