HoshionBot搭建
QQ群 机器人搭建
项目
go-cqhttp
基于 Mirai 以及 MiraiGo 的 OneBot Golang 原生实现机器人框架
HoshinoBot
HoshinoBot: 基于 nonebot 框架,开源、无公害、非转基因的QQ机器人。
部署
环境
- Python3
- Golang
部署 go-cqhttp
git clone 项目
目录结构 . ├── go-cqhttp 运行脚本 ├── config.yml 配置文件(主要修改的文件) ├── device.json 设备信息 ├── logs 日志 │ └── xx-xx-xx.log └── data 数据 ├── images │ └── xxxx.image └── db- 修改配置
使用的反向代理端口是 universal: 'ws://127.0.0.1:8900/ws/'- 执行
go build构建可执行文件 执行
./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]: 正在检查更新.配置文件
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
克隆本仓库并安装依赖包
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编辑配置文件
cp hoshino/config_example hoshino/config vim hoshino/config/__bot__.py运行bot
python3 run.py私聊机器人发送
在?,若机器人有回复,恭喜您!您已经成功搭建起HoshinoBot了。完整配置
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', # 今天吃啥 }
插件
- 在modules目录下开发自己的插件
- 将插件放入
config/__bot__.py文件中的MODULES_ON中
MODULES_ON = {
'anticoncurrency', # 反并发插件
'weather', # 天气插件
'what_to_eat', # 今天吃啥
}