背景

群辉”垃圾“(别的很是很香的)

  • 没错,群辉的gui操作确实很强,超级强;但是他的包管理,他的命令限制太多了;根本没有一个好用的包管理软件,而你可能会说可以安装ipkg鸭;但是你知道吗,ipkg也是个年久失修的玩意了。
  • 是否受够了每次修改傻妞等都要远程ssh链接到群辉里,然后从普通用户切换到root提权,然后一通cd,最后还要用vim来修改你想改的文件
  • 是否受够了群辉”垃圾“的设定。系统分区就给2.3G,动不动就爆满,满了以后还不敢乱搞。毕竟可能一搞坏了就是半条命
  • 是否受够了群辉是不是抽风的 wget·········

新出路

  • 昨天在帮一个朋友远程的时候,他的群辉wget死活不行了,群辉官方说重置系统,但是他舍不得,我就帮他用docker里的ubuntu 用wget下载了一键安装板最新的傻妞,然后转移到了他安装的地方,受此启发,想到了用ubuntu接管整个傻妞跟onebot
  • 在群辉的docker里部署一个ubuntu,然后整个傻妞跟傻妞需要的node-onebot等全放ubuntu中,这样不但好管理,而且好备份等
  • 大体思路就是这样了,其实听到这里,已经有很多人可以自己操作去了,我为了方便跟我一样的小白,还是啰嗦啰嗦,写一遍教程吧,可能有没提到的地方,也请大佬们指教了

优缺点

优点

  • 上面已经说了很多了,方便管理、部署、备份等
  • 不在依赖群辉的系统空间,也省去了ssh链接群辉的必要,减少了误操作引起群辉问题的几率
  • docker的ubuntu是超级轻量的,一个完整的最新包仅仅27m,解压后仅仅73mimage-20211211190502028image-20211211190533044
  • 这就是docker的优点了,超级轻量(同时也意味着很多东西需要自己安装;不要怕,我们有apt)
  • 部署后超级轻量,占用很低image-20211211190741649
  • 还有就是可以吧你需要的文件夹挂载出来,这样就可以在群辉的File Station里面进行界面的操作了,更改傻妞配置什么的也不需要ssh使用命令修改了
  • 暂时就这么多吧······

缺点

  • 可能有人觉得这是套娃 🪆,但是我觉得这样做是有意义的(绝不是水文章)
  • 别的就是可能第一次安装稍微有些麻烦了吧,因为你要安装你要的环境等
  • 暂时想不到了······

说干就干,开搞

首先,你需要搞个ubuntu

  • 这个直接群辉docker——注册表——搜索ubuntu——直接拉最新版即可(或者你喜欢那个拉那个)image-20211211191547909

  • 安装时选择高级设置

    • 勾选下自动启动,这样群辉重启后会自动运行这个,虽然还要手动运行傻妞image-20211211191652126

    • 按照你的需要自行映射下文件夹(不能把整个etc目录映射,又出现奇怪的bug),这里在啰嗦下,有的还是不太明白傻妞会占用两个目录

      1. 使用一键安装板的傻妞的时候,除了在你执行的目录创建一个sillyGirl目录外,还会在/etc/sliiyGirl生成一个配置文件夹
      2. 例如:
        1. 我在/home目录下执行了傻妞一键安装的命令
        2. 这样 在我的/home/sillyGirl下会生成傻妞的文件目录如下image-20211211192356093
        3. 与此同时,在etc/sillyGirl目录下也会生成傻妞的文件夹。目录如下image-20211211192543456
        4. 这就是你删除了安装目录的傻妞,配置还没丢失的原因;也就是我做这个映射的原因
        5. 我的傻妞、onebot oicq 都会在home目录执行,然后/etc/sillyGirl映射可以gui修改傻妞配置,root映射方便修改oicq 配置文件
      • image-20211211191734629
    • 端口设置: 选择你想用的傻妞端口即可(同时不能与已有端口重复)image-20211211192904163

  • 这样就安装完了,是不是超级简单

环境配置

首先,我们再来顺一下需要什么东西

  • 安装傻妞-----需要wget
  • 拉取onebot我们需要git(使用oicq,暂时不需要了)
  • 使用node-onebot-----需要node npm
  • 使用oicq-----需要node npm
  • 修改文件----需要nano(vim)等编辑器
  • 最后就是pm2----用来守护我们的oicq sillyGirl 等程序

那就开始吧

  • 那就先安装wget
    • 首先,执行apt update 更新下软件包列表
    • 在执行apt -y install wget这样就可以安装好了wget ✅
  • 然后是git
    • 执行apt -y install git这样就可以安装好了git ✅
  • 然后是node(放弃nvm方法,使用n 安装管理node)
    • 首先apt -y install npm 安装一个基础版本的npm(时间有点长,耐心等待)
    • 然后我们使用npm安装n管理node
    • 使用npm install -g n安装n
    • 然后检查n是否安装 n --versionimage-20211215223938327
    • 成功后就可以方便的安装node了
    • 使用n lts 即可安装Node.js lts (长期服务)版本—v16.13.1 版本(可能版本号不对,因为写的时候这个就是最新的)
    • node是包含npm的,此时你可以使用npm -v测试是否成功(npm -v 报错的重启ubuntu即可解决)
    • 这样你的node也安装好了 ✅
  • 顺便安装几个编辑器吧
    • 这个直接使用apt即可
    • 安装nano apt -y install nano
    • 安装vim apt -y install vim
    • 安装过程遇到选地区的请自行选择(没记错的话6 亚洲 70 上海)
    • 这样你的nano vim 也安装好了 ✅
  • 最后就是安装pm2了
    • 是不是想直接apt -y install pm2了 年轻了;我们需要使用npm安装
      • 请执行 **npm install -g pm2**即可安装
      • 执行**pm2 -v**即可检查是否安装成功
  • 这样环境就安装的差不多了(不够的自己安装.命令百度一把一把的)

这样我们先来配置傻妞

  • 首先cd到你想安装的文件夹 我安装在home目录下 执行 cd /homeimage-20211211201504317

  • 然后国内用户执行 set sillyGirl download_prefix https://ghproxy.com/(使用git代理加速下载)()(已经不需要了)

  • 在执行下面的命令,即可一键安装傻妞到/home 目录下(同时/etc/sillyGirl文件夹下也会生成配置文件)(如果命令不能用请自行获取最新:tg)

    1
    s=sillyGirl;a=arm64;if [[ $(uname -a | grep "x86_64") != "" ]];then a=amd64;fi ;if [ ! -d $s ];then mkdir $s;fi ;cd $s;wget http://github.yanyuge.workers.dev/https://github.com/cdle/${s}/releases/download/main/${s}_linux_$a -O $s && chmod 777 $s;pkill -9 $s;$(pwd)/$s
  • 下面如果你想全新安装傻妞,可以跳过配置文件拷贝部分;你想使用原来的配置文件 请继续往下看

  • ############配置文件拷贝部分开始#################

  • 首先删除所有生成的配置文件 rm -rf /etc/sillyGirl 这样你这个文件夹以及文件夹内的所有文件都会被删除

  • 然后ssh 链接到你的群辉 执行这个命令

    • cp -r /etc/sillyGirl /volume1/docker/ubunu/etc/sillyGirl

      命令解释 cp -r A B

      • A B 为两个地址
      • A B 之间有空格
      • A是需要复制的文件地址
      • B是要复制到哪里去
      • 请根据自己的实际位置修改命令
      • 具体请看 菜鸟教程
  • ############配置文件拷贝部分结束#################

  • 这样你就已经把傻妞完整的迁移到了 docker里的ubuntu

  • 执行cd /home/sillyGirl cd到傻妞文件夹(根据自己目录更更改.跟我一样无需更改)

  • 然后执行./sillyGirl即可运行傻妞.与你群辉的没有差异

  • 还请你记得这里的傻妞http服务端口,后面的onebot需要使用(端口号要统一)port

  • 傻妞完结撒花

