傻妞

你直接装安装:
docker run -itd --name sillygirl --restart always -v "$(pwd)"/sillyGirl:/etc/sillyGirl mzzsfy/sillygirl:latest
交互:
docker attach sillygirl
详情:
https://hub.docker.com/r/mzzsfy/sillygirl

对接node-onebot(qqbot)

node-onebot项目是傻妞作者频道推的项目,我就跟着他走了,因为有bug的话,他也会同步修。😏

node-onebot项目地址:https://github.com/takayama-lily/node-onebot
环境需求:nodejs (版本必须高于v12.16)

1、部署node.js环境

步骤:群晖套件中心👉搜索🔍node👉安装Node.js v12
上面说了环境要求node版本在12.16以上,群晖套件中心的版本是12.20,所以是满足需求的,无痛使用

 

2、拉取node-onebot源码

cd /volume1/docker/sillyGirl #cd到你想要安装目录就行,不一定要和我一样
git clone https://github.com/takayama-lily/node-onebot.git

3、修改配置文件

1
2
3
cd node-onebot #cd到刚刚拉取的目录
cp config.sample.js config.js #复制并重命名样本配置文件为config.js
vi config.js #打开配置文件开始编辑

按键盘字母i进入编辑模式,然后对应配置,按键盘esc退出编辑模式,输入命令:wq保存并退出。

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
32
33
34
35
36
37
38
"use strict";
// 将此文件更名为config.js才能生效哦
module.exports = {
    //通用配置
    general: {
        platform:           3,       //1:安卓手机 2:aPad 3:安卓手表 4:MacOS 5:iPad
        log_level:          "info"//trace,debug,info,warn,error,mark
        use_cqhttp_notice:  false,   //是否使用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://127.0.0.1:8080/qq/receive",
        ],
        ws_reverse_reconnect_interval: 3000, //反向ws断线重连间隔(毫秒),设为负数直接不重连
        ws_reverse_reconnect_on_code_1000: true, //反向ws是否在关闭状态码为1000的时候重连
    },
    //每个账号的单独配置(用于覆盖通用配置)
    147258369: {
    },
};
// 安全注意:
// 监听0.0.0.0表示监听网卡上的所有地址。如果你的机器可以通过公网ip直接访问,同时你也没有设定access_token,则被认为是极不安全的。
// 你应该知道这样做会导致以下后果:任何人都可以无限制地访问你的Bot的所有API接口。
// 如果只需要在本地访问,建议将监听地址改为localhost。需要通过公网访问,你最好设定access_token。

这里面有几个参数我再单独拎出来重点说一下:
结合了@Ciel说的重点,和我部署总结的一些经验。

 

1
2
3
4
5
6
7
8
9
10
11
//通用配置
    general: {
        platform: 5, //1:安卓手机 2:aPad 3:安卓手表 4:MacOS 5:iPad
#这个就是登录平台的意思,如果你之前部署过傻妞,且打算用同一个qq号码做机器人,建议选择5。因为傻妞之前用的就是ipad协议,我选择1的时候反复让我扫码登录,选择5就正常了。只是经验之谈,可能不专业,供参考。
        host: "localhost"//监听主机名
#监听0.0.0.0表示监听网卡上的所有地址,建议改为localhost。如果你的onebot与傻妞不在同一服务器则使用0.0.0.0
        port: 5700, //端口
#这里的端口一定要注意不要和别的程序有冲突,比如青龙面板。如果冲突了就改成别的端口,但一定要记得放行端口。
        ws_reverse_url: [ //反向ws地址,可以添加多个url
            "ws://127.0.0.1:8080/qq/receive",
#这是傻妞的反向链接地址,其中的8080端口记得改成你傻妞的端口,同时开启傻妞的傻妞的http server,即set sillyGirl enable_http_server true

确认设置好之后,按键盘esc退出编辑模式,输入命令:wq保存并退出。

4、启动node-onebot初始化登录

第一次启动,请不要直接后台运行,需要进行登录初始化一下,按提示操作。(可能表达不专业)

cd /volume1/docker/sillyGirl/node-onebot
node main 你的qq账号 #假如你的qq号码是123456,则node main 123456

大概步骤就是:1、输入密码;2、扫码登录;3、通过打开一个验证网址扫码登录

      

 

初始化登录后,Ctrl+c退出,然后就可以通过后台挂机启动了。

启动脚本

#cd /root/node-onebot && nohup node main.js 1138299322 > node1.log 2>&1 &
#
#supervisord
cd /root/sillyGirl
nohup ./sillyGirl > node1.log 2>&1 &

 

5、pm2守护进程

安装

#安装nodejs
yum install nodejs
#安装pm2
cd /root && npm install pm2 -g
#检查是否成功安装
pm2 list

使用

复制代码
#守护程序/脚本
pm2 start 你的程序名
#守护线程/进程
pm2 start '你的进程/线程'
#开机自启
#全部守护完后想要开机就自动运行吧,毕竟一条一条去启动还是很麻烦的。
pm2 ps   ##查看你守护的列表是否正确
#停止不想开机自启的
pm2 stop 你的程序/'进程'
#保存当前列表启用的服务
pm2 save
#将刚才保持列表中启动的服务加入开机自启
sudo pm2 startup
#如何删除开机自启(不能单独删除某项)
pm2 unstartup systemd
复制代码

故障排除#检查是否是管理员模式,若不是

su -root
#更新指令库
yum update
#卸载
yum remove nodejs -y

#升级pm2
pm2 update

 

复制代码
# pm2 list               # 显示所有进程状态
# pm2 monit              # 监视所有进程
# pm2 logs               #  显示所有进程日志
# pm2 stop all           # 停止所有进程
# pm2 restart all        # 重启所有进程
# pm2 reload all         # 0秒停机重载进程 (用于 NETWORKED 进程)
# pm2 stop 0             # 停止指定的进程
# pm2 restart 0          # 重启指定的进程
# pm2 startup            # 产生 init 脚本 保持进程活着
# pm2 web                # 运行健壮的 computer API endpoint
# pm2 delete 0           # 杀死指定的进程
# pm2 delete all         # 杀死全部进程
复制代码

 

 

 


cqhttp:

https://hub.docker.com/r/mzzsfy/go-cqhttp的不就行了

posted @   bulletplus  阅读(615)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示