project-mirai / mirai-api-http

Mirai HTTP API (console) plugin
GNU Affero General Public License v3.0
1.65k stars 345 forks source link

[Feature Request] 在 `NudgeEvent.subject` 中提供完整的 subject 信息 #688

Closed ProgramRipper closed 1 year ago

ProgramRipper commented 1 year ago

现在的 NudgeEvent.subject 只有 idkind 两个字段,应用端无法直接通过这些信息构造出一个完整的 contact 对象。

这里有个我实现的 demo,不过由于我水平有限,这个 demo 里 kind 字段键值变成了 type,我不知道怎么修正这个以做到向后兼容:https://github.com/ProgramRipper/mirai-api-http/commit/e3b16f6e2b84dbb9f3463447405b8cbbc48c3c11 https://github.com/ProgramRipper/mirai-api-http/compare/805fb6a8ad35fb45bb20917714d1a9a94ffcb11b...ec1c36a87f6e8c90b651f42b5826ebcd7554c28f

ryoii commented 1 year ago

一个 contact 对象确实只有 id 属性,你希望在 nudge 里还需要获取什么信息

ProgramRipper commented 1 year ago

可能是我表达的有问题,我希望 NudgeEvent 能多返回这些数据:

 {
   "type": "NudgeEvent",
   "fromId": 114514,
   "target": 1919810,
   "subject": {
     "kind": "Friend",
-    "id": 114514
+    "id": 114514,
+    "nickname": "Bryan不可思议",
+    "remark": "Bryan不可思议"
   }
 }
 {
   "type": "NudgeEvent",
   "fromId": 114514,
   "target": 1919810,
   "subject": {
     "kind": "Group",
-    "id": 123456
+    "id": 123456,
+    "name": "test",
+    "permission": "MEMBER"
   }
 }

这样就与其他 API 提供的 Group Friend Stranger OtherClient 的格式一致了。

ryoii commented 1 year ago

#2c7b0df