YiriMiraiProject/YiriMirai

使用‘==’运算符比较消息链是否相同的问题

EnkanSakura opened this issue · 2 comments

直接使用‘==’对MessageChain对象进行比较时,会同时比较MessageChain的Source组件,导致mirai码相同的消息链的比较结果为False
需要一个只对消息内容进行比较的方法

Wybxc commented

这一问题属于MessageChain的设计失误,我会考虑在0.3.0版本中重构MessageChain的一些设计,来避免这个问题。

当前版本中,可以先用exclude方法去除Source元素后,再进行比较,例如:

msg1.exclude(Source) == msg2.exclude(Source)
Wybxc commented

0.3.0 更新中解决了这个问题(应该吧)