You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.
网关的初心是可以让 bot 开发者用同一套 API 来开发打通多个平台的 bot,同时也可以在每个平台只申请一个账号的情况下运行一系列 bot 应用。针对后面这类问题,现在世界上很多 bot 都是不止拥有某一方面的功能的,例如妮可除了作为 LoveLive! 查卡器(核心功能)以外还有皮一下呀、复读呀之类的功能。开发者们大多都是通过程序内部抽象来解耦合,总的来讲是一个功能强大(甚至支持插件)的程序。而通过网关层面对协议的描述,可以让应用的不同功能模块用不同语言编写,完全独立地运行在不同的服务器上。
在这里面命名空间冲突问题是一个蛮影响体验也很令人头疼的问题。例如命令 /ping,用于测试程序是否在线。如果每个下面的程序都独立响应 ping,那 ping 一次会产生一大堆消息,体验很不好。但是又不能让用户自己加参数决定 ping 哪个程序,因为用户根本不应该关心你是分为几个程序。help 同理(可能比 ping 更加有意义一些,如果说 ping 一般人不会用到的话,help 还是很有用的)。
一种解决的办法是,由一个程序来整合 ping 命令,当它收到用户的 ping 请求时,就向其他程序也发出 ping。然后由它来收集结果统一反馈给用户。此时有个问题是,不是所有平台都支持 消息编辑,在不支持消息编辑的平台上,等待多久合适呢,等待久了会让用户觉得你是不是凉了,等待时间短又可能会没能收集到所有的 ping 响应。
另一种方法是直接返回一个网页链接,用户打开网页,这样就没问题了。但是直接返回链接其实体验也不是特别好,特别是在用 QQ 这种带一个初始化缓慢经常网页打不开了的内置浏览器的 IM 的时候。
The text was updated successfully, but these errors were encountered: