Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Him188 2020-08-18 22:59:42 +08:00
commit fdede76f11
3 changed files with 23 additions and 2 deletions

View File

@ -182,7 +182,7 @@ internal class Submsgtype0x115 {
@Serializable
internal class NotifyItem(
@ProtoNumber(1) @JvmField val ime: Int = 0,
@ProtoNumber(2) @JvmField val timeoutS: Int = 0,
@ProtoNumber(2) @JvmField val timeout: Int = 0,
@ProtoNumber(3) @JvmField val timestamp: Long = 0L,
@ProtoNumber(4) @JvmField val eventType: Int = 0,
@ProtoNumber(5) @JvmField val interval: Int = 0,
@ -611,7 +611,6 @@ internal class Submsgtype0x26 {
}
}
internal class Submsgtype0x27 {
internal class SubMsgType0x27 : ProtoBuf {
@Serializable

View File

@ -39,6 +39,7 @@ import net.mamoe.mirai.qqandroid.network.protocol.data.jce.MsgInfo
import net.mamoe.mirai.qqandroid.network.protocol.data.jce.MsgType0x210
import net.mamoe.mirai.qqandroid.network.protocol.data.jce.OnlinePushPack
import net.mamoe.mirai.qqandroid.network.protocol.data.jce.RequestPacket
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.Submsgtype0x115
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
@ -448,6 +449,17 @@ 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> {

View File

@ -21,6 +21,7 @@ import net.mamoe.mirai.contact.User
import net.mamoe.mirai.event.AbstractEvent
import net.mamoe.mirai.event.internal.MiraiAtomicBoolean
import net.mamoe.mirai.qqandroid.network.Packet
import net.mamoe.mirai.utils.SinceMirai
import net.mamoe.mirai.utils.internal.runBlocking
import kotlin.jvm.*
@ -111,3 +112,12 @@ public data class FriendAvatarChangedEvent internal constructor(
public override val friend: Friend
) : FriendEvent, Packet, AbstractEvent()
/**
* 好友输入状态改变的事件当开始输入文字退出聊天窗口或清空输入框时会触发此事件
*/
@SinceMirai("1.2.0")
public data class FriendInputStatusChangedEvent internal constructor(
public override val friend: Friend,
public val inputting: Boolean
) : FriendEvent, Packet, AbstractEvent()