然后我们配置node-onebot oicq

  • cd /home cd到你要安装的目录

  • 打开后克隆这个仓库

    git clone https://ghproxy.com/https://github.com/takayama-lily/node-onebot.git

    然后就会有很多文件会出现在node-onebot这个文件夹📂里

  • 然后重点来了

    • cdnode-onebot cd到这个目录下

    • 新建一个config.js文件(后面命令找不到会自动新建,所以跳过)

    • nano config.js使用nano编辑器打开(没有会新建)config.js文件

    • 然后保存空文件-----按ctrl+o 然后回车确认修改的内容;然后ctrl+x 推出编辑器

    • 直接使用群辉的文本编辑器打开config.js进行编辑(ununtu的中文可能乱码,百度一堆解决办法;我就不放链接了,直接使用群辉的编辑器)

    • 粘贴上模板配置文件,下面引用大佬的模板及说明

    • module.exports = {
          //通用配置
          general: {
              platform:           1,      //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: {
          },
      };
      
    • 我的配置如下(仅供参考)image-20211211205010095

    • 第一个:模式 使用1-安卓 会把自己的qq挤下线;使用2-ipad正常 其他未测试

    • 第二个:地址 这里填你傻妞的地址(分几种请情况)

      • (1)同一台设备 默认127.0.0.1(localhost)即可,自己改端口 (不对请指教)
      • (2)在同一局域网中 跟我格式一样即可 填局域网ip+端口 后面默认
      • (3)在不同的网络下,请直接填写相应的ip+端口
  • 设置完以后 自己保存;这样onebot也部署完成了

  • oicq配置 onebot的可以借鉴(基本没用了)

  • 安装oicq 执行npm i -g [email protected] 即可完成安装

  • 安装完成oicq后,先执行oicq XXXXX 命令,系统会生成默认配置文件

  • 配置文件一般在/root/.oicq文件夹📂内 ,名字是config.js

  • 我们通过vim nano等编辑器编辑这个config.js文件(也可以去前面映射的群辉文件夹自己更改)

  • 我的文件(参考下)image-20211215231745783

傻妞与onrbot oicq 联动

  • 现在需要配置的基本完成了,到了关键的时候了
    • 首先-----cd /home/sillyGirl cd到傻妞的路径下
    • 手动运行傻妞 ./sillyGirl
    • 然后可以看到傻妞开放http服务的通知,记得跟你上面config.js的端口对应上;不对应的去你映射的/etc/sillyGirl修改傻妞的sets.conf配置文件(没有的话新建:并按照小姐姐教程填写)
    • 重新启动,直到你的端口对应起来 傻妞的端口----你ununtu开放的端口-----onebot的端口(我的图片之前的.别太较真)image-20211208213541658
    • 然后执行 oicq XXXXXXX (XXXXX是你的qq号,记得跟config.js里的对应)
    • 然后就会跑代码,然后就是扫码登录(出现连接不上服务就多试几次就可以了)
    • 然后看到反向ws代理连接成功就证明联动成功了
    • 然后,然后,然后 没有然后了;快去查询试试吧

使用pm2守护我们的onebot oicq

  • 好不容易安装好的,不能让他轻易死掉呀
  • 首先 ctrl + c关闭onebot oicq
  • 执行 pm2 start "oicq QQ号"即可image-20211215232202882
  • 如果有多个机器人,请手动运行下 oicq QQ号后,确认没问题后, 在使用pm2守护

使用pm2守护我们的傻妞

  • 不能只守护onebot,傻妞也需要我们守护下呀
    • cd 到傻妞的目录,然后pm2 start "./sillyGirl -d"image-20211215232702332
    • 确认下是否成功 pm2 list,看到傻妞的进程就是成功了image-20211215232724453

然后就是开启pm2开机启动与保存守护列表

  • 执行pm2 startup 可以创建pm2的开机自启动
  • 执行pm2 save 保存当前应用列表
  • 执行pm2 resurrect 重新加载保存的应用列表
  • 其他常用pm2命令
    • pm2 list 列表 PM2 启动的所有的应用程序
    • pm2 monit 显示每个应用程序的CPU和内存占用情况
    • pm2 logs 显示所有应用程序的日志
    • pm2 logs [app-name] 显示指定应用程序的日志
    • pm2 stop all 停止所有的应用程序
    • pm2 stop 0 停止 id为 0的指定应用程序
    • pm2 restart all 重启所有应用
    • pm2 delete all 关闭并删除所有应用
    • pm2 delete 0 删除指定应用 id

完结撒花

  • 撒花 撒花 撒花
  • 终于完了呀,码字好累