-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
enhancementNew feature or requestNew feature or request
Description
功能模块
我期望对Message, User, Role, Channel, Guild等对象进行精简字段的重新设计。
你希望的功能描述?
-
实现
Message,User,Role,Channel,Guild等对象的精简字段版本:- 这种设计可用于嵌套在其他结构内,如消息的引用中。例如:
Message{ 精简的User, 精简的Message(即Quote), 精简的Channel{ 精简的Guild, ... }, ... };
- 用于事件消息以减少推送的数据量(例如,某人连续发送多条消息,其中的作者信息部分仅需获取id和name,其他如头像链接等字段使用频率较低)。
- 在面向对象的SDK中更好地进行抽象,用户在构造时只需考虑精简版,然后使用
update()方法在需要时补全剩余字段(甚至可以在查询时添加参数,仅返回剩余字段)。
- 这种设计可用于嵌套在其他结构内,如消息的引用中。例如:
-
规范化
Message对象结构,目前QuoteMessage、事件推送的Message以及message/view的Message结构存在明显差异,这在SDK层面的抽象中带来了挑战。
功能的主要使用场景?
我正在尝试为khl.py实现message/view接口,目前正试图抽象出一个通用的Message类。由于事件和HTTP接口的Message结构完全不同,而且相互补充对方的字段子集,因此很难通过继承关系进行合理的抽象。
其它信息
可能的实现方案:
- 由官方定义各个对象的字段。
- 参照现有机器人,筛选出高频字段,或通过问卷投票的方式选出高频字段。
- 在v4版本中实现(考虑到兼容性的因素)。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request