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
这个需求已经远超一般人写个bot玩玩的范围, 所以这个issue仅仅是想知道, 是不是在'不要做'的范围之内, 有很多开发者信奉"Make each program do one thing well", 认为多余的功能只会使程序变得臃肿, 提出的问题是在实现中可能遇上的(其实就是开发遇到的, 我目前在维护一个游戏数据查询的bot, 自己qq三天两头被举报, 无奈只能是开放服务, qq维护交给其他人)
是否会提供贡献?
否
版本信息
No response
涉及的编程语言
Java
项目构建工具
Maven
内容描述
希望增加作为service来运行, 使用场景为将bot部署在公网, qq分布式连接服务后端, 将压力分流
可能需要考虑下面几个问题
需要使用 token来验证合法的onebot qq端, 同时支持未经验证的onebot qq端可以使用部分功能(onebot 消息可以随意伪造, 对于一些管理员专用功能可以伪造发送者来越权调用)
负载均衡, 多个onebot qq端在同一个群里需要事件去重或者说响应去重(防止一呼百应, 一个消息重复处理多次)
故障转移, 在A与B都在群X, 收到群X的消息时, 在处理一段时间后响应或者连续响应, 响应消息时A离线了, 将其转移至B响应
可以定义端口以及端点,
ws://ip:[port]/[endpoints]
, 以及支持拉黑qq个人的思路是
在收到 ws 连接请求后解析 header 中的
Authorization
并将token信息记录, 并允许通过事件获取token, 由使用者来决定如何处理, 或者在listen
/ 注解 中增加参数, 可以指定仅处理对应 token 的 qq 端下发的事件onebot qq 端连接后获取群聊列表, 并将群聊与 onebot qq 端做表, 收到事件时有两种方案:
发送消息前判断 ws session 是否关闭, 如果关闭了, 则从上面的群聊与实例表取一个相同群聊的实例发送, 取不到可以抛错
这个就看 service 的实现了, ktor 以及 spring boot 都可以实现, 拉黑 qq 可以通过 header 的
X-Self-ID
The text was updated successfully, but these errors were encountered: