NapNeko / NapCatQQ

现代化的基于 NTQQ 的 Bot 协议端实现
https://napcat.napneko.icu
Other
2.65k stars 195 forks source link

为message_sent事件添加message_sent_type字段(建议) #334

Closed sckiyo closed 2 months ago

sckiyo commented 2 months ago

因为alicebot匹配事件类型需要post_type+"_type"字段,对应message_sent就是message_sent_type,值和message_type一样。

MliKiowa commented 2 months ago

_type? 字段是啥

sckiyo commented 2 months ago

就是需要一个字段名为post_type字段的值加上_type的字段,比如post_type是"message"就是message_type字段、post_type是"notice"就是notice_type字段,post_type是"request"就是request_type字段这样子。 屏幕截图 2024-09-03 115114 屏幕截图 2024-09-03 115132 匹配事件类型就是根据这3个字段来找。alicebot本来也没有针对post_type是“message_sent”的事件,如果要给message_sent事件添加自定义事件的话,可以仅根据post_type字段匹配到比如MessageSentEvent,但是像PrivateMessageSentEvent和GroupMessageSentEvent因为收到的数据里没有message_sent_type字段就没办法匹配到了。

我后来也去翻了nonebot2,也是类似的通过3个字段来匹配事件,不过第二个字段的字段名直接给了4个字面量,就不会有alicebot这样的问题。 屏幕截图 2024-09-03 125007

现在alicebot用的人比较少,也可以用其他方法去判断消息类型,或者只匹配到MessageSentEvent也够用了,没有message_sent_type也行,只是我觉得按照onebot11的字段命名习惯来说message_sent事件好像是要有一个message_sent_type字段,其他onebot11原生的事件都有一个字段的字段名是这样的格式,所以也就建议一下。

MliKiowa commented 2 months ago

ok

MliKiowa commented 2 months ago

但是还是建议alice 主动修改实现 这个实现是不标准的

MliKiowa commented 2 months ago

你现在试试吧