mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-23 06:10:30 +08:00
Make ClientEventResponsePacket inside ServerEventPacket
This commit is contained in:
parent
a8039e5e1f
commit
3dfe7f6e6f
@ -116,7 +116,7 @@ internal class TIMBotNetworkHandler(private val bot: Bot) : BotNetworkHandler {
|
||||
if (packet is ServerEventPacket) {
|
||||
//no need to sync acknowledgement packets
|
||||
NetworkScope.launch {
|
||||
sendPacket(ClientEventResponsePacket(bot.account.qqNumber, packet.packetId, sessionKey, packet.eventIdentity))
|
||||
sendPacket(packet.ResponsePacket(bot.account.qqNumber, sessionKey))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -52,6 +52,26 @@ abstract class ServerEventPacket(input: DataInputStream, val packetId: ByteArray
|
||||
fun decrypt(sessionKey: ByteArray): Raw = Raw(decryptBy(sessionKey), packetId).setId(this.idHex)
|
||||
}
|
||||
}
|
||||
|
||||
@PacketId("")
|
||||
inner class ResponsePacket(
|
||||
val qq: Long,
|
||||
val sessionKey: ByteArray
|
||||
) : ClientPacket() {
|
||||
override fun encode() {
|
||||
this.write(packetId)//packet id 4bytes
|
||||
|
||||
this.writeQQ(qq)
|
||||
this.writeHex(TIMProtocol.fixVer2)
|
||||
this.encryptAndWrite(sessionKey) {
|
||||
write(eventIdentity)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getFixedId(): String {
|
||||
return packetId.toUHexString()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -348,31 +368,6 @@ B1 89 BE 09 8F 00 1A E5 00 0B 03 A2 09 90 BB 7A 1F 40 00 A6 00 00 00 20 00 05 00
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 告知服务器已经收到数据
|
||||
*/
|
||||
@PacketId("")//随后写入
|
||||
class ClientEventResponsePacket(
|
||||
private val qq: Long,
|
||||
private val packetIdFromServer: ByteArray,//4bytes
|
||||
private val sessionKey: ByteArray,
|
||||
private val eventIdentity: ByteArray
|
||||
) : ClientPacket() {
|
||||
override fun encode() {
|
||||
this.write(packetIdFromServer)//packet id 4bytes
|
||||
|
||||
this.writeQQ(qq)
|
||||
this.writeHex(TIMProtocol.fixVer2)
|
||||
this.encryptAndWrite(sessionKey) {
|
||||
write(eventIdentity)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getFixedId(): String {
|
||||
return packetIdFromServer.toUHexString()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
3E 03 3F A2 76 E4 B8 DD 00 09 7C 3F 64 5C 2A 60 1F 40 00 A6 00 00 00 2D 00 05 00 02 00 01 00 06 00 04 00 01 2E 01 00 09 00 06 00 01 00 00 00 01 00 0A 00 04 01 00 00 00 00 01 00 04 00 00 00 00 00 03 00 01 02 38 03 3E 03 3F A2 76 E4 B8 DD 01 10 9D D6 12 EA BC 07 91 EF DC 29 75 67 A9 1E 00 0B 2F E4 5D 6B A8 F6 01 1D 00 00 00 00 01 00 00 00 01 4D 53 47 00 00 00 00 00 5D 6B A8 F6 08 7E 90 CE 00 00 00 00 0C 00 86 22 00 0C E5 BE AE E8 BD AF E9 9B 85 E9 BB 91 00 00 01 00 09 01 00 06 E7 89 9B E9 80 BC 0E 00 07 01 00 04 00 00 00 09 19 00 18 01 00 15 AA 02 12 9A 01 0F 80 01 01 C8 01 00 F0 01 00 F8 01 00 90 02 00
|
||||
3E 03 3F A2 76 E4 B8 DD 00 03 5F 85 64 5C 2A A4 1F 40 00 A6 00 00 00 2D 00 05 00 02 00 01 00 06 00 04 00 01 2E 01 00 09 00 06 00 01 00 00 00 01 00 0A 00 04 01 00 00 00 00 01 00 04 00 00 00 00 00 03 00 01 02 38 03 3E 03 3F A2 76 E4 B8 DD 01 10 9D D6 12 EA BC 07 91 EF DC 29 75 67 A9 1E 00 0B 2F E5 5D 6B A9 16 01 1D 00 00 00 00 01 00 00 00 01 4D 53 47 00 00 00 00 00 5D 6B A9 17 1B B3 4D D7 00 00 00 00 0C 00 86 22 00 0C E5 BE AE E8 BD AF E9 9B 85 E9 BB 91 00 00 01 00 09 01 00 06 E7 89 9B E9 80 BC 0E 00 07 01 00 04 00 00 00 09 19 00 18 01 00 15 AA 02 12 9A 01 0F 80 01 01 C8 01 00 F0 01 00 F8 01 00 90 02 00
|
||||
|
Loading…
Reference in New Issue
Block a user