500 字
3 分钟
使用Docker快速部署一个memos的QQ机器人

前言:本文介绍了如何使用Docker快速部署一个QQ机器人,并通过对接Nonebot实现Memos机器人的功能。

准备工作#

  1. 安装Docker
  2. 一个QQ账号
  3. 一个Memos账号

部署#

memos机器人#

此处使用Nonebot2作为框架,自己撸的Nonebot2的插件nonebot_plugin_memos对接Memos机器人。

我打包编译的镜像jkjoy/qq2memos:latest

如需源码参考 https://www.imsun.org/archives/1668.html

首先创建一个docker-compose.yml文件,内容如下:

services:
  memos:
    container_name: memos
    environment:
      - MEMOS_API=https://memos.imsun.org/api/v1/memo #Memos的API地址,自行修改
    image: jkjoy/qq2memos:latest  
    volumes:  
      - "./data:/app/data"  
    restart: always
    ports:
      - 8080:8080

** 此处的MEMOS_API支持memos v0.15.0以上使用token认证的版本,端口地址根据版本情况自行更改 ** 例如 v0.18.1版本 使用/api/v1/memo v0.20.0版本以上使用/api/v1/memos

然后运行

docker-compose up -d

端口根据情况自行更改,在填写WS地址时,请使用此处设置的端口

部署QQ机器人#

此处以docker-compose的方式部署,其他方法自行搜索。

首先创建一个docker-compose.yml文件,内容如下:

services:
  napcat:
    environment:
      - ACCOUNT=10000 #QQ机器人号码,自行修改
      - WS_ENABLE=true
      - NAPCAT_UID=0
      - NAPCAT_GID=0
    ports:
      - 3001:3001 
      - 6099:6099
      - 3000:3000
    restart: always
    image: mlikiowa/napcat-docker:latest
    volumes:
      - "./QQ:/app/.config/QQ"
      - "./config:/app/napcat/config"
    network_mode: host #使用host的原因是为了方便对接宿主机的nonebot框架

然后运行docker-compose up -d即可。

访问WEBUI地址 http://ip:6099/webui/login.html

登录所使用的tokendocker-compose.yaml 所在目录下的config中的webui.json

可选择扫码登录

在设置页面中添加反向 WS 地址,地址为

ws://127.0.0.1:8080/onebot/v11/ws

这里的 8080 是 NoneBot 输出的端口号,根据情况自行更改

/onebot/v11/ws 是 NoneBot onebot 适配器默认的路径

点击保存,容器日志提示通讯成功即可.

使用机器人#

在聊天对话框输入任何内容会提示绑定

按照提示进行绑定即可

在绑定成功后,在聊天对话框输入任何内容都会转发到Memos 且 默认为公开内容.

暂不支持发送图片等其他内容.

使用Docker快速部署一个memos的QQ机器人
https://blog.ittst.com/posts/use-docker-to-quickly-deploy-a-memos-qq-robot/
作者
浪子
发布于
2024-09-13
许可协议
CC BY-NC-SA 4.0