Skip to content

选用 NapCat

本篇介绍选择 napcat 协议后如何进行配置并启动

配置环境变量

compose.yaml 文件的 napcat 部分,有设置一些环境变量,需要进行配置:

yaml
  napcat:
    image: mlikiowa/napcat-docker:v4.5.20
    restart: always
    environment:
      - ACCOUNT=${ACCOUNT}
      - NAPCAT_UID=${UID}
      - NAPCAT_GID=${GID}
    volumes:
      - ./bot/.config/QQ:/app/.config/QQ
      - ./bot/napcat/config:/app/napcat/config
    depends_on:
      - ws
    profiles: [napcat]

方法1 - 使用外部的 .env 文件

如果不存在 .env 文件则手动创建,在 compose.yaml 同目录下;内容如下:

sh
ACCOUNT="2496242409"
UID="1000"
GID="1000"
  • ACCOUNT 为机器人 qq 号
  • UIDGID 固定为 1000 即可

方法2 - 直接修改 compose.yaml 文件

yaml
    environment:
      - ACCOUNT=2496242409
      - NAPCAT_UID=1000
      - NAPCAT_GID=1000

配置 WebSockets

进入 bot/napcat/config 目录,如果没有就手动创建。然后新建 onebot11_2496242409.json 文件,文件内容如下:

json
{
  "network": {
    "httpServers": [
      {
        "name": "http-server",
        "enable": false,
        "port": 3000,
        "host": "",
        "enableCors": true,
        "enableWebsocket": true,
        "messagePostFormat": "array",
        "token": "",
        "debug": false
      }
    ],
    "httpSseServers": [],
    "httpClients": [],
    "websocketServers": [
      {
        "name": "websocket-server",
        "enable": false,
        "host": "",
        "port": 3001,
        "messagePostFormat": "array",
        "reportSelfMessage": true,
        "token": "",
        "enableForcePushEvent": true,
        "debug": false,
        "heartInterval": 60000
      }
    ],
    "websocketClients": [
      {
        "name": "websocket-client-0",
        "enable": true,
        "url": "ws://ws:8000/qqbot",
        "messagePostFormat": "array",
        "reportSelfMessage": true,
        "reconnectInterval": 10000,
        "token": "",
        "debug": false,
        "heartInterval": 30000
      }
    ]
  },
  "musicSignUrl": "",
  "enableLocalFile2Url": false,
  "parseMultMsg": true
}
  • 主要就是 websocketClients 那一段,文件内容无需修改
  • reportSelfMessage 含义是是否接收机器人自己发送的消息
  • 文件名 onebot11_2496242409.json 中的数据为机器人 qq 号,需要修改

启动

sh
docker compose --profile napcat up      # 前台运行
docker compose --profile napcat up -d   # 后台运行
docker compose --profile napcat down    # 关闭