本教程虽然演示centos7平台安装,但安装思路全平台通用,唯一区别为安装包不同
我尝试了好多机器人框架,大部分都开发前景不好,无意中发现了这个go-cqhttp机器人框架,使用http协议将消息推送到URL上面,也是使用URL对他回应,即可实现发信
我这里使用centos7系统进行演示,因为任何对象,对大众提供服务,都需要极高的稳定性和可靠性,而Linux系列的操作系统就是为此开发出来的。Linux系列系统,对服务器的占用极低,可靠性高,而centos7就是Linux系列的一个分支,使用人群广泛
go-cqhttp官方发布页面
官方帮助文档
进入发布页往下滑,会看到以下内容,因为我部署的linux系列的操作系统,所以我使用红框圈起来的包,下载下来,将其上传的服务器
将文件上传到服务器,然后使用tar命令进行解压(tar命令系统自带)
解压后会出现三个文件,我们只使用go-cqhttp文件
执行go-http文件,在编号选择里面,只选择HTTP通信即可
(编号填写错误,可使用组合键Ctrl + 删除)
执行完成会在同级目录下生成config.yml配置文件
详细操作步骤,参考下图
由于文件内容过多,我这里直接放上我的配置文件内容
您只需要修改文件中的第二行
uin: # 这里填入你的机器人账号
示例:
uin: 3351593463
# go-cqhttp 默认配置文件
account: # 账号相关
uin: # QQ账号
password: '' # 密码为空时使用扫码登录
encrypt: false # 是否开启密码加密
status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
relogin: # 重连设置
delay: 3 # 首次重连延迟, 单位秒
interval: 3 # 重连间隔
max-times: 0 # 最大重连次数, 0为无限制
# 是否使用服务器下发的新地址进行重连
# 注意, 此设置可能导致在海外服务器上连接情况更差
use-sso-address: true
heartbeat:
# 心跳频率, 单位秒
# -1 为关闭心跳
interval: 5
message:
# 上报数据类型
# 可选: string,array
post-format: string
# 是否忽略无效的CQ码, 如果为假将原样发送
ignore-invalid-cqcode: false
# 是否强制分片发送消息
# 分片发送将会带来更快的速度
# 但是兼容性会有些问题
force-fragment: false
# 是否将url分片发送
fix-url: false
# 下载图片等请求网络代理
proxy-rewrite: ''
# 是否上报自身消息
report-self-message: false
# 移除服务端的Reply附带的At
remove-reply-at: false
# 为Reply附加更多信息
extra-reply-data: false
# 跳过 Mime 扫描, 忽略错误数据
skip-mime-scan: false
output:
# 日志等级 trace,debug,info,warn,error
log-level: warn
# 日志时效 单位天. 超过这个时间之前的日志将会被自动删除. 设置为 0 表示永久保留.
log-aging: 15
# 是否在每次启动时强制创建全新的文件储存日志. 为 false 的情况下将会在上次启动时创建的日志文件续写
log-force-new: true
# 是否启用 DEBUG
debug: false # 开启调试模式
# 默认中间件锚点
default-middlewares: &default
# 访问密钥, 强烈推荐在公网的服务器设置
access-token: ''
# 事件过滤器文件目录
filter: ''
# API限速设置
# 该设置为全局生效
# 原 cqhttp 虽然启用了 rate_limit 后缀, 但是基本没插件适配
# 目前该限速设置为令牌桶算法, 请参考:
# https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
rate-limit:
enabled: false # 是否启用限速
frequency: 1 # 令牌回复频率, 单位秒
bucket: 1 # 令牌桶大小
database: # 数据库相关设置
leveldb:
# 是否启用内置leveldb数据库
# 启用将会增加10-20MB的内存占用和一定的磁盘空间
# 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
enable: true
# 连接服务列表
servers:
# 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
#- http: # http 通信
#- ws: # 正向 Websocket
#- ws-reverse: # 反向 Websocket
#- pprof: #性能分析服务器
# HTTP 通信设置
- http:
# 服务端监听地址
host: 0.0.0.0
# 服务端监听端口
port: 5700
# 反向HTTP超时时间, 单位秒
# 最小值为5,小于5将会忽略本项设置
timeout: 5
# 长轮询拓展
long-polling:
# 是否开启
enabled: false
# 消息队列大小,0 表示不限制队列大小,谨慎使用
max-queue-size: 2000
middlewares:
<<: *default # 引用默认中间件
# 反向HTTP POST地址列表
post :
#- url: '' # 地址
# secret: '' # 密钥
- url: 'http://127.0.0.1:5701' # 地址
secret: '' # 密钥
没错,go-cqhttp的安装过程就是如此简单
我们只需要执行这个命令就可以启动了
./go-cqhttp
执行后会出现下面的内容,里面也会有一个二维码,提前使用手机登录机器人QQ然后扫码进行登录授权即可
[root@starry tmp]# ./go-cqhttp
[2022-06-14 19:27:25] [WARNING]: 账号密码未配置, 将使用二维码登录.
[2022-06-14 19:27:25] [WARNING]: 将在 5秒 后继续.
[2022-06-14 19:27:30] [INFO]: 当前版本:v1.0.0-rc2
[2022-06-14 19:27:30] [WARNING]: 虚拟设备信息不存在, 将自动生成随机设备.
[2022-06-14 19:27:30] [INFO]: 已生成设备信息并保存到 device.json 文件.
[2022-06-14 19:27:30] [INFO]: Bot将在5秒后登录并开始信息处理, 按 Ctrl+C 取消.
[2022-06-14 19:27:35] [INFO]: 开始尝试登录并同步消息...
[2022-06-14 19:27:35] [INFO]: 使用协议: iPad
[2022-06-14 19:27:35] [INFO]: Protocol -> connect to server: [::ffff:42.81.194.38]:80
[2022-06-14 19:27:35] [INFO]: 请使用手机QQ扫描二维码 (qrcode.png) :
当然,上面的使用./go-cqhttp但连接窗口关闭之后将停止运行,这是我们不愿意看到的。
我们可以让他运行在服务器的后台,只有服务器不关机,它将一直运行
nohup ./go-cqhttp &
运行之后,会在当前目录下生成一个叫nohup.out的日志文件,
里面存放的是这个程序在运行的是生成的日志
到此,安装go-cqhttp的教程结束了,本人也基于go-cqhttp开发了一款对话机器人,全部代码使用Python语言编写
当然编写的全部过程我将在这里编写出来,也可以加入我的个人工作室(星辰工作室)目前就我一个人,开发速度实在有限
下面的是我的星辰机器人的展示群聊,感兴趣的可以加入看看
QQ演示群聊加群链接
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