使用 Napcat + Koishi 的组合创建一个QQ机器人的大致流程如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| +--------------------------------+ | NTQQ 登录 QQ | +--------------------------------+ ↓ +--------------------------------+ | Napcat 挂在 QQ 上对外暴露接口 | +--------------------------------+ ↓ +--------------------------------+ | Koishi 启动 | +--------------------------------+ ↓ +--------------------------------+ | Koishi 通过适配器连接 Napcat | +--------------------------------+ ↓ +--------------------------------+ | 在 Koishi 写业务插件 | +--------------------------------+
|
之后会围绕此点,一步步说明如何操作。
在执行操作前请确认服务器内各种工具的存在状态,可跳转其它博客文章确认本机内的所需依赖。
一、准备工作
在当前用户目录下,执行下列命令
1 2 3 4
| mkdir -p qqbot/napcat/config mkdir -p qqbot/napcat/data mkdir -p qqbot/koishi cd ~/qqbot
|
在本地创建一个 docker-compose.yml 来定义这两个服务,直接扔进去或者 nano 一个,yml内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| services: napcat: image: mlikiowa/napcat-docker:latest container_name: napcat restart: always security_opt: - seccomp:unconfined environment: - WEBUI_TOKEN=(你的密码你的密码你的密码你的密码你的密码你的密码) - QQ_APP_ARGS=--no-sandbox volumes: - ./napcat/data:/app/.config/QQ - ./napcat/config:/app/napcat/config ports: - "6099:6099"
koishi: image: koishijs/koishi container_name: koishi restart: always volumes: - ./koishi:/koishi ports: - "5140:5140" depends_on: - napcat
|
放进去以后,在 ~/qqbot 下执行下列操作:
1
| sudo docker compose up -d
|
二、配置 Koishi
如果不是 root 用户,就赋权
1. 进入Koishi web 后台加入 auth
现在服务器的 Koishi 是裸奔状态,打开浏览器访问 http://(ip地址ip地址ip地址):5140 ,从左边的侧边栏内的依赖管理中进入依赖,修改 @koishijs/plugin-auth ,如果操作列无法点击,就刷新一下。
配置账号密码和各种参数,点击保存和应用,然后再进入主页。
这里会多出一个登录,且之前默认开放的左边侧边栏的各种选项都被隐藏,说明设置完毕。
修复可能遇到的问题
- 前端可能会报错,是因为 console 这个插件缺少子依赖,将其更新后应用就行
三、登录 NapCat
OK 以后,打开浏览器访问 http://(ip地址ip地址ip地址):6099/webui/ ,加载好以后差不多长这样:
输入刚刚放到 yml 里的 token,选择扫码登录或者快速登录都行,如果能在猫猫日志里看到 log,那 NapCat 就算初步完毕了。
可能会被风控,如果被风控就 sudo docker restart napcat
四、集成两者
集成文档不多赘述,直接看 NapCat官方文档
配置完了 Koishi 以后,回到 NapCat ,打开网络配置添加如下
成功后,向机器人发送 help ,有回应就算完成了。