系统版本:Ubuntu20.04

1. Docker安装postgres

docker库:https://hub.docker.com/_/postgres

1.1 拉取镜像

docker pull postgres

1.2 运行镜像

docker run -it --name postgres --restart always \
-e TZ='Asia/Shanghai' \
-e POSTGRES_PASSWORD='password' \
-e ALLOW_IP_RANGE=0.0.0.0/0 \
-v /opt/postgres/data:/var/lib/postgresql \
-p 5432:5432 -d postgres

参数解释:

  • --name postgres #容器名称为postgres 可自行更改
  • --restart always #总是开机启动
  • -e TZ='Asia/Shanghai' #时区
  • -e POSTGRES_PASSWORD='password' #数据库密码设置 自行更改
  • -e ALLOW_IP_RANGE=0.0.0.0/0 #放行远端IP
  • -v /opt/postgres/data:/var/lib/postgresql #容器映射的本地路径为/opt/postgres/data 可自行更改
  • -p 5432:5432 #映射的端口为5432 可自行更改

1.3 创建数据库

我设置的容器名称为 postgres ,所以根据docker名进入容器内的命令为

docker exec -it postgres bash

然后一条一条的复制如下命令

su - postgres # 切换用户
psql
# 创建用户  #用户名↓                # 密码↓
CREATE USER zhenxun WITH PASSWORD 'zhenxunpassword';
# 创建库         #数据库名称↓       #用户名↓
CREATE DATABASE zhenxundata OWNER zhenxun;
#创建完成敲几遍exit退出docker容器即可

2. Docker安装真寻bot

docker库:https://hub.docker.com/r/hibikier/zhenxun_bot

2.1 拉取镜像

docker pull hibikier/zhenxun_bot

2.2 运行镜像

docker run \
    --name zhenxun_bot \
    --network=host \
    -v /opt/zhenxun_bot:/bot \ #映射路径 可自行更改
    -e SU='管理员企鹅号' \ #(可选)
    -e DB='数据库链接地址' \ #(可选)
    hibikier/zhenxun_bot:latest

# 确保映射的目录 /opt/zhenxun_bot 为空 

2.3 设置配置文件

首次运行后会在映射文件夹下生成zhenxun_bot文件,首先在里面找到.env.dev 文件并打开,然后在SUPERUSERS中添加自己的QQ,如果在运行docker的时候已经设置了超级管理员qq,应该配置文件里已经修改好了。

SUPERUSERS=["123456789"]

然后再打开 configs/config.py 设置数据库

from typing import Optional
from pathlib import Path
from .utils import ConfigsManager


# 回复消息名称
NICKNAME: str = "小真寻"

# 数据库(必要)
# 如果填写了bind就不需要再填写后面的字段了#)
# 示例:"bind": "postgresql://user:password@127.0.0.1:5432/database"
bind: str = "postgresql://zhenxun:zhenxunpassword@127.0.0.1:5432/zhenxundata"  # 数据库连接链接
sql_name: str = "postgresql"
user: str = ""  # 数据用户名
password: str = ""  # 数据库密码
address: str = ""  # 数据库地址
port: str = ""  # 数据库端口
database: str = ""  # 数据库名称

# 代理,例如 "http://127.0.0.1:7890"
SYSTEM_PROXY: Optional[str] = None  # 全局代理


Config = ConfigsManager(Path() / "data" / "configs" / "plugins2config.yaml")

打开 configs/config.yaml 设置插件api 其他api也可自行申请

alapi:
  # alapi
  # ALAPI_TOKEN: 在https://admin.alapi.cn/user/login登录后获取token
  ALAPI_TOKEN: 

设置好后,再重启zhenxun_bot docker
输入

docker logs zhenxun_bot

查看运行日志,没有报错即可。


3. Docker安装gocqhttp

docker库:https://hub.docker.com/r/pcrbot/gocqhttp

3.1 拉取镜像

docker pull pcrbot/gocqhttp:ffmpeg

3.2 运行镜像

docker run --rm -it --name gocqhttp --network=host -v /opt/gocqhttp_data:/data -v /opt/zhenxun_bot:/bot pcrbot/gocqhttp:ffmpeg

首次运行会让你选择通信方式,选择 3(反向Websocket通信),会生成一个配置文件config.yml,打开config.yml文件

  • 将uin修改为bot账号
  • password最好也填上,扫码登录有时候会失效
  • 将 universal: ws://your_websocket_universal.server 修改为 universal: ws://127.0.0.1:8080/onebot/v11/ws/
account: # 账号相关
  uin: 1234567 # 机器人QQ账号
  password: '1234' # 密码为空时使用扫码登录
  encrypt: false  # 是否开启密码加密
  status: 12      # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
# 连接服务列表
servers:
  # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
  #- http: # http 通信
  #- ws:   # 正向 Websocket
  #- ws-reverse: # 反向 Websocket
  #- pprof: #性能分析服务器
  # 反向WS设置
  - ws-reverse:
      # 反向WS Universal 地址
      # 注意 设置了此项地址后下面两项将会被忽略
      universal: ws://127.0.0.1:8080/onebot/v11/ws/
      # 反向WS API 地址
      api: ws://your_websocket_api.server
      # 反向WS Event 地址
      event: ws://your_websocket_event.server
      # 重连间隔 单位毫秒
      reconnect-interval: 3000
      middlewares:
        <<: *default # 引用默认中间件

3.3 查看日志

再次运行gocqhttp docker

docker run -d --name gocqhttp --network=host -v /opt/gocqhttp_data:/data -v /opt/zhenxun_bot:/bot pcrbot/gocqhttp:ffmpeg

查看日志

docker logs gocqhttp

如果没有报错即可正常使用机器人了,命令文档在此链接可以查看https://hibikier.github.io/zhenxun_bot/docs/help_doc/plugins_index.html

最后修改:2022 年 05 月 21 日 02 : 51 PM
我秦始皇,打钱,快点!