OlivOS-Team / OlivOS

OlivOS / Witness Union,一个强大的跨平台交互栈与机器人框架
https://doc.olivos.wiki
GNU Affero General Public License v3.0
194 stars 26 forks source link

[Feature request]支持go-cqhttp的dev分支已合并配置文件新参数 #97

Closed rhwong closed 1 year ago

rhwong commented 1 year ago

情况说明

go-cqhttp的dev分支新增参数如下:

  # 在实例可能丢失(获取到的签名为空)时是否尝试重新注册
  # 为 true 时,在签名服务不可用时可能每次发消息都会尝试重新注册并签名。
  # 为 false 时,将不会自动注册实例,在签名服务器重启或实例被销毁后需要重启 go-cqhttp 以获取实例
  # 否则后续消息将不会正常签名。关闭此项后可以考虑开启签名服务器端 auto_register 避免需要重启
  auto-register: false
  # 是否在 token 过期后立即自动刷新签名 token(在需要签名时才会检测到,主要防止 token 意外丢失)
  # 独立于定时刷新
  auto-refresh-token: false
  # 定时刷新 token 间隔时间,单位为分钟, 建议 30~40 分钟, 不可超过 60 分钟
  # 目前丢失token也不会有太大影响,可设置为 0 以关闭,推荐开启
  refresh-interval: 40

问题简述

auto-register可以使签名服务端重启后,客户端重新获得注册。 目前qsign官方的config中,服务端自动刷新token的选项默认是开启,由于冲突,所以go-cqhttp的auto-register需要为关闭。此项影响不大。 但是旧版本go-cqhttp不存在自动注册的机制,当服务端(qsign)不支持或客户端(go-cqhttp)版本低时,一旦服务端重启,则客户端也必须重启。 比较有用的是auto-refresh-token参数以及refresh-interval参数,用于自动刷新token,此项可以防止token过期导致的消息无法发送等症状。

由于当以上配置为不存在时,会默认false,因为无法修改auto-refresh-token参数,自行修改会被启动器覆盖。 所以OlivOS目前不可以直接替换最新版本的dev分支的go-cqhttp的Action。

功能请求

zhaodice commented 1 year ago

套走狐狐