go-cqhttp 插件流程设计讨论帖

注意:请不要在本帖发表任何关于登录失败的问题,登录失败请前往 809 贴交流。在本帖就登陆流程提问会被直接删除。

用户群和论坛中每天都有非常多围绕 onebot / go-cqhttp 的讨论。这很大程度上并非开发者的问题,而是腾讯在今年 3 月后不断更新协议、加强检测的产物。

但另一方面,809 贴也为登录提供了非常优秀的引导。如果能将 809 贴的流程引导集成到 go-cqhttp 插件中,应该能在一定程度上改善新用户的登录体验。因此开此楼让熟悉登录流程的人发表一下对此事的看法。

3 个赞

以下是一些初步的想法。

术语表:

  • 操作区域:现版本启动 onebot 插件后,用户可以操作的与 gocq 相关的部分(包括滑条、按钮、状态提示和 gocq 配置项)
  • 引导区域:本贴中将要讨论的新增区域,显示在操作区域的上方,用于引导用户完成登录流程

目前,用户需要先正确填写 onebot 的三项配置(enabled,password,selfId)后点击启用插件才会出现操作区域。我认为可以改为只要启用 gocq 插件就在任何 onebot 插件中显示一个引导区域:

欢迎使用 gocq 插件!你可以选择一个流程,我们将会指引你完成登录:

  • 密码登录 (推荐)
  • 进阶登录
  • 扫码登录

其中,三种登录方式分别对应于 809 贴的方法一二三。我个人感觉这种分类做进插件里并不是很科学,后续还可以优化。

选择任何一种流程后,插件顶部会出现一个带步骤的进度条。例如在方法一中,会分为以下几个步骤:

  1. 准备阶段
    告知必要事项(例如登录手 Q,账号的选取)
  2. 填写三项配置
    在此阶段中,enabled 会由引导程序自动开启,而剩下两个输入框会被高亮
  3. 关闭登录保护
    提示用户完成操作后点击确认进入下一步
  4. 完成 gocq 的登录流程

每完成一个步骤,进度条也会向前一格。

由此可知,引导区域的作用包含:

  • 提供一个进度条告知步骤
  • 提供额外的提示信息
  • 帮用户填写某些配置项,并高亮提示其他的配置项
3 个赞

以上似乎只是对用户进行登录操作的引导,似乎并没有错误的相关处理方法(),以一个萌新的角度走上面的流程,在使用推荐的密码登录后报错45,萌新会可能仍第一时间会认为自己版本不新,而非想着选择进阶登录和扫码登录两个选项。这是一个问题。
其次,目前的成功率来说,密码登录放在推荐位可能不太好,虽然不是没有可能登进去,但是萌新第一次尝试成功概率不高,在

中,我可能认为可以像qdvc那样,写入一些“为什么选择这个”,比如

  • 直接密码登录 (推荐,拥有完整QQbot体验)
  • 进阶登录(见qdvc设备介绍)
  • 扫码登录(100%可以登录,但部分体验受限)
    并且我觉得,默认直接塞一个手表给他扫码得了(x)
    然后还有一点,就是手表协议不要输密码才能扫码!这一点非常需要引导!

code等报错代码其实可以给他修改一下描述,实际上gocq给的报错代码大多数时候都不太对劲

2 个赞

其实 gocq 的报错代码及描述是 qq 服务器给的,在 tencent 服务器方面看来,gocq 端是一个正常的 qq 客户端,那个是 gocq 与其他模拟程序的目标。

我想更好的做法是屏蔽报错并给出适当的流程引导,比如有一些按钮可以修改配置文件并重启 gocqhttp。

2 个赞

这点我当然知道,但是丢koishi里面这个提示就非常不正确

既然能够做到这个(x)
想必在koishi控制台的内容也是可以改变的,我们没必要显示code45前版本不够新这一句话了,存在歧义,不如换一个

2 个赞

哈哈哈,最后这个登录失败是认真的嘛,不过我觉得可以在登录引导里面把一些有价值的b站视频等可以搞一个小窗口来播放,比如配置账号的过程,同时提供一个一键将插件配置重置的按钮,防止新人乱折腾将插件配置更改后又重头开始尝试,又因为之前改的设置导致登录不上,最后跑到用户群又来折腾客服

2 个赞