HoshionBot搭建

QQ群 机器人搭建

项目

go-cqhttp

基于 Mirai 以及 MiraiGoOneBot Golang 原生实现机器人框架

HoshinoBot

HoshinoBot: 基于 nonebot 框架,开源、无公害、非转基因的QQ机器人。

部署

环境

  • Python3
  • Golang

部署 go-cqhttp

  1. 官方文档

    git clone 项目
    目录结构
    .
    ├── go-cqhttp          运行脚本
    ├── config.yml         配置文件(主要修改的文件)
    ├── device.json        设备信息
    ├── logs               日志
    │   └── xx-xx-xx.log
    └── data               数据
        ├── images
        │   └── xxxx.image
        └── db
  2. 修改配置
使用的反向代理端口是 universal: 'ws://127.0.0.1:8900/ws/'
  1. 执行 go build 构建可执行文件
  2. 执行 ./go-cqhttp 启动出现下面输出标识启动成功

    [2021-09-26 16:55:44] [INFO]: 当前版本:(devel)
    [2021-09-26 16:55:44] [INFO]: 用户交流群: 721829413
    [2021-09-26 16:55:44] [INFO]: 将使用 device.json 内的设备信息运行Bot.
    [2021-09-26 16:55:44] [INFO]: Bot将在5秒后登录并开始信息处理, 按 Ctrl+C 取消.
    [2021-09-26 16:55:49] [INFO]: 开始尝试登录并同步消息...
    [2021-09-26 16:55:49] [INFO]: 使用协议: iPad
    [2021-09-26 16:55:49] [INFO]: Protocol -> connect to server: 61.181.203.156:8080
    [2021-09-26 16:55:51] [INFO]: 登录成功 欢迎使用: 菜狗2号机
    [2021-09-26 16:55:51] [INFO]: 开始加载好友列表...
    [2021-09-26 16:55:51] [INFO]: 共加载 2 个好友.
    [2021-09-26 16:55:51] [INFO]: 开始加载群列表...
    [2021-09-26 16:55:51] [INFO]: 共加载 1 个群.
    [2021-09-26 16:55:51] [INFO]: 信息数据库初始化完成.
    [2021-09-26 16:55:51] [INFO]: 资源初始化完成, 开始处理信息.
    [2021-09-26 16:55:51] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:6700
    [2021-09-26 16:55:51] [INFO]: アトリは、高性能ですから!
    [2021-09-26 16:55:51] [INFO]: 开始尝试连接到反向WebSocket Universal服务器: ws://127.0.0.1:8900/ws/
    [2021-09-26 16:55:51] [INFO]: 正在检查更新.
  3. 配置文件

    go-cqhttp配置文件

    account: # 账号相关
    uin: 123456789 # 账号
    password: '123456789' # 密码为空时使用扫码登录
    encrypt: false  # 是否开启密码加密
    status: 0      # 在线状态 请参考 https:#github.com/Mrs4s/go-cqhttp/blob/dev/docs/config.md#在线状态
    relogin: # 重连设置
        disabled: false
        delay: 3      # 重连延迟, 单位秒
        interval: 0   # 重连间隔
        max-times: 0  # 最大重连次数, 0为无限制
    
    use-sso-address: true
    
    heartbeat:
    disabled: false # 是否开启心跳事件上报
    interval: 5
    
    message:
    post-format: string
    ignore-invalid-cqcode: false
    force-fragment: false
    fix-url: false
    proxy-rewrite: ''
    report-self-message: false
    remove-reply-at: false
    extra-reply-data: false
    
    output:
    
    log-level: info # 日志等级 trace,debug,info,warn,error
    debug: false # 开启调试模式
    
    # 默认中间件锚点
    default-middlewares: &default
    access-token: ''
    filter: ''
    rate-limit:
        enabled: false # 是否启用限速
        frequency: 1  # 令牌回复频率, 单位秒
        bucket: 1     # 令牌桶大小
    
    
    servers:
    - ws-reverse:
        disabled: false
        universal: 'ws://127.0.0.1:8900/ws/'   # 主要修改的地方
        reconnect-interval: 3000
        middlewares:
            <<: *default # 引用默认中间件
    
    database: # 数据库相关设置
    leveldb:
        enable: true


部署 HoshionBot

  1. 克隆本仓库并安装依赖包

    git clone https://github.com/Ice-Cirno/HoshinoBot.git
    目录结构
        .
        ├── hoshino             主目录
        │   ├── config          配置目录 复制 config_example 重命名 
        |   │   └── __bot__.py  主要配置文件
        │   ├── config_example  
        │   └── modules         插件目录
        └── res                 资源目录
    
    cd HoshinoBot
    
    python3 -m pip install -r requirements.txt
  2. 编辑配置文件

    cp hoshino/config_example hoshino/config
    vim hoshino/config/__bot__.py
  3. 运行bot

    python3 run.py

    私聊机器人发送在?,若机器人有回复,恭喜您!您已经成功搭建起HoshinoBot了。

  4. 完整配置


    Hoshino配置

    """
    这是一份实例配置文件
    将其修改为你需要的配置,并将文件夹config_example重命名为config
    """
    
    # hoshino监听的端口与ip
    
    HOST = '127.0.0.1'  # 本地部署使用此条配置(QQ客户端和bot端运行在同一台计算机)
    # HOST = '0.0.0.0'      # 开放公网访问使用此条配置(不安全)
    
    DEBUG = False  # 调试模式
    
    SUPERUSERS = []  # 填写超级用户的QQ号,可填多个用半角逗号","隔开
    NICKNAME = r'Hoshino'  # 机器人的昵称。呼叫昵称等同于@bot,可用元组配置多个昵称
    
    COMMAND_START = {''}  # 命令前缀(空字符串匹配任何消息)
    COMMAND_SEP = set()  # 命令分隔符(hoshino不需要该特性,保持为set()即可)
    
    RES_PROTOCOL = 'file'
    RES_DIR = r'./res/'
    
    # 使用http协议时需填写,原则上该url应指向RES_DIR目录
    RES_URL = 'http://127.0.0.1:5000/static/'
    
    '''------- CQHTTP -------'''
    IMAGE_PATH = "~/go/src/cqhttp/data/images"  # cqhttp用这条,保持默认即可
    
    WHITE_LIST = []
    
    # 启用的模块
    # 初次尝试部署时请先保持默认
    # 如欲启用新模块,请认真阅读部署说明,逐个启用逐个配置
    # 切忌一次性开启多个
    MODULES_ON = {
        'aichat',  # 需要apikey,用前修改概率
        'aircon',  # 群空调
        'anticoncurrency',  # 反并发插件
        'weather',  # 天气插件
        'what_to_eat',  # 今天吃啥
    }


插件

  1. 在modules目录下开发自己的插件
  2. 将插件放入config/__bot__.py文件中的MODULES_ON
MODULES_ON = {
  'anticoncurrency',  # 反并发插件
  'weather',  # 天气插件
  'what_to_eat',  # 今天吃啥
}

感谢

咖啡佬: https://github.com/Ice-Cirno

: https://github.com/Mrs4s

最后修改:2021 年 10 月 21 日
一切随缘