|
|
@@ -16,10 +16,7 @@ package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive
|
|
|
|
|
|
import kotlinx.coroutines.CancellationException
|
|
|
import kotlinx.coroutines.cancel
|
|
|
-import kotlinx.io.core.ByteReadPacket
|
|
|
-import kotlinx.io.core.discardExact
|
|
|
-import kotlinx.io.core.readBytes
|
|
|
-import kotlinx.io.core.readUInt
|
|
|
+import kotlinx.io.core.*
|
|
|
import kotlinx.serialization.Serializable
|
|
|
import kotlinx.serialization.protobuf.ProtoId
|
|
|
import net.mamoe.mirai.JavaFriendlyAPI
|
|
|
@@ -43,6 +40,7 @@ import net.mamoe.mirai.qqandroid.network.protocol.data.jce.RequestPacket
|
|
|
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.Submsgtype0x27.SubMsgType0x27.*
|
|
|
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.Submsgtype0x44
|
|
|
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.Submsgtype0xb3
|
|
|
+import net.mamoe.mirai.qqandroid.network.protocol.data.proto.Submsgtype0x115
|
|
|
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.TroopTips0x857
|
|
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.IncomingPacketFactory
|
|
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket
|
|
|
@@ -449,6 +447,15 @@ internal object Transformers528 : Map<Long, Lambda528> by mapOf(
|
|
|
sequenceOf(BotLeaveEvent.Active(group))
|
|
|
} else emptySequence()
|
|
|
},
|
|
|
+ //好友输入状态
|
|
|
+ 0x115L to lambda528 {bot->
|
|
|
+ val body=vProtobuf.loadAs(Submsgtype0x115.SubMsgType0x115.MsgBody.serializer())
|
|
|
+ val friend = bot.getFriendOrNull(body.fromUin)
|
|
|
+ val item = body.msgNotifyItem
|
|
|
+ return@lambda528 if(friend!=null&&item!=null){
|
|
|
+ sequenceOf(FriendInputStatusChangedEvent(friend,item.eventType==1))
|
|
|
+ } else { emptySequence()}
|
|
|
+ },
|
|
|
// 群相关, ModFriendRemark, DelFriend, ModGroupProfile
|
|
|
0x27L to lambda528 { bot ->
|
|
|
fun ModFriendRemark.transform(bot: QQAndroidBot): Sequence<Packet> {
|