mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-13 03:16:05 +08:00
Android Protocol - Chatting packet
This commit is contained in:
parent
c8a68ab5b1
commit
4d67c2e475
@ -0,0 +1,25 @@
|
|||||||
|
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TROOP仍然不知道是什么
|
||||||
|
*/
|
||||||
|
enum class ChatType(val internalID: Int) {
|
||||||
|
|
||||||
|
FRIEND(2),//可以为任何数字
|
||||||
|
|
||||||
|
CONTACT(1006),
|
||||||
|
|
||||||
|
//未知,推测为"组"
|
||||||
|
TROOP(1),
|
||||||
|
TROOP_HCTOPIC(1026),
|
||||||
|
|
||||||
|
//坦白说
|
||||||
|
CONFESS_A(1033),
|
||||||
|
CONFESS_B(1034),
|
||||||
|
|
||||||
|
CM_GAME_TEMP(1036),
|
||||||
|
|
||||||
|
DISCUSSION(3000),
|
||||||
|
|
||||||
|
DEVICE_MSG(9501),
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package net.mamoe.mirai.qqandroid.network.protocol.packet.image
|
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat
|
||||||
|
|
||||||
import kotlinx.io.core.ByteReadPacket
|
import kotlinx.io.core.ByteReadPacket
|
||||||
import kotlinx.serialization.SerialId
|
import kotlinx.serialization.SerialId
|
||||||
@ -23,12 +23,25 @@ internal object ImagePacket : PacketFactory<ImagePacket.RequestImgUrlResponse>()
|
|||||||
|
|
||||||
fun createCmd0x325Packet(req: ImgReq, networkType: Int = 5): Cmd0x352Packet {
|
fun createCmd0x325Packet(req: ImgReq, networkType: Int = 5): Cmd0x352Packet {
|
||||||
if (req is UploadImgReq)
|
if (req is UploadImgReq)
|
||||||
return Cmd0x352Packet(1, req, null, null, networkType)
|
return Cmd0x352Packet(
|
||||||
|
1,
|
||||||
|
req,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
networkType
|
||||||
|
)
|
||||||
if (req is GetImgUrlReq)
|
if (req is GetImgUrlReq)
|
||||||
return Cmd0x352Packet(2, null, req, null, networkType)
|
return Cmd0x352Packet(
|
||||||
|
2,
|
||||||
|
null,
|
||||||
|
req,
|
||||||
|
null,
|
||||||
|
networkType
|
||||||
|
)
|
||||||
error("Unknown ImgReq")
|
error("Unknown ImgReq")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
internal class Cmd0x352Packet(
|
internal class Cmd0x352Packet(
|
||||||
@SerialId(1) val subCommand: Int, //2是GetImgUrlReq 1是UploadImgReq
|
@SerialId(1) val subCommand: Int, //2是GetImgUrlReq 1是UploadImgReq
|
||||||
@ -72,7 +85,7 @@ internal object ImagePacket : PacketFactory<ImagePacket.RequestImgUrlResponse>()
|
|||||||
@SerialId(2) val dstUni: Int,
|
@SerialId(2) val dstUni: Int,
|
||||||
@SerialId(3) val fileResID: String,//UUID
|
@SerialId(3) val fileResID: String,//UUID
|
||||||
/**
|
/**
|
||||||
* UUID例子:
|
* UUID例子: 没有找到
|
||||||
*/
|
*/
|
||||||
@SerialId(4) val urlFlag: Int = 1,
|
@SerialId(4) val urlFlag: Int = 1,
|
||||||
//5 unknown, 好像没用
|
//5 unknown, 好像没用
|
||||||
@ -81,15 +94,7 @@ internal object ImagePacket : PacketFactory<ImagePacket.RequestImgUrlResponse>()
|
|||||||
@SerialId(8) val requestPlatformType: Int = 9,//确定
|
@SerialId(8) val requestPlatformType: Int = 9,//确定
|
||||||
@SerialId(9) val srcFileType: Int = 1,//2=ftn,1=picplatform,255
|
@SerialId(9) val srcFileType: Int = 1,//2=ftn,1=picplatform,255
|
||||||
@SerialId(10) val innerIP: Int = 0,//确定
|
@SerialId(10) val innerIP: Int = 0,//确定
|
||||||
@SerialId(11) val addressBook: Int = 0,//chatType == 1006为1 我觉得发0没问题
|
@SerialId(11) val addressBook: Int = 0,//[ChatType.internalID]== 1006为1[为CONTACT时] 我觉得发0没问题
|
||||||
/**
|
|
||||||
* chattype
|
|
||||||
* 1008时为Troop
|
|
||||||
* 1 时为?
|
|
||||||
* 9999时为?
|
|
||||||
* 1036时为?
|
|
||||||
* 1006时为?
|
|
||||||
*/
|
|
||||||
@SerialId(12) val buType: Int = 1,//确定
|
@SerialId(12) val buType: Int = 1,//确定
|
||||||
@SerialId(13) val buildVer: String = "8.2.0.1296",//版本号
|
@SerialId(13) val buildVer: String = "8.2.0.1296",//版本号
|
||||||
@SerialId(14) val timestamp: Int = currentTimeSeconds.toInt(),//(pic_up_timestamp)
|
@SerialId(14) val timestamp: Int = currentTimeSeconds.toInt(),//(pic_up_timestamp)
|
@ -0,0 +1,2 @@
|
|||||||
|
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat
|
||||||
|
|
@ -12,4 +12,5 @@ internal actual class QQAndroidBot actual constructor(
|
|||||||
context: Context,
|
context: Context,
|
||||||
account: BotAccount,
|
account: BotAccount,
|
||||||
configuration: BotConfiguration
|
configuration: BotConfiguration
|
||||||
) : QQAndroidBotBase(context, account, configuration)
|
) : QQAndroidBotBase(context, account, configuration)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user