前提:安装node 环境

1、下载nodeJs
cd /etc/local/  && wget https://nodejs.org/dist/v17.2.0/node-v17.2.0-linux-x64.tar.xz 
 
 2、解压安装包  #解压并进入目录
tar xf node-v17.2.0-linux-x64.tar.xz  && cd   node-v17.2.0-linux-x64  
 
3、备份 重要文件 /etc/profile(重要!!!!!!!!)
cp /etc/profile /etc/profile.bak  #备份此文件,防止修改错误导致出现问题!
 
4、编辑/etc/profile文件
cd /etc/profile //进入此目录
 
5、编辑 /etc/profile文件
vim /etc/profile
 
6、在最下面添加 export PATH=$PATH: 后面跟上 node 下 bin 目录的路径
export PATH=$PATH:/etc/local/node-v17.2.0-linux-x64/bin
 
7、退出保存 wq
 
8、运行下面指令使profile文件生效
source /etc/profile
 
9、直接输入 node -v 或者 npm -v 显示node版本号即为安装成功

安装oicq
1、执行命令安装oicq

npm i -g oicq@1

2、安装完成后执行

oicq 你的QQ号

3、注意 :首次启动会默认在/root/.oicq/下创建一个配置文件config.js

[root@funyhook jbot]# oicq *****   配置文件不存在,已帮你自动生成,请修改后再次启动程序。  配置文件在:/root/.oicq/config.js

4、进入/root/.oicq,编辑config.js文件
确认设置好之后,按键盘esc退出编辑模式,输入命令:wq保存并退出。

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

这里面有几个参数我再单独拎出来重点说一下:

//通用配置
    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

5、配置修改好之后,重新运行步骤3,显示下图反向连接就是成功了,可以继续愉快地玩耍了!!!

[2021-12-09T13:42:16.080] [MARK] [Watch:928452213] - Welcome, niko ! 初始化资源...
[2021-12-09T13:42:16.434] [MARK] [Watch:928452213] - 加载了211个好友,145个群,32个陌生人。
[2021-12-09T13:42:16.435] [MARK] [Watch:928452213] - 初始化完毕,开始处理消息。
※你已成功登录,此控制台有简单的指令可用于调试。
※发言: send <target> <message>
※下线结束程序: bye
※执行任意代码: eval <code>
[2021-12-09T13:42:16.446] [INFO] [Watch:928452213] - 反向ws连接(ws://127.0.0.1:9090/qq/receive)连接成功。

6、后台运行命令

cd /root/.oicq/nohup oicq 你的QQ号 &

7、后台运行查询日志

tail -f nohup.out

8、我现在的配置

"use strict";
// 此文件必须名为config.js才能生效哦
 
module.exports = {
 
    //通用配置
    general: {
        platform:           4,       //1:安卓手机 2:aPad 3:安卓手表 4:MacOS 5:iPad
        log_level:          "info",  //trace,debug,info,warn,error,mark
        use_cqhttp_notice:  true,   //是否使用cqhttp标准的notice事件格式
 
        host:               "localhost",  //监听主机名
        port:               秘密,       //端口
        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
            // "ws://127.0.0.1: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。