快速开始
💡提示
这篇文档在笔者碰见各种神奇人物后不断修订,应该已经很详细了。
如果还是看不懂,Napcat-Adapter官方群欢迎你,但是笔者不希望你提问出文档已经包含回答的问题。
又或者可以直接寻找代搭建,并把这个文档扔给TA,让TA帮你安装这个插件。
⚠️警告
1.分不清Miao-Yunzai和TRSS-Yunzai,正向WS和反向WS的,建议去使用TRSS-Yunzai。
2.Napcat-Adapter官方群不是Napcat的官方群,更不是Miao-Yunzai和TRSS-Yunzai的官方群。
和Napcat-Adapter无关的问题请勿进入群进行提问。
开始之前,你需要知道
- 开发者没有耐心对每个问题一一解释详细回复
- 本适配器是提供给Miao-Yunzai钉子户使用
- TRSS-Yunzai也可以使用本适配器,但纯小白建议使用TRSS-Yunzai自带的OneBotv11适配器
事先准备
- Yunzai
- Napcat
Napcat需要进行以下配置
⚠️警告
本适配器的工作模式为 正向 WS 连接
,请确保 Napcat-Adapter
可以正常访问 NapCat
所提供的 IP 和端口。
启动Napcat,打开浏览器,进入你的Napcat Webui(默认密钥Napcat)
Napcat Webui的默认端口是6099。
例如你在Win上启动Napcat,那么访问地址一般就是127.0.0.1:6099
⚠️警告
注意:如果你的端口6099暴露在公网中,请务必修改登录密码!
Linux云服务器请先在云服务器厂商安全组和服务器管理面板(比如宝塔)放行入方向的6099端口
然后访问 “http://你的云服务器公网IP:6099“。
按照图示打开网络配置
,新建一个WebSocket服务器
。
随后按照如图所示填写配置。
完成后记得保存!保存!并启用!
你没安装Napcat?
Windows系统安装 任选其一即可
Linux系统(含WSL)安装 任选其一即可
- Shell安装 (无需多开的情况)
- Docker安装 (适合多开账号的)
- 如果你的电脑/服务器只支持WSL1,请使用Shell安装。WSL2无此限制
- 如果你的Yunzai是使用容器化部署(如trss.me),若无多开需求请使用Shell部署,使用Docker部署Napcat需要注意网络桥接问题,如有出现(各种连接不上、连接无响应问题)请自行解决。
其他安装方案(含Android Termux、1Panel等)
🔨安装适配器
- 在你的Yunzai根目录下执行安装指令:
Gitee源
git clone --depth=1 https://gitee.com/qiannqq/napcat-adapter.git ./plugins/napcat-adapter
💡提示
如果你的网络不是很好,可以使用下面的Github源
Github源
git clone --depth=1 https://github.com/qiannqq/napcat-adapter.git ./plugins/napcat-adapter
- 安装依赖
pnpm install --filter=napcat-adapter
# Yunzai-Next 等使用yarn管理依赖的请使用以下指令安装依赖
# yarn install
- 安装适配器后启动一次Yunzai,然后打开插件根目录下的
config/config/cfg.yaml
,
编辑 baseUrl 地址为127.0.0.1(一般不用改,如果连接不上请看下面的折叠部分),后面加上你在Napcat Webui指定的端口号,前面加上“ws://”。
(例如:ws://127.0.0.1:3001)
什么,你不知道怎么配置?或者连接失败?
如果你的Yunzai和Napcat在同一个设备:
没有使用什么Docker(比如使用
trss.me
的安装脚本)或者WSL2的话,直接填127.0.0.1
一般没什么问题。(当然没什么问题你就不会来看这里了)
如果你在Linux平台上使用了TRSS安装脚本安装Yunzai,同时直接安装了Napcat:
TRSS安装脚本是使用容器进行安装的,所以此时在容器内部,
localhost
或127.0.0.1
指的是容器本身,而不是宿主机。因此不能在容器中直接使用127.0.0.1
来连接Napcat。解决办法:通过容器所在网络的网关IP 来访问宿主机。默认情况下,这个网关就是宿主机在 Docker 桥接网络中的地址。
首先找到容器所连接的网络的网关 IP,在终端输入:
bashdocker network inspect bridge
一般地,该指令会输出一个JSON,在输出的 JSON 中,找到
"Gateway"
字段,其值通常是172.17.0.1
,这个就是你应该配置的地址。比如原来是
ws://127.0.0.1:3939
,现在就是ws://172.17.0.1:3939
⚠️警告
不要照抄这个地址!!!这个地址是演示用的!实际需要根据你自己的配置进行配置!直接照抄一般用不了!
如果你在Linux平台上使用了Docker安装了Napcat,同时直接安装了Yunzai:
NapCat.Docker Readme使用的启动指令已经自带了对3000,3001和6099端口的映射:
docker run -d
-e NAPCAT_GID=$(id -g)
-e NAPCAT_UID=$(id -u)
-p 3000:3000
-p 3001:3001
-p 6099:6099
--name napcat
-restart=always \ mlikiowa/napcat-docker:latest如果你是因为没有连接成功而来到这里,说明你在WebSocket服务器设置的端口可能没有映射出来(或者你没有正确配置,这里我们先不论)
解决方法:在启动指令后添加
bash-p xxxx:xxxx
其中xxxx是你在WebSocket服务器设置的端口,完成后重启Napcat容器,适配器的连接地址配置为:
bashws://127.0.0.1:xxxx
如果你在Win的WSL2系统安装了Yunzai,同时直接安装了Napcat:
请直接使用
127.0.0.1
尝试,如果无法连接,请继续查看。如果你的电脑运行 Windows 11 22H2 及更高版本:
- 电脑
Win+R
,输入%UserProfile%
- 会打开一个目录,在该目录下创建文件,名为
.wslconfig
- 使用文本编辑器打开这个文件,粘贴下面代码块的内容后保存
bash[wsl2] networkingMode=mirrored
- 重启WSL2系统后启动Yunzai,再次尝试连接。
或者:
- 电脑
Win+S
,搜索WSL Setting
,打开该应用。
- 电脑
- 将网络模式改为
mirrored
,然后重启WSL2系统。
如果仍然无法连接,或者提示不支持镜像模式网络,请看下面的通用方法。
WSL2的通用方法:
在WSL2系统的终端执行以下指令:
baship route show | grep -i default | awk '{ print $3}'
典型的输出可能是:
172.30.96.1
因此,在此示例中,
172.30.96.1
就是我们需要配置的地址。比如原来是
ws://127.0.0.1:3939
,现在就是ws://172.30.96.1:3939
⚠️警告
再警告一遍!地址不要照抄!!!这个地址是演示用的!实际需要根据你自己的配置进行配置!直接照抄一般用不了!
更多关于WSL的信息请看这里
如果你的Yunzai和Napcat不在同一个设备:
假设部署Napcat服务器的公网地址是114.51.xx.919
,那么在这个示例中,配置的地址即为ws://114.51.xx.919:你选择的端口
。
如果在之前配置 WebSocket 服务器
时输入了 token,请取消配置文件里 token 的注释,并编辑为你在 WebSocket 服务器配置的 token。
(注:也可以使用锅巴配置,这样就不用去翻文件了。)
❗危险
跨设备公网WebSocket连接,请务必配置连接Token!
如果配置完上面的适配器,不想再使用ICQQ了:
打开 Yunzai 根目录下的 config/config/bot.yaml,将 skip_login: false 改为 skip_login: true(大约在第 32 行)。
这里配置的作用是跳过ICQQ登录,直接使用适配器连接。
- 重启 Yunzai 后即可享用
运行不正常?
你可能需要疑难解答
若你的问题不在“疑难解答”内,你可以询问AI,也可以加入官方群聊询问,等待好心人给你解答。
若你确定问题是本适配器引起的,请携带你的问题详情和日志前往创建issue,等待开发者的回复