优雅的使用node-onebot,对接最新版傻妞

季春二九
2021-12-08 / 0 评论 / 121 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年03月14日,已超过381天没有更新,若内容或图片失效,请留言反馈。

寄快递,一单也是5元起: 点此跳转


电费、话费充值统统9折起: 点此跳转


免费办理官方流量卡+可通话:查看


背景

更新带来新功能也带来弊端,不更新带来bug以及不稳定,于是所谓的先驱版QQ挂了、一直内置于傻妞的miraiQQ客户端go-cqhttp也不稳定了(我没遇到,猫咪说的有问题,那就有问题吧),于是为了稳定,为了世界和平,为了羊毛不掉一地.....

需求

傻妞最新版(版本号1638895487309,可能已不是最新,因为猫咪会剔除内置QQ后再GA出新版本)再次将QQ捡起,稳定运行

干货

本文仅描述onebot配置过程,傻妞请使用Github Action编译版本,自编译版自理

node-onebot 使用教程开始

1.首先一次性的清除占用80端口的程序

lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh

2.然后安装node环境
此处给出的是x64架构的linux安装,windows安装百度即可,其他架构的去https://nodejs.org/dist/v16.13.1 里面找对应架构的下载即可

wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.gz

3.解压

tar -xvf node-v16.13.1-linux-x64.tar.gz

4.为了方便更改一下名称

mv node-v16.13.1-linux-x64 node-v16.13.1

5.创建软连接

ln -s /root/node-v16.13.1/bin/node /usr/local/bin
ln -s /root/node-v16.13.1/bin/npm /usr/local/bin
ln -s /root/node-v16.13.1/bin/npx /usr/local/bin

6.测试一下,应该都能报出对应版本号

node -v
npm -v
npx -v

7.升级至最新版傻妞

cd /etc/sillyGirl/ && wget https://gitee.com/yanyuwangluo/onekey/raw/master/sets.conf -O sets.conf

8.重启傻妞
9.配置onebot

git clone https://ghproxy.com/https://github.com/takayama-lily/node-onebot.git
cd node-onebot && cp config.sample.js config.js
vi config.js

给出我用的配置文件,如下(傻妞和onebot在同一设备),建议使用FTP软件去文件里面改
傻妞和onebot在同一设备的话,只需更改 "ws://localhost:8080/qq/receive", 8080这个端口为你傻妞的即可。

"use strict";
// 将此文件更名为config.js才能生效哦
module.exports = {
    //通用配置
    general: {
        platform:           5,      //1:安卓手机 2:aPad 3:安卓手表 4:MacOS 5:iPad
        debug:              false,  //开启debug
        use_cqhttp_notice:  true,   //是否使用cqhttp标准的notice事件格式
        host:               "localhost",  //监听主机名
        port:               5700,       //端口
        use_http:           false,      //启用http
        use_ws:             false,      //启用正向ws,和http使用相同地址和端口
        access_token:       "",         //访问api的token
        secret:             "",         //上报数据的sha1签名密钥
        post_timeout:       30,         //post超时时间(秒)
        post_message_format:"array",    //"string"或"array"
        enable_cors:        false,      //是否允许跨域请求
        enable_heartbeat:   false,      //是否启用ws心跳
        heartbeat_interval: 15000,      //ws心跳间隔(毫秒)
        rate_limit_interval:500,        //使用_rate_limited后缀限速调用api的排队间隔时间(毫秒)
        event_filter:       "",         //json格式的事件过滤器文件路径
        post_url: [ //上报地址,可以添加多个url
            // "http://your.address.com:80",
        ],
        ws_reverse_url: [ //反向ws地址,可以添加多个url
            "ws://localhost:8080/qq/receive",
        ],
        ws_reverse_reconnect_interval: 3000, //反向ws断线重连间隔(毫秒),设为负数直接不重连
        ws_reverse_reconnect_on_code_1000: true, //反向ws是否在关闭状态码为1000的时候重连
    },
    //每个账号的单独配置(用于覆盖通用配置)
    147258369: {
    },
};

注意事项

general里的host监听0.0.0.0表示监听网卡上的所有地址。建议将监听地址改为localhost。但如果你的onebot与傻妞不在同一服务器则使用0.0.0.0
general里的port端口请检查是否被占用,不然onebot无法启动
general里的ws_reverse_url为傻妞的连接地址,在onebot向为反向websocket地址,同理理解为微信的回调地址只是协议和指向不同

进入onebot的文件夹启动onebot,QQ号为机器人QQ

node main QQ号

注意,使用扫码登陆,然后按照提示登录之后ctrl+c结束

安装pm2

npm install pm2 -g

创建一个pm2的软连接(方便挂后台,用screen创建后台会话啥的也行)

ln -s /root/node-v16.13.1/bin/pm2 /usr/local/bin

进入傻妞文件夹,后台启动傻妞

pm2 start sillyGirl

进入onebot文件夹,后台启动onebot

pm2 start "node main QQ号"

最后是我自己常用的一些命令可供参考
进入青龙文件夹

docker exec -it QL /bin/bash

ql check修复

ql check

看容器里有啥

docker ps -a

进入傻妞文件夹

cd /root/sillyGirl

傻妞静默运行

./sillyGirl -d

PM2运行傻妞

pm2 start sillyGirl

PM2运行QQ框架

cd /root/node-onebot && pm2 start "node main QQ号"

显示出所有pm2进程的日志

pm2 log

杀死所有pm2 进程

pm2 kill

PM2停止傻妞

pm2 stop sillyGirl

PM2重启傻妞

pm2 restart sillyGirl

海报

正在生成.....

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:点此了解


评论 (0)

取消