mirror of
https://github.com/mamoe/mirai.git
synced 2025-04-17 09:09:23 +08:00
Merge remote-tracking branch 'origin/master'
# Conflicts: # mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/LoginPacket.kt
This commit is contained in:
commit
cf2605713b
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet
@ -1,22 +1,29 @@
|
||||
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image
|
||||
|
||||
import kotlinx.io.core.ByteReadPacket
|
||||
import kotlinx.io.core.writeFully
|
||||
import kotlinx.serialization.protobuf.ProtoBuf
|
||||
import net.mamoe.mirai.data.Packet
|
||||
import net.mamoe.mirai.qqandroid.QQAndroidBot
|
||||
import net.mamoe.mirai.qqandroid.network.QQAndroidClient
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketFactory
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.buildOutgingPacket
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.buildLoginOutgoingPacket
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.writeSsoPacket
|
||||
|
||||
internal object ImageDownPacket : PacketFactory<ImageDownPacket.ImageDownPacketResponse>("LongConn.OffPicDown") {
|
||||
|
||||
operator fun invoke(client: QQAndroidClient, req: GetImgUrlReq): OutgoingPacket {
|
||||
return buildOutgingPacket(client, key = client.wLoginSigInfo.d2Key) {
|
||||
ProtoBuf.dump(
|
||||
Cmd0x352Packet.serializer(),
|
||||
Cmd0x352Packet.createByImageRequest(req)
|
||||
)
|
||||
// TODO: 2020/1/24 测试: bodyType, subAppId
|
||||
return buildLoginOutgoingPacket(client, key = client.wLoginSigInfo.d2Key, bodyType = 1) {
|
||||
writeSsoPacket(client, subAppId = 0, commandName = commandName, sequenceId = it) {
|
||||
val data = ProtoBuf.dump(
|
||||
Cmd0x352Packet.serializer(),
|
||||
Cmd0x352Packet.createByImageRequest(req)
|
||||
)
|
||||
writeInt(data.size + 4)
|
||||
writeFully(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,22 +1,29 @@
|
||||
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image
|
||||
|
||||
import kotlinx.io.core.ByteReadPacket
|
||||
import kotlinx.io.core.writeFully
|
||||
import kotlinx.serialization.protobuf.ProtoBuf
|
||||
import net.mamoe.mirai.data.Packet
|
||||
import net.mamoe.mirai.qqandroid.QQAndroidBot
|
||||
import net.mamoe.mirai.qqandroid.network.QQAndroidClient
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.*
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketFactory
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.buildOutgingPacket
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.buildLoginOutgoingPacket
|
||||
|
||||
internal object ImageUpPacket : PacketFactory<ImageUpPacket.ImageUpPacketResponse>("LongConn.OffPicUp") {
|
||||
|
||||
operator fun invoke(client: QQAndroidClient, req: UploadImgReq): OutgoingPacket {
|
||||
return buildOutgingPacket(client, key = client.wLoginSigInfo.d2Key) {
|
||||
ProtoBuf.dump(
|
||||
Cmd0x352Packet.serializer(),
|
||||
Cmd0x352Packet.createByImageRequest(req)
|
||||
)
|
||||
// TODO: 2020/1/24 测试: bodyType, subAppId
|
||||
return buildLoginOutgoingPacket(client, key = client.wLoginSigInfo.d2Key, bodyType = 1) {
|
||||
writeSsoPacket(client, subAppId = 0, commandName = ImageDownPacket.commandName, sequenceId = it) {
|
||||
val data = ProtoBuf.dump(
|
||||
Cmd0x352Packet.serializer(),
|
||||
Cmd0x352Packet.createByImageRequest(req)
|
||||
)
|
||||
writeInt(data.size + 4)
|
||||
writeFully(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -216,10 +216,8 @@ internal object LoginPacket : PacketFactory<LoginPacket.LoginPacketResponse>("wt
|
||||
|
||||
@UseExperimental(MiraiDebugAPI::class)
|
||||
fun ByteReadPacket.onSolveLoginCaptcha(bot: QQAndroidBot) = this.debugPrint("login验证码解析").run {
|
||||
val client = bot.client
|
||||
val tlvMap: Map<Int, ByteArray> = this.readTLVMap()
|
||||
tlvMap[0x104]?.let { client.analysisTlv150(it) }
|
||||
tlvMap[0x192]?.let { client.analysisTlv150(it) }
|
||||
tlvMap[0x150]?.let { client.analysisTlv150(it) }
|
||||
}
|
||||
|
||||
@UseExperimental(MiraiDebugAPI::class)
|
||||
|
Loading…
Reference in New Issue
Block a user