• go-cqhttp系列教程-go-cqhttp安装


    前言

    本教程虽然演示centos7平台安装,但安装思路全平台通用,唯一区别为安装包不同
    我尝试了好多机器人框架,大部分都开发前景不好,无意中发现了这个go-cqhttp机器人框架,使用http协议将消息推送到URL上面,也是使用URL对他回应,即可实现发信

    go-cqhttp框架下载

    我这里使用centos7系统进行演示,因为任何对象,对大众提供服务,都需要极高的稳定性和可靠性,而Linux系列的操作系统就是为此开发出来的。Linux系列系统,对服务器的占用极低,可靠性高,而centos7就是Linux系列的一个分支,使用人群广泛
    go-cqhttp官方发布页面
    官方帮助文档
    进入发布页往下滑,会看到以下内容,因为我部署的linux系列的操作系统,所以我使用红框圈起来的包,下载下来,将其上传的服务器
    在这里插入图片描述

    安装go-cqhttp

    将文件上传到服务器,然后使用tar命令进行解压(tar命令系统自带)
    解压后会出现三个文件,我们只使用go-cqhttp文件
    执行go-http文件,在编号选择里面,只选择HTTP通信即可
    (编号填写错误,可使用组合键Ctrl + 删除)
    执行完成会在同级目录下生成config.yml配置文件
    详细操作步骤,参考下图
    在这里插入图片描述

    更改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: ''          # 密钥
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107

    启动go-cqhttp

    没错,go-cqhttp的安装过程就是如此简单
    我们只需要执行这个命令就可以启动了

    ./go-cqhttp
    
    • 1

    执行后会出现下面的内容,里面也会有一个二维码,提前使用手机登录机器人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) :  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    持久化运行go-cqhttp

    当然,上面的使用./go-cqhttp但连接窗口关闭之后将停止运行,这是我们不愿意看到的。
    我们可以让他运行在服务器的后台,只有服务器不关机,它将一直运行

    nohup ./go-cqhttp &
    
    • 1

    运行之后,会在当前目录下生成一个叫nohup.out的日志文件,
    里面存放的是这个程序在运行的是生成的日志

    小结

    到此,安装go-cqhttp的教程结束了,本人也基于go-cqhttp开发了一款对话机器人,全部代码使用Python语言编写
    当然编写的全部过程我将在这里编写出来,也可以加入我的个人工作室(星辰工作室)目前就我一个人,开发速度实在有限
    下面的是我的星辰机器人的展示群聊,感兴趣的可以加入看看
    QQ演示群聊加群链接

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    Java 21新特性:Sequenced Collections(有序集合)
    【深度学习】pytorch快速得到mobilenet_v2 pth 和onnx
    Java21中的新特性虚拟线程详解
    某金融企业核心存储POC测试及选型经验
    cartographer_optimization_problem_2d
    java-net-php-python-springboot区校企大型仪器智慧共享平台计算机毕业设计程序
    【中间件系列】Kafka 与 RocketMQ几件事
    ChatGPT:something went wrong
    母婴产品如何做做品牌营销?母婴品牌如何在知乎上做营销?
    《数据结构》(五)线性表之栈和队列的实现及万字详解
  • 原文地址:https://blog.csdn.net/m0_67400972/article/details/126083231