Browse Source

Filter repeated GroupNameChangeEvent

ryoii 6 years ago
parent
commit
5e553a56ca

+ 11 - 7
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/OnlinePush.kt

@@ -311,14 +311,18 @@ internal class OnlinePush {
                                         // println(dataBytes.toUHexString())
 
                                         if (dataBytes[0].toInt() != 59) {
-                                            return@flatMap sequenceOf(
-                                                GroupNameChangeEvent(
-                                                    origin = group.name.also { group._name = message },
-                                                    new = message,
-                                                    group = group,
-                                                    isByBot = false
+                                            return@flatMap if (group.name != message) {
+                                                sequenceOf(
+                                                    GroupNameChangeEvent(
+                                                        origin = group.name.also { group._name = message },
+                                                        new = message,
+                                                        group = group,
+                                                        isByBot = false
+                                                    )
                                                 )
-                                            )
+                                            } else {
+                                                sequenceOf()
+                                            }
                                         } else {
                                             //println(message + ":" + dataBytes.toUHexString())
                                             when (message) {