mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-19 07:24:46 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
c89076b4b9
@ -24,6 +24,7 @@ import net.mamoe.mirai.qqandroid.event.ForceOfflineEvent
|
|||||||
import net.mamoe.mirai.qqandroid.event.PacketReceivedEvent
|
import net.mamoe.mirai.qqandroid.event.PacketReceivedEvent
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.MsgSvc
|
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.MsgSvc
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.*
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.*
|
||||||
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.TroopManagement
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvc
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvc
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.list.FriendList
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.list.FriendList
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.LoginPacket
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.LoginPacket
|
||||||
@ -266,6 +267,15 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
|
|||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
suspend fun mute(member: Member, time: Int) {
|
||||||
|
bot.logger.info("mute..")
|
||||||
|
val data = TroopManagement.Mute(
|
||||||
|
client = bot.client,
|
||||||
|
member = member,
|
||||||
|
timeInSecond = time
|
||||||
|
).sendAndExpect<TroopManagement.Mute.Response>()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 缓存超时处理的 [Job]. 超时后将清空缓存, 以免阻碍后续包的处理
|
* 缓存超时处理的 [Job]. 超时后将清空缓存, 以免阻碍后续包的处理
|
||||||
*/
|
*/
|
||||||
|
@ -1,18 +1,63 @@
|
|||||||
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat
|
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat
|
||||||
|
|
||||||
import kotlinx.io.core.ByteReadPacket
|
import kotlinx.io.core.*
|
||||||
|
import net.mamoe.mirai.contact.Member
|
||||||
|
import net.mamoe.mirai.data.Packet
|
||||||
import net.mamoe.mirai.qqandroid.QQAndroidBot
|
import net.mamoe.mirai.qqandroid.QQAndroidBot
|
||||||
|
import net.mamoe.mirai.qqandroid.io.serialization.writeProtoBuf
|
||||||
|
import net.mamoe.mirai.qqandroid.network.QQAndroidClient
|
||||||
|
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.OidbSso
|
||||||
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacketFactory
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacketFactory
|
||||||
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.buildOutgoingUniPacket
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.LoginPacket
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.LoginPacket
|
||||||
|
import net.mamoe.mirai.utils.io.debugPrintThis
|
||||||
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.TroopManagement.Mute as Mute
|
||||||
|
|
||||||
internal class TroopManagement {
|
internal class TroopManagement {
|
||||||
|
|
||||||
internal object Mute : OutgoingPacketFactory<LoginPacket.LoginPacketResponse>("OidbSvc.0x570_8") {
|
internal object Mute : OutgoingPacketFactory<Mute.Response>("OidbSvc.0x570_8") {
|
||||||
override suspend fun ByteReadPacket.decode(bot: QQAndroidBot): LoginPacket.LoginPacketResponse {
|
override suspend fun ByteReadPacket.decode(bot: QQAndroidBot): Mute.Response {
|
||||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
this.debugPrintThis()
|
||||||
|
return Response()
|
||||||
|
}
|
||||||
|
|
||||||
|
operator fun invoke(
|
||||||
|
client: QQAndroidClient,
|
||||||
|
member: Member,
|
||||||
|
timeInSecond: Int
|
||||||
|
): OutgoingPacket {
|
||||||
|
return buildOutgoingUniPacket(client) {
|
||||||
|
writeProtoBuf(
|
||||||
|
OidbSso.OIDBSSOPkg.serializer(),
|
||||||
|
OidbSso.OIDBSSOPkg(
|
||||||
|
command = 1392,
|
||||||
|
serviceType = 8,
|
||||||
|
result = 0,
|
||||||
|
bodybuffer = buildPacket {
|
||||||
|
writeInt(member.group.id.toInt())//id or UIN?
|
||||||
|
writeByte(32)
|
||||||
|
writeShort(1)
|
||||||
|
writeInt(member.id.toInt())
|
||||||
|
writeInt(timeInSecond)
|
||||||
|
}.readBytes()
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun unmute(
|
||||||
|
client: QQAndroidClient,
|
||||||
|
member: Member
|
||||||
|
): OutgoingPacket {
|
||||||
|
return invoke(client, member, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
internal class Response() : Packet
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
internal object MuteAll : OutgoingPacketFactory<LoginPacket.LoginPacketResponse>("OidbSvc.0x89a_0") {
|
internal object MuteAll : OutgoingPacketFactory<LoginPacket.LoginPacketResponse>("OidbSvc.0x89a_0") {
|
||||||
override suspend fun ByteReadPacket.decode(bot: QQAndroidBot): LoginPacket.LoginPacketResponse {
|
override suspend fun ByteReadPacket.decode(bot: QQAndroidBot): LoginPacket.LoginPacketResponse {
|
||||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||||
|
Loading…
Reference in New Issue
Block a user