Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pb:D88dGroupInfo 的错误使用 #117

Open
GreyElaina opened this issue Jun 19, 2023 · 2 comments
Open

pb:D88dGroupInfo 的错误使用 #117

GreyElaina opened this issue Jun 19, 2023 · 2 comments

Comments

@GreyElaina
Copy link

GreyElaina commented Jun 19, 2023

GraiaProject/Ichika#83 中, 提到 get_group_info 的返回中 Group.mute_timestampGroup.global_mute_timestamp 在实际中无论禁言情况如何将始终为 0 的问题, 经核实, decode_group_info_response 中错误的使用 pb:D88dGroupInfo 有关.

这一 API 具有局限性, 缓解方式已提出.

  • wybxc/CAI 中使用 jce:StTroopNum 获取
  • mamoe/mirai 中亦从 jce 中获取
  • Mrs4s/MiraiGo 根本不存在 pb:D88dGroupInfo 的声明与使用

建议参考现有其他协议实现修补.

@GreyElaina
Copy link
Author

GreyElaina commented Jun 19, 2023

我注意到使用 get_group_list 时将返回正确的数据...尽管让人困惑, 但似乎是这个 API 的局限性. 而鉴于 get_group_info 能且仅能获取已加入群组的信息, 返回的残缺数据不可避免的导致数据结果的失真, 因此, 下游项目应该考虑到这点进行适配, 如在应用连接上服务器时使用 get_group_list, 而后配合事件广播对内置缓存进行更新.

tx.sb

@lz1998
Copy link
Owner

lz1998 commented Jul 3, 2023

GraiaProject/Ichika#83 中, 提到 get_group_info 的返回中 Group.mute_timestampGroup.global_mute_timestamp 在实际中无论禁言情况如何将始终为 0 的问题, 经核实, decode_group_info_response 中错误的使用 pb:D88dGroupInfo 有关.

这一 API 具有局限性, 缓解方式已提出.

  • wybxc/CAI 中使用 jce:StTroopNum 获取
  • mamoe/mirai 中亦从 jce 中获取
  • Mrs4s/MiraiGo 根本不存在 pb:D88dGroupInfo 的声明与使用

建议参考现有其他协议实现修补.

这个 API 应该是用 TXHook 抓包抓到的,等 NT 稳定后重新抓包看看

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants