Fix internal error in uploading private images; fix #1317

This commit is contained in:
Karlatemp 2021-06-10 22:49:24 +08:00
parent 1e2ab736c2
commit 05a8419fb7
No known key found for this signature in database
GPG Key ID: 21FBDDF664FF06F8
3 changed files with 16 additions and 10 deletions

View File

@ -58,13 +58,13 @@ internal abstract class AbstractUser(
val resp = bot.network.run {
LongConn.OffPicUp(
bot.client, Cmd0x352.TryUpImgReq(
srcUin = bot.id.toInt(),
dstUin = id.toInt(),
fileId = 0,
buType = 1,
srcUin = bot.id,
dstUin = this@AbstractUser.id,
fileMd5 = resource.md5,
fileSize = resource.size.toInt(),
fileSize = resource.size,
fileName = resource.md5.toUHexString("") + "." + resource.formatName,
imgOriginal = 1
imgOriginal = 1,
)
).sendAndExpect<LongConn.OffPicUp.Response>()
}

View File

@ -100,7 +100,7 @@ internal class Cmd0x352 : ProtoBuf {
@ProtoNumber(2) @JvmField val msgTryupImgReq: List<TryUpImgReq> = emptyList(),// optional
@ProtoNumber(3) @JvmField val msgGetimgUrlReq: List<GetImgUrlReq> = emptyList(),// optional
@ProtoNumber(4) @JvmField val msgDelImgReq: List<DelImgReq> = emptyList(),
@ProtoNumber(10) @JvmField val netType: Int = 3// 数据网络=5
@ProtoNumber(10) @JvmField val netType: Int = 0// 数据网络=5, wifi=3
) : ProtoBuf
@Serializable
@ -115,11 +115,11 @@ internal class Cmd0x352 : ProtoBuf {
@Serializable
internal class TryUpImgReq(
@ProtoNumber(1) @JvmField val srcUin: Int,
@ProtoNumber(2) @JvmField val dstUin: Int,
@ProtoNumber(1) @JvmField val srcUin: Long,
@ProtoNumber(2) @JvmField val dstUin: Long,
@ProtoNumber(3) @JvmField val fileId: Int = 0,//从0开始的自增数貌似有一个连接就要自增1, 但是又会重置回0
@ProtoNumber(4) @JvmField val fileMd5: ByteArray,
@ProtoNumber(5) @JvmField val fileSize: Int,
@ProtoNumber(5) @JvmField val fileSize: Long,
@ProtoNumber(6) @JvmField val fileName: String,//默认为md5+".jpg"
@ProtoNumber(7) @JvmField val srcTerm: Int = 5,
@ProtoNumber(8) @JvmField val platformType: Int = 9,

View File

@ -29,7 +29,13 @@ internal class LongConn {
return buildOutgoingUniPacket(client) {
writeProtoBuf(
Cmd0x352.ReqBody.serializer(),
Cmd0x352.ReqBody(1, msgTryupImgReq = listOf(req))
Cmd0x352.ReqBody(
subcmd = 1,
netType = 3,
msgTryupImgReq = listOf(req),
msgDelImgReq = listOf(),
msgGetimgUrlReq = listOf(),
)
)
}
}