Commit c95306c1 authored by ryoii's avatar ryoii

Fix BotJoinGroupEvent.Invite

parent 2f0ff513
...@@ -173,10 +173,11 @@ internal class NewContact { ...@@ -173,10 +173,11 @@ internal class NewContact {
} }
2 -> { // 被邀请入群, 自动同意, 不需处理 2 -> { // 被邀请入群, 自动同意, 不需处理
val group = bot.getNewGroup(groupCode) ?: return null // val group = bot.getNewGroup(groupCode) ?: return null
val invitor = group[actionUin] // val invitor = group[actionUin]
//
BotJoinGroupEvent.Invite(invitor) // BotJoinGroupEvent.Invite(invitor)
null
} }
3 -> { // 已被请他管理员处理 3 -> { // 已被请他管理员处理
null null
......
...@@ -48,6 +48,7 @@ import net.mamoe.mirai.qqandroid.utils.io.serialization.readProtoBuf ...@@ -48,6 +48,7 @@ import net.mamoe.mirai.qqandroid.utils.io.serialization.readProtoBuf
import net.mamoe.mirai.qqandroid.utils.io.serialization.toByteArray import net.mamoe.mirai.qqandroid.utils.io.serialization.toByteArray
import net.mamoe.mirai.qqandroid.utils.io.serialization.writeProtoBuf import net.mamoe.mirai.qqandroid.utils.io.serialization.writeProtoBuf
import net.mamoe.mirai.qqandroid.utils.read import net.mamoe.mirai.qqandroid.utils.read
import net.mamoe.mirai.qqandroid.utils.toInt
import net.mamoe.mirai.qqandroid.utils.toUHexString import net.mamoe.mirai.qqandroid.utils.toUHexString
import net.mamoe.mirai.utils.currentTimeSeconds import net.mamoe.mirai.utils.currentTimeSeconds
import net.mamoe.mirai.utils.debug import net.mamoe.mirai.utils.debug
...@@ -163,9 +164,10 @@ internal object MessageSvcPbGetMsg : OutgoingPacketFactory<MessageSvcPbGetMsg.Re ...@@ -163,9 +164,10 @@ internal object MessageSvcPbGetMsg : OutgoingPacketFactory<MessageSvcPbGetMsg.Re
if (msg.msgHead.authUin == bot.id) { if (msg.msgHead.authUin == bot.id) {
// 邀请入群 // 邀请入群
return@mapNotNull createGroupForBot(msg.msgHead.fromUin)?.let { return@mapNotNull createGroupForBot(msg.msgHead.fromUin)?.let {
// TODO: 这里被邀请入群应该是Invite(),但是没有获取邀请人的信息,邀请人的信息在msg.msgContent里,未解包 // package: 27 0B 60 E7 01 CA CC 69 8B 83 44 71 47 90 06 B9 DC C0 ED D4 B1 00 30 33 44 30 42 38 46 30 39 37 32 38 35 43 34 31 38 30 33 36 41 34 36 31 36 31 35 32 37 38 46 46 43 30 41 38 30 36 30 36 45 38 31 43 39 41 34 38 37
// BotJoinGroupEvent.Invite() // package: groupUin + 01 CA CC 69 8B 83 + invitorUin + length(06) + string + magicKey
BotJoinGroupEvent.Active(it) val invitorUin = msg.msgBody.msgContent.sliceArray(10..13).toInt().toLong()
BotJoinGroupEvent.Invite(it[invitorUin])
} }
} else { } else {
...@@ -208,6 +210,9 @@ internal object MessageSvcPbGetMsg : OutgoingPacketFactory<MessageSvcPbGetMsg.Re ...@@ -208,6 +210,9 @@ internal object MessageSvcPbGetMsg : OutgoingPacketFactory<MessageSvcPbGetMsg.Re
} }
85 -> bot.groupListModifyLock.withLock { // 其他客户端入群 85 -> bot.groupListModifyLock.withLock { // 其他客户端入群
// msg.msgHead.authUin: 处理人
return@mapNotNull if (msg.msgHead.toUin == bot.id) { return@mapNotNull if (msg.msgHead.toUin == bot.id) {
createGroupForBot(msg.msgHead.fromUin) createGroupForBot(msg.msgHead.fromUin)
?.let { BotJoinGroupEvent.Active(it) } ?.let { BotJoinGroupEvent.Active(it) }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment