sforum使用cqhttp实现消息推送

发表:9月前 更新:8月前

sforum使用cqhttp实现消息推送,依赖插件:https://www.runpod.cn/sforum/addons/SForum/QQPusher

启动cqhttp服务

先创建一个cqhttp文件夹,并cd进去,例如:mkdir -p /www/docker/compose/cqhttp && cd /www/docker/compose/cqhttp

然后在当前目录下创建docker-compose.yml文件,内容如下:

version: '3.1'

services:
  cqhttp:
    image: debian
    restart: always
    container_name: cqhttp
    working_dir: /www
    networks:
      - cqhttp
    volumes:
      - ./gocqhttp:/www
    tty: true
    #command: ./go-cqhttp

  qsign:
    container_name: qsign
    image: xzhouqd/qsign:8.9.63
    restart: always
    networks:
      - cqhttp
    environment:
      - ANDROID_ID={android_id}

volumes:
  cqhttp:
    driver: local
    
networks:
  cqhttp:
    driver: bridge

然后运行以下命令创建一个 gocqhttp目录:

mkdir gocqhttp

cqhttp容器的数据会放到这个目录下。

接下来运行 docker-compose up -d 启动。

运行 docker ps 查看全部运行中的容器,找到cqhttp这个容器,复制容器id,运行以下命令进入容器终端:

1690451587-1_1690451586_xLvQW4N0sc.webp

docker exec -it 容器id bash

如果到这里就不会了,可以看视频教程:https://pan.quark.cn/s/92beba45d719

进入容器终端后运行以下命令安装相关依赖:

apt-get update && apt-get --reinstall install ca-certificates -y && apt-get install wget -y

接下来就是下载go-cqhttp程序,运行下面的命令

wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.1.0/go-cqhttp_linux_amd64.tar.gz && tar -xzvf go-cqhttp_linux_amd64.tar.gz && rm -rf go-cqhttp_linux_amd64.tar.gz

go-cqhttp下载完毕后我们来运行,运行以下命令

./go-cqhttp

首次运行会询问你需要的通信方式,这里我们输入0然后回车即可

1690452025-1_1690452025_QeX2VBsY0s.webp

完成上面操作,我们修改config.yml文件,这个文件在刚刚创建的gocqhttp目录下。

首先配置4、5行中的账号密码

1690452135-1_1690452133_XFwipXwbr7.webp

然后找到26行的sign-server,把 '-'改为:'http://qsign:8080'

1690452320-1_1690452319_yWn7jYFtG2.webp

然后再运行 ./go-cqhttp 命令进行启动,根据提示登录好qq即可。

当上述操作全部执行完毕,我们把 cqhttp的docker-compose.yml文件代码修改为如下内容

version: '3.1'

services:
  cqhttp:
    image: debian
    restart: always
    container_name: cqhttp
    working_dir: /www
    networks:
      - cqhttp
    volumes:
      - ./gocqhttp:/www
    tty: true
    command: ./go-cqhttp

  qsign:
    container_name: qsign
    image: xzhouqd/qsign:8.9.63
    restart: always
    networks:
      - cqhttp
    environment:
      - ANDROID_ID={android_id}
    logging:
      driver: none

volumes:
  cqhttp:
    driver: local
    
networks:
  cqhttp:
    driver: bridge

改完之后运行 docker-compose up -d 重新运行go-cqhttp服务,通过 docker-compose logs 命令获取日志,通过运行日志判断go-cqhttp服务是否已经正常启动且qq登陆成功。

 配置SForum服务

如果上述没问题,那就修改SForum的docker-compose.yml文件

找到

networks:
  sf:
    external: false

改为

networks:
  sf:
    driver: bridge
  cqhttp_cqhttp:
    external: true

找到

web:
    image: zhuchunshu/sforum
    ports:
      - "9501:9501"

    environment:
      - DB_HOST=db
      - REDIS_HOST=redis
      - DB_DATABASE=sforum
      - DB_USERNAME=sforum
      - DB_PASSWORD=sforum

    depends_on:
      - db
      - redis
    networks:
      - sf
    volumes:
      - sforum:/data
    restart: always

改为

web:
    image: zhuchunshu/sforum
    ports:
      - "9501:9501"

    environment:
      - DB_HOST=db
      - REDIS_HOST=redis
      - DB_DATABASE=sforum
      - DB_USERNAME=sforum
      - DB_PASSWORD=sforum

    depends_on:
      - db
      - redis
    networks:
      - cqhttp_cqhttp
      - sf
    volumes:
      - sforum:/data
    restart: always

然后运行 docker-compose up -d 重新启动即可。

上传插件

下载SForum插件:https://github.com/zhuchunshu/SF-qq-pusher/releases/tag/v1.1.0 并在后台上传。上传成功后进入SForum容器的终端,运行以下命令

composer update && exit

然后重启SForum容器即可。

最后进入SForum后台,找到 [QQ推送],请求地址设置为:cqhttp:5700 然后点击保存即可。

1690452992-1_1690452991_gmnyjAbgAU.webp

刚开始使用如果在QQ群那里点击开关没反应就多点几下开启关闭,直至出现弹窗提示成功。

signature
保持理智
评论

无权限

请登录后评论

RunPod公众号

赞助商

联系我们

QQ群:798695907

邮箱:laravel@88.com