mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-09 19:50:27 +08:00
* Fix #1546, revert wrong changes and request system messages when getting stranger * Use faster long array Co-authored-by: Him188 <Him188@mamoe.net> Co-authored-by: Him188 <Him188@mamoe.net>
This commit is contained in:
parent
d1b5c94231
commit
e3fd680a2c
@ -33,6 +33,7 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x122
|
|||||||
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x27.SubMsgType0x27.*
|
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x27.SubMsgType0x27.*
|
||||||
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x44.Submsgtype0x44
|
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x44.Submsgtype0x44
|
||||||
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0xb3.SubMsgType0xb3
|
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0xb3.SubMsgType0xb3
|
||||||
|
import net.mamoe.mirai.internal.network.protocol.packet.chat.NewContact
|
||||||
import net.mamoe.mirai.internal.network.protocol.packet.list.FriendList.GetFriendGroupList
|
import net.mamoe.mirai.internal.network.protocol.packet.list.FriendList.GetFriendGroupList
|
||||||
import net.mamoe.mirai.internal.network.protocol.packet.sendAndExpect
|
import net.mamoe.mirai.internal.network.protocol.packet.sendAndExpect
|
||||||
import net.mamoe.mirai.internal.utils._miraiContentToString
|
import net.mamoe.mirai.internal.utils._miraiContentToString
|
||||||
@ -80,15 +81,20 @@ internal class FriendNoticeProcessor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
msgHead.context {
|
msgHead.context {
|
||||||
if (fromUin == authUin) {
|
// 对方 qq
|
||||||
logger.error { "Could not determine uin since `fromUin` = `authUin` = $fromUin" }
|
val id = longArrayOf(fromUin, authUin).firstOrNull { it != 0L && it != bot.id }
|
||||||
|
if (id == null) {
|
||||||
|
logger.error { "Could not determine uin for new stranger" }
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val id = fromUin or authUin // 对方 qq
|
|
||||||
if (bot.getStranger(id) != null) return
|
if (bot.getStranger(id) != null) return
|
||||||
|
|
||||||
val nick = fromNick.ifEmpty { authNick }.ifEmpty { pbNick }
|
val nick = fromNick.ifEmpty { authNick }.ifEmpty { pbNick }
|
||||||
collect(StrangerAddEvent(bot.addNewStranger(StrangerInfoImpl(id, nick, fromGroup)) ?: return))
|
collect(StrangerAddEvent(bot.addNewStranger(StrangerInfoImpl(id, nick, fromGroup)) ?: return))
|
||||||
|
//同时需要请求好友验证消息(有新请求需要同意)
|
||||||
|
bot.network.run {
|
||||||
|
NewContact.SystemMsgNewFriend(bot.client).sendWithoutExpect()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user