YiriMiraiProject / YiriMirai

一个轻量级、低耦合的基于 mirai-api-http 的 Python SDK。
https://yiri-mirai.wybxc.cc
GNU Affero General Public License v3.0
124 stars 13 forks source link

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

Closed EnkanSakura closed 2 years ago

EnkanSakura commented 2 years ago

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

Wybxc commented 2 years ago

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

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

msg1.exclude(Source) == msg2.exclude(Source)
Wybxc commented 2 years ago

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