Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
37745b83
Commit
37745b83
authored
Feb 05, 2020
by
Him188
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add docs
parent
69f1ee2c
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
228 additions
and
156 deletions
+228
-156
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/data/proto/OIDB.kt
...mamoe/mirai/qqandroid/network/protocol/data/proto/OIDB.kt
+123
-123
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/OnlinePush.kt
...ndroid/network/protocol/packet/chat/receive/OnlinePush.kt
+0
-0
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/Contact.kt
.../src/commonMain/kotlin/net.mamoe.mirai/contact/Contact.kt
+19
-3
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/Group.kt
...re/src/commonMain/kotlin/net.mamoe.mirai/contact/Group.kt
+17
-17
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/Member.kt
...e/src/commonMain/kotlin/net.mamoe.mirai/contact/Member.kt
+9
-5
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/MessagePacket.kt
...ommonMain/kotlin/net.mamoe.mirai/message/MessagePacket.kt
+41
-7
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/MessageChain.kt
...nMain/kotlin/net.mamoe.mirai/message/data/MessageChain.kt
+2
-0
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/message/MessagePacket.kt
...c/jvmMain/kotlin/net/mamoe/mirai/message/MessagePacket.kt
+17
-1
No files found.
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/data/proto/OIDB.kt
View file @
37745b83
...
...
@@ -16,7 +16,7 @@ class Oidb0x88d : ProtoBuf {
@Serializable
class
ReqGroupInfo
(
@SerialId
(
1
)
val
groupCode
:
Long
=
0L
,
@SerialId
(
2
)
val
stgroupinfo
:
Oidb0x88d
.
GroupInfo
?
=
null
,
@SerialId
(
2
)
val
stgroupinfo
:
GroupInfo
?
=
null
,
@SerialId
(
3
)
val
lastGetGroupNameTime
:
Int
=
0
)
:
ProtoBuf
...
...
@@ -24,7 +24,7 @@ class Oidb0x88d : ProtoBuf {
class
RspGroupInfo
(
@SerialId
(
1
)
val
groupCode
:
Long
=
0L
,
@SerialId
(
2
)
val
result
:
Int
=
0
,
@SerialId
(
3
)
val
stgroupinfo
:
Oidb0x88d
.
GroupInfo
?
=
null
@SerialId
(
3
)
val
stgroupinfo
:
GroupInfo
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -165,24 +165,24 @@ class Oidb0x88d : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
stzrspgroupinfo
:
List
<
Oidb0x88d
.
RspGroupInfo
>?
=
null
,
@SerialId
(
1
)
val
stzrspgroupinfo
:
List
<
RspGroupInfo
>?
=
null
,
@SerialId
(
2
)
val
errorinfo
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
appid
:
Int
=
0
,
@SerialId
(
2
)
val
stzreqgroupinfo
:
List
<
Oidb0x88d
.
ReqGroupInfo
>?
=
null
,
@SerialId
(
2
)
val
stzreqgroupinfo
:
List
<
ReqGroupInfo
>?
=
null
,
@SerialId
(
3
)
val
pcClientVersion
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
GroupHeadPortrait
(
@SerialId
(
1
)
val
picCnt
:
Int
=
0
,
@SerialId
(
2
)
val
msgInfo
:
List
<
Oidb0x88d
.
GroupHeadPortraitInfo
>?
=
null
,
@SerialId
(
2
)
val
msgInfo
:
List
<
GroupHeadPortraitInfo
>?
=
null
,
@SerialId
(
3
)
val
defaultId
:
Int
=
0
,
@SerialId
(
4
)
val
verifyingPicCnt
:
Int
=
0
,
@SerialId
(
5
)
val
msgVerifyingpicInfo
:
List
<
Oidb0x88d
.
GroupHeadPortraitInfo
>?
=
null
@SerialId
(
5
)
val
msgVerifyingpicInfo
:
List
<
GroupHeadPortraitInfo
>?
=
null
)
:
ProtoBuf
}
...
...
@@ -209,18 +209,18 @@ class Oidb0x89a : ProtoBuf {
@SerialId
(
11
)
val
certificationType
:
Int
?
=
null
,
@SerialId
(
12
)
val
ingCertificationText
:
ByteArray
?
=
null
,
@SerialId
(
13
)
val
ingGroupRichFingerMemo
:
ByteArray
?
=
null
,
@SerialId
(
14
)
val
stGroupNewguidelines
:
Oidb0x89a
.
GroupNewGuidelinesInfo
?
=
null
,
@SerialId
(
14
)
val
stGroupNewguidelines
:
GroupNewGuidelinesInfo
?
=
null
,
@SerialId
(
15
)
val
groupFace
:
Int
?
=
null
,
@SerialId
(
16
)
val
addOption
:
Int
?
=
null
,
@SerialId
(
17
)
val
shutupTime
:
Int
?
=
null
,
@SerialId
(
18
)
val
groupTypeFlag
:
Int
?
=
null
,
@SerialId
(
19
)
val
stringGroupTag
:
List
<
ByteArray
>?
=
null
,
@SerialId
(
20
)
val
msgGroupGeoInfo
:
Oidb0x89a
.
GroupGeoInfo
?
=
null
,
@SerialId
(
20
)
val
msgGroupGeoInfo
:
GroupGeoInfo
?
=
null
,
@SerialId
(
21
)
val
groupClassExt
:
Int
?
=
null
,
@SerialId
(
22
)
val
ingGroupClassText
:
ByteArray
?
=
null
,
@SerialId
(
23
)
val
appPrivilegeFlag
:
Int
?
=
null
,
@SerialId
(
24
)
val
appPrivilegeMask
:
Int
?
=
null
,
@SerialId
(
25
)
val
stGroupExInfo
:
Oidb0x89a
.
GroupExInfoOnly
?
=
null
,
@SerialId
(
25
)
val
stGroupExInfo
:
GroupExInfoOnly
?
=
null
,
@SerialId
(
26
)
val
groupSecLevel
:
Int
?
=
null
,
@SerialId
(
27
)
val
groupSecLevelInfo
:
Int
?
=
null
,
@SerialId
(
28
)
val
subscriptionUin
:
Long
?
=
null
,
...
...
@@ -260,7 +260,7 @@ class Oidb0x89a : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
groupCode
:
Long
=
0L
,
@SerialId
(
2
)
val
stGroupInfo
:
Oidb0x89a
.
Groupinfo
?
=
null
,
@SerialId
(
2
)
val
stGroupInfo
:
Groupinfo
?
=
null
,
@SerialId
(
3
)
val
originalOperatorUin
:
Long
=
0L
,
@SerialId
(
4
)
val
reqGroupOpenAppid
:
Int
=
0
)
:
ProtoBuf
...
...
@@ -278,13 +278,13 @@ class Cmd0x7cb : ProtoBuf {
class
RspBody
(
@SerialId
(
1
)
val
timeStamp
:
Int
=
0
,
@SerialId
(
2
)
val
timeGap
:
Int
=
0
,
@SerialId
(
3
)
val
commentConfigs
:
List
<
C
md0x7cb
.
C
ommentConfig
>?
=
null
,
@SerialId
(
3
)
val
commentConfigs
:
List
<
CommentConfig
>?
=
null
,
@SerialId
(
4
)
val
attendTipsToA
:
String
=
""
,
@SerialId
(
5
)
val
firstMsgTips
:
String
=
""
,
@SerialId
(
6
)
val
cancleConfig
:
List
<
C
md0x7cb
.
C
onfigItem
>?
=
null
,
@SerialId
(
7
)
val
msgDateRequest
:
Cmd0x7cb
.
DateRequest
?
=
null
,
@SerialId
(
6
)
val
cancleConfig
:
List
<
ConfigItem
>?
=
null
,
@SerialId
(
7
)
val
msgDateRequest
:
DateRequest
?
=
null
,
@SerialId
(
8
)
val
msgHotLocale
:
List
<
ByteArray
>?
=
null
,
//List<AppointDefine.LocaleInfo>
@SerialId
(
9
)
val
msgTopicList
:
List
<
Cmd0x7cb
.
TopicConfig
>?
=
null
,
@SerialId
(
9
)
val
msgTopicList
:
List
<
TopicConfig
>?
=
null
,
@SerialId
(
10
)
val
travelMsgTips
:
String
=
""
,
@SerialId
(
11
)
val
travelProfileTips
:
String
=
""
,
@SerialId
(
12
)
val
travelAttenTips
:
String
=
""
,
...
...
@@ -294,7 +294,7 @@ class Cmd0x7cb : ProtoBuf {
@Serializable
class
CommentConfig
(
@SerialId
(
1
)
val
appointSubject
:
Int
=
0
,
@SerialId
(
2
)
val
msgConfigs
:
List
<
C
md0x7cb
.
C
onfigItem
>?
=
null
@SerialId
(
2
)
val
msgConfigs
:
List
<
ConfigItem
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -346,16 +346,16 @@ class GroupAppPb : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
fullList
:
GroupAppPb
.
AppList
?
=
null
,
@SerialId
(
2
)
val
groupGrayList
:
GroupAppPb
.
AppList
?
=
null
,
@SerialId
(
3
)
val
redPointList
:
GroupAppPb
.
AppList
?
=
null
,
@SerialId
(
1
)
val
fullList
:
AppList
?
=
null
,
@SerialId
(
2
)
val
groupGrayList
:
AppList
?
=
null
,
@SerialId
(
3
)
val
redPointList
:
AppList
?
=
null
,
@SerialId
(
4
)
val
cacheInterval
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
AppList
(
@SerialId
(
1
)
val
hash
:
String
=
""
,
@SerialId
(
2
)
val
infos
:
List
<
GroupAppPb
.
AppInfo
>?
=
null
@SerialId
(
2
)
val
infos
:
List
<
AppInfo
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -371,7 +371,7 @@ class GroupAppPb : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
client
:
GroupAppPb
.
ClientInfo
?
=
null
,
@SerialId
(
1
)
val
client
:
ClientInfo
?
=
null
,
@SerialId
(
2
)
val
groupId
:
Long
=
0L
,
@SerialId
(
3
)
val
groupType
:
Int
=
0
,
@SerialId
(
4
)
val
fullListHash
:
String
=
""
,
...
...
@@ -427,20 +427,20 @@ class Oidb0xbcb : ProtoBuf {
@Serializable
class
CheckUrlRsp
(
@SerialId
(
1
)
val
results
:
List
<
Oidb0xbcb
.
UrlCheckResult
>?
=
null
,
@SerialId
(
1
)
val
results
:
List
<
UrlCheckResult
>?
=
null
,
@SerialId
(
2
)
val
nextReqDuration
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
ReqBody
(
@SerialId
(
9
)
val
notUseCache
:
Int
=
0
,
@SerialId
(
10
)
val
checkUrlReq
:
Oidb0xbcb
.
CheckUrlReq
?
=
null
@SerialId
(
10
)
val
checkUrlReq
:
CheckUrlReq
?
=
null
)
:
ProtoBuf
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
wording
:
String
=
""
,
@SerialId
(
10
)
val
checkUrlRsp
:
Oidb0xbcb
.
CheckUrlRsp
?
=
null
@SerialId
(
10
)
val
checkUrlRsp
:
CheckUrlRsp
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -510,7 +510,7 @@ class Oidb0xbe8 : ProtoBuf {
@SerialId
(
3
)
val
reqOfPopupFlag
:
Int
=
0
,
@SerialId
(
4
)
val
rstOfPopupFlag
:
Int
=
0
,
@SerialId
(
5
)
val
mqq808WelcomepageFlag
:
Int
=
0
,
@SerialId
(
6
)
val
msgPopupResult
:
List
<
Oidb0xbe8
.
PopupResult
>?
=
null
@SerialId
(
6
)
val
msgPopupResult
:
List
<
PopupResult
>?
=
null
)
:
ProtoBuf
}
...
...
@@ -525,8 +525,8 @@ class Cmd0x7de : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
msgHead
:
Cmd0x7de
.
BusiRespHead
?
=
null
,
@SerialId
(
2
)
val
msgUserList
:
List
<
Cmd0x7de
.
UserProfile
>?
=
null
,
@SerialId
(
1
)
val
msgHead
:
BusiRespHead
?
=
null
,
@SerialId
(
2
)
val
msgUserList
:
List
<
UserProfile
>?
=
null
,
@SerialId
(
3
)
val
ended
:
Int
=
0
,
@SerialId
(
4
)
val
cookie
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
...
...
@@ -541,7 +541,7 @@ class Cmd0x7de : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
msgHead
:
Cmd0x7de
.
BusiReqHead
?
=
null
,
@SerialId
(
1
)
val
msgHead
:
BusiReqHead
?
=
null
,
@SerialId
(
2
)
val
msgLbsInfo
:
AppointDefine
.
LBSInfo
?
=
null
,
@SerialId
(
3
)
val
time
:
Int
=
0
,
@SerialId
(
4
)
val
subject
:
Int
=
0
,
...
...
@@ -626,7 +626,7 @@ class Oidb0xc35 : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
msgExposeInfo
:
List
<
Oidb0xc35
.
ExposeItem
>?
=
null
@SerialId
(
2
)
val
msgExposeInfo
:
List
<
ExposeItem
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -700,8 +700,8 @@ class Cmd0xccb : ProtoBuf {
@SerialId
(
1
)
val
type
:
Int
=
0
,
@SerialId
(
2
)
val
destUin
:
Long
=
0L
,
@SerialId
(
3
)
val
groupCode
:
Long
=
0L
,
@SerialId
(
4
)
val
c2cMsg
:
List
<
C
md0xccb
.
C
2cMsgInfo
>?
=
null
,
@SerialId
(
5
)
val
groupMsg
:
List
<
Cmd0xccb
.
GroupMsgInfo
>?
=
null
@SerialId
(
4
)
val
c2cMsg
:
List
<
C2cMsgInfo
>?
=
null
,
@SerialId
(
5
)
val
groupMsg
:
List
<
GroupMsgInfo
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -709,8 +709,8 @@ class Cmd0xccb : ProtoBuf {
@SerialId
(
1
)
val
type
:
Int
=
0
,
@SerialId
(
2
)
val
destUin
:
Long
=
0L
,
@SerialId
(
3
)
val
groupCode
:
Long
=
0L
,
@SerialId
(
4
)
val
c2cMsg
:
List
<
C
md0xccb
.
C
2cMsgInfo
>?
=
null
,
@SerialId
(
5
)
val
groupMsg
:
List
<
Cmd0xccb
.
GroupMsgInfo
>?
=
null
,
@SerialId
(
4
)
val
c2cMsg
:
List
<
C2cMsgInfo
>?
=
null
,
@SerialId
(
5
)
val
groupMsg
:
List
<
GroupMsgInfo
>?
=
null
,
@SerialId
(
6
)
val
resId
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
...
...
@@ -786,7 +786,7 @@ class Oidb0x5e1 : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
11
)
val
msgUinData
:
List
<
Oidb0x5e1
.
UdcUinData
>?
=
null
,
@SerialId
(
11
)
val
msgUinData
:
List
<
UdcUinData
>?
=
null
,
@SerialId
(
12
)
val
uint64UnfinishedUins
:
List
<
Long
>?
=
null
)
:
ProtoBuf
...
...
@@ -850,18 +850,18 @@ class Oidb0xc90 : ProtoBuf {
@Serializable
class
CommunityWebInfo
(
@SerialId
(
1
)
val
communityInfoItem
:
List
<
Oidb0xc90
.
CommunityConfigInfo
>?
=
null
,
@SerialId
(
1
)
val
communityInfoItem
:
List
<
CommunityConfigInfo
>?
=
null
,
@SerialId
(
2
)
val
page
:
Int
=
0
,
@SerialId
(
3
)
val
end
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
communityInfoItem
:
List
<
Oidb0xc90
.
CommunityConfigInfo
>?
=
null
,
@SerialId
(
1
)
val
communityInfoItem
:
List
<
CommunityConfigInfo
>?
=
null
,
@SerialId
(
2
)
val
jumpConcernCommunityUrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
communityTitleWording
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
moreUrlWording
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
webCommunityInfo
:
Oidb0xc90
.
CommunityWebInfo
?
=
null
,
@SerialId
(
5
)
val
webCommunityInfo
:
CommunityWebInfo
?
=
null
,
@SerialId
(
6
)
val
jumpCommunityChannelUrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
...
...
@@ -889,7 +889,7 @@ class Cmd0xd8a : ProtoBuf {
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
cmd
:
Int
=
0
,
@SerialId
(
3
)
val
body
:
String
=
""
,
@SerialId
(
4
)
val
clientInfo
:
C
md0xd8a
.
C
lientInfo
?
=
null
@SerialId
(
4
)
val
clientInfo
:
ClientInfo
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -903,7 +903,7 @@ class Cmd0xd8a : ProtoBuf {
class
Oidb0xb6f
:
ProtoBuf
{
@Serializable
class
ReportFreqRspBody
(
@SerialId
(
1
)
val
identity
:
Oidb0xb6f
.
Identity
?
=
null
,
@SerialId
(
1
)
val
identity
:
Identity
?
=
null
,
@SerialId
(
4
)
val
remainTimes
:
Long
=
0L
,
@SerialId
(
5
)
val
expireTime
:
Int
=
0
)
:
ProtoBuf
...
...
@@ -928,18 +928,18 @@ class Oidb0xb6f : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
reportFreqRsp
:
Oidb0xb6f
.
ReportFreqRspBody
?
=
null
@SerialId
(
1
)
val
reportFreqRsp
:
ReportFreqRspBody
?
=
null
)
:
ProtoBuf
@Serializable
class
ReportFreqReqBody
(
@SerialId
(
1
)
val
identity
:
Oidb0xb6f
.
Identity
?
=
null
,
@SerialId
(
1
)
val
identity
:
Identity
?
=
null
,
@SerialId
(
2
)
val
invokeTimes
:
Long
=
1L
)
:
ProtoBuf
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
reportFreqReq
:
Oidb0xb6f
.
ReportFreqReqBody
?
=
null
@SerialId
(
1
)
val
reportFreqReq
:
ReportFreqReqBody
?
=
null
)
:
ProtoBuf
}
...
...
@@ -974,7 +974,7 @@ class Cmd0x7cd : ProtoBuf {
@SerialId
(
1
)
val
stamp
:
Int
=
0
,
@SerialId
(
2
)
val
over
:
Int
=
0
,
@SerialId
(
3
)
val
next
:
Int
=
0
,
@SerialId
(
4
)
val
msgAppointsInfo
:
List
<
Cmd0x7cd
.
AppointBrife
>?
=
null
@SerialId
(
4
)
val
msgAppointsInfo
:
List
<
AppointBrife
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1015,7 +1015,7 @@ class Oidb0xc0c : ProtoBuf {
@SerialId
(
2
)
val
taskType
:
Int
=
0
,
@SerialId
(
3
)
val
rowkey
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
feedsId
:
Long
=
0L
,
@SerialId
(
5
)
val
msgVideoFromType
:
Oidb0xc0c
.
VideoSrcType
?
=
null
@SerialId
(
5
)
val
msgVideoFromType
:
VideoSrcType
?
=
null
)
:
ProtoBuf
}
...
...
@@ -1035,7 +1035,7 @@ class Cmd0x5fb : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
msgHead
:
Cmd0x5fb
.
BusiReqHead
?
=
null
,
@SerialId
(
1
)
val
msgHead
:
BusiReqHead
?
=
null
,
@SerialId
(
2
)
val
msgLbsInfo
:
AppointDefine
.
LBSInfo
?
=
null
,
@SerialId
(
3
)
val
reqInfo
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
...
...
@@ -1069,7 +1069,7 @@ class Cmd0x5fb : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
msgHead
:
Cmd0x5fb
.
BusiRespHead
?
=
null
,
@SerialId
(
1
)
val
msgHead
:
BusiRespHead
?
=
null
,
@SerialId
(
2
)
val
msgUserList
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
}
...
...
@@ -1097,14 +1097,14 @@ class Oidb0xb61 : ProtoBuf {
class
RspBody
(
@SerialId
(
1
)
val
wording
:
String
=
""
,
@SerialId
(
2
)
val
nextReqDuration
:
Int
=
0
,
@SerialId
(
10
)
val
getAppinfoRsp
:
Oidb0xb61
.
GetAppinfoRsp
?
=
null
,
@SerialId
(
11
)
val
getMqqappUrlRsp
:
Oidb0xb61
.
GetPkgUrlRsp
?
=
null
@SerialId
(
10
)
val
getAppinfoRsp
:
GetAppinfoRsp
?
=
null
,
@SerialId
(
11
)
val
getMqqappUrlRsp
:
GetPkgUrlRsp
?
=
null
)
:
ProtoBuf
@Serializable
class
ReqBody
(
@SerialId
(
10
)
val
getAppinfoReq
:
Oidb0xb61
.
GetAppinfoReq
?
=
null
,
@SerialId
(
11
)
val
getMqqappUrlReq
:
Oidb0xb61
.
GetPkgUrlReq
?
=
null
@SerialId
(
10
)
val
getAppinfoReq
:
GetAppinfoReq
?
=
null
,
@SerialId
(
11
)
val
getMqqappUrlReq
:
GetPkgUrlReq
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1147,8 +1147,8 @@ class Oidb0xb60 : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
wording
:
String
=
""
,
@SerialId
(
10
)
val
getPrivilegeRsp
:
Oidb0xb60
.
GetPrivilegeRsp
?
=
null
,
@SerialId
(
11
)
val
checkUrlRsp
:
Oidb0xb60
.
CheckUrlRsp
?
=
null
@SerialId
(
10
)
val
getPrivilegeRsp
:
GetPrivilegeRsp
?
=
null
,
@SerialId
(
11
)
val
checkUrlRsp
:
CheckUrlRsp
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1159,9 +1159,9 @@ class Oidb0xb60 : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
clientInfo
:
Oidb0xb60
.
ClientInfo
?
=
null
,
@SerialId
(
10
)
val
getPrivilegeReq
:
Oidb0xb60
.
GetPrivilegeReq
?
=
null
,
@SerialId
(
11
)
val
checkUrlReq
:
Oidb0xb60
.
CheckUrlReq
?
=
null
@SerialId
(
1
)
val
clientInfo
:
ClientInfo
?
=
null
,
@SerialId
(
10
)
val
getPrivilegeReq
:
GetPrivilegeReq
?
=
null
,
@SerialId
(
11
)
val
checkUrlReq
:
CheckUrlReq
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1220,10 +1220,10 @@ class Oidb0xc0b : ProtoBuf {
@SerialId
(
2
)
val
canGetCoinCount
:
Int
=
0
,
@SerialId
(
3
)
val
coinIconUrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
lastCompletedTaskStamp
:
Long
=
0L
,
@SerialId
(
6
)
val
cmsWording
:
List
<
Oidb0xc0b
.
KanDianCMSActivityInfo
>?
=
null
,
@SerialId
(
6
)
val
cmsWording
:
List
<
KanDianCMSActivityInfo
>?
=
null
,
@SerialId
(
7
)
val
lastCmsActivityStamp
:
Long
=
0L
,
@SerialId
(
8
)
val
msgKandianCoinRemind
:
Oidb0xc0b
.
KanDianCoinRemind
?
=
null
,
@SerialId
(
9
)
val
msgKandianTaskRemind
:
Oidb0xc0b
.
KanDianTaskRemind
?
=
null
@SerialId
(
8
)
val
msgKandianCoinRemind
:
KanDianCoinRemind
?
=
null
,
@SerialId
(
9
)
val
msgKandianTaskRemind
:
KanDianTaskRemind
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1274,7 +1274,7 @@ class Cmd0xc85 : ProtoBuf {
class
RspBody
(
@SerialId
(
101
)
val
result
:
Int
=
0
,
@SerialId
(
102
)
val
recentInteractionTime
:
Int
=
0
,
@SerialId
(
103
)
val
interactionDetailInfo
:
Cmd0xc85
.
InteractionDetailInfo
?
=
null
@SerialId
(
103
)
val
interactionDetailInfo
:
InteractionDetailInfo
?
=
null
)
:
ProtoBuf
}
...
...
@@ -1306,7 +1306,7 @@ class Cmd0x7ce : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
msgAppointsInfo
:
List
<
Cmd0x7ce
.
AppintDetail
>?
=
null
,
@SerialId
(
1
)
val
msgAppointsInfo
:
List
<
AppintDetail
>?
=
null
,
@SerialId
(
2
)
val
secureFlag
:
Int
=
0
,
@SerialId
(
3
)
val
secureTips
:
String
=
""
)
:
ProtoBuf
...
...
@@ -1349,7 +1349,7 @@ class Oidb0xc6c : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
msgGroupInfo
:
List
<
Oidb0xc6c
.
GroupInfo
>?
=
null
@SerialId
(
2
)
val
msgGroupInfo
:
List
<
GroupInfo
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1373,8 +1373,8 @@ class Oidb0xc05 : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
wording
:
String
=
""
,
@SerialId
(
10
)
val
getCreateAppListRsp
:
Oidb0xc05
.
GetCreateAppListRsp
?
=
null
,
@SerialId
(
11
)
val
getAuthAppListRsp
:
Oidb0xc05
.
GetAuthAppListRsp
?
=
null
@SerialId
(
10
)
val
getCreateAppListRsp
:
GetCreateAppListRsp
?
=
null
,
@SerialId
(
11
)
val
getAuthAppListRsp
:
GetAuthAppListRsp
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1392,8 +1392,8 @@ class Oidb0xc05 : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
10
)
val
getCreateAppListReq
:
Oidb0xc05
.
GetCreateAppListReq
?
=
null
,
@SerialId
(
11
)
val
getAuthAppListReq
:
Oidb0xc05
.
GetAuthAppListReq
?
=
null
@SerialId
(
10
)
val
getCreateAppListReq
:
GetCreateAppListReq
?
=
null
,
@SerialId
(
11
)
val
getAuthAppListReq
:
GetAuthAppListReq
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1425,8 +1425,8 @@ class Cmd0x7da : ProtoBuf {
class
Qqconnect
:
ProtoBuf
{
@Serializable
class
MobileAppInfo
(
@SerialId
(
11
)
val
androidAppInfo
:
List
<
Qqconnect
.
AndroidAppInfo
>?
=
null
,
@SerialId
(
12
)
val
iosAppInfo
:
List
<
Qqconnect
.
IOSAppInfo
>?
=
null
@SerialId
(
11
)
val
androidAppInfo
:
List
<
AndroidAppInfo
>?
=
null
,
@SerialId
(
12
)
val
iosAppInfo
:
List
<
IOSAppInfo
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1450,7 +1450,7 @@ class Qqconnect : ProtoBuf {
@SerialId
(
10
)
val
sourceUrl
:
String
=
""
,
@SerialId
(
11
)
val
iconSmallUrl
:
String
=
""
,
@SerialId
(
12
)
val
iconMiddleUrl
:
String
=
""
,
@SerialId
(
13
)
val
tencentDocsAppinfo
:
Qqconnect
.
TencentDocsAppinfo
?
=
null
,
@SerialId
(
13
)
val
tencentDocsAppinfo
:
TencentDocsAppinfo
?
=
null
,
@SerialId
(
21
)
val
developerUin
:
Long
=
0L
,
@SerialId
(
22
)
val
appClass
:
Int
=
0
,
@SerialId
(
23
)
val
appSubclass
:
Int
=
0
,
...
...
@@ -1462,10 +1462,10 @@ class Qqconnect : ProtoBuf {
@SerialId
(
29
)
val
qqconnectFeature
:
Int
=
0
,
@SerialId
(
30
)
val
isHatchery
:
Int
=
0
,
@SerialId
(
31
)
val
testUinList
:
List
<
Long
>?
=
null
,
@SerialId
(
100
)
val
templateMsgConfig
:
Qqconnect
.
TemplateMsgConfig
?
=
null
,
@SerialId
(
101
)
val
miniAppInfo
:
Qqconnect
.
MiniAppInfo
?
=
null
,
@SerialId
(
102
)
val
webAppInfo
:
Qqconnect
.
WebAppInfo
?
=
null
,
@SerialId
(
103
)
val
mobileAppInfo
:
Qqconnect
.
MobileAppInfo
?
=
null
@SerialId
(
100
)
val
templateMsgConfig
:
TemplateMsgConfig
?
=
null
,
@SerialId
(
101
)
val
miniAppInfo
:
MiniAppInfo
?
=
null
,
@SerialId
(
102
)
val
webAppInfo
:
WebAppInfo
?
=
null
,
@SerialId
(
103
)
val
mobileAppInfo
:
MobileAppInfo
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1561,8 +1561,8 @@ class Oidb0xc26 : ProtoBuf {
class
RgoupLabel
(
@SerialId
(
1
)
val
name
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
2
)
val
enumType
:
Int
/* enum */
=
1
,
@SerialId
(
3
)
val
textColor
:
Oidb0xc26
.
RgroupColor
?
=
null
,
@SerialId
(
4
)
val
edgingColor
:
Oidb0xc26
.
RgroupColor
?
=
null
,
@SerialId
(
3
)
val
textColor
:
RgroupColor
?
=
null
,
@SerialId
(
4
)
val
edgingColor
:
RgroupColor
?
=
null
,
@SerialId
(
5
)
val
labelAttr
:
Int
=
0
,
@SerialId
(
6
)
val
labelType
:
Int
=
0
)
:
ProtoBuf
...
...
@@ -1576,8 +1576,8 @@ class Oidb0xc26 : ProtoBuf {
@Serializable
class
Label
(
@SerialId
(
1
)
val
name
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
2
)
val
textColor
:
Oidb0xc26
.
Color
?
=
null
,
@SerialId
(
3
)
val
edgingColor
:
Oidb0xc26
.
Color
?
=
null
,
@SerialId
(
2
)
val
textColor
:
Color
?
=
null
,
@SerialId
(
3
)
val
edgingColor
:
Color
?
=
null
,
@SerialId
(
4
)
val
labelType
:
Int
=
0
)
:
ProtoBuf
...
...
@@ -1589,19 +1589,19 @@ class Oidb0xc26 : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
msgPersons
:
List
<
Oidb0xc26
.
MayKnowPerson
>?
=
null
,
@SerialId
(
1
)
val
msgPersons
:
List
<
MayKnowPerson
>?
=
null
,
@SerialId
(
2
)
val
entryInuse
:
List
<
Int
>
=
listOf
(),
@SerialId
(
3
)
val
entryClose
:
List
<
Int
>
=
listOf
(),
@SerialId
(
4
)
val
nextGap
:
Int
=
0
,
@SerialId
(
5
)
val
timestamp
:
Int
=
0
,
@SerialId
(
6
)
val
msgUp
:
Int
=
0
,
@SerialId
(
7
)
val
entryDelays
:
List
<
Oidb0xc26
.
EntryDelay
>?
=
null
,
@SerialId
(
7
)
val
entryDelays
:
List
<
EntryDelay
>?
=
null
,
@SerialId
(
8
)
val
listSwitch
:
Int
=
0
,
@SerialId
(
9
)
val
addPageListSwitch
:
Int
=
0
,
@SerialId
(
10
)
val
emRspDataType
:
Int
/* enum */
=
1
,
@SerialId
(
11
)
val
msgRgroupItems
:
List
<
Oidb0xc26
.
RecommendInfo
>?
=
null
,
@SerialId
(
11
)
val
msgRgroupItems
:
List
<
RecommendInfo
>?
=
null
,
@SerialId
(
12
)
val
boolIsNewuser
:
Boolean
=
false
,
@SerialId
(
13
)
val
msgTables
:
List
<
Oidb0xc26
.
TabInfo
>?
=
null
,
@SerialId
(
13
)
val
msgTables
:
List
<
TabInfo
>?
=
null
,
@SerialId
(
14
)
val
cookies
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
...
...
@@ -1612,15 +1612,15 @@ class Oidb0xc26 : ProtoBuf {
@SerialId
(
3
)
val
tableName
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
iconUrlSelect
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
iconUrlUnselect
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
backgroundColorSelect
:
Oidb0xc26
.
Color
?
=
null
,
@SerialId
(
7
)
val
backgroundColorUnselect
:
Oidb0xc26
.
Color
?
=
null
@SerialId
(
6
)
val
backgroundColorSelect
:
Color
?
=
null
,
@SerialId
(
7
)
val
backgroundColorUnselect
:
Color
?
=
null
)
:
ProtoBuf
@Serializable
class
MayKnowPerson
(
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
msgIosSource
:
Oidb0xc26
.
AddFriendSource
?
=
null
,
@SerialId
(
3
)
val
msgAndroidSource
:
Oidb0xc26
.
AddFriendSource
?
=
null
,
@SerialId
(
2
)
val
msgIosSource
:
AddFriendSource
?
=
null
,
@SerialId
(
3
)
val
msgAndroidSource
:
AddFriendSource
?
=
null
,
@SerialId
(
4
)
val
reason
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
additive
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
nick
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
...
...
@@ -1637,14 +1637,14 @@ class Oidb0xc26 : ProtoBuf {
@SerialId
(
17
)
val
mobileName
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
18
)
val
token
:
String
=
""
,
@SerialId
(
19
)
val
onlineState
:
Int
=
0
,
@SerialId
(
20
)
val
msgLabels
:
List
<
Oidb0xc26
.
Label
>?
=
null
,
@SerialId
(
20
)
val
msgLabels
:
List
<
Label
>?
=
null
,
@SerialId
(
21
)
val
sourceid
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
RecommendInfo
(
@SerialId
(
1
)
val
woring
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
2
)
val
msgGroups
:
List
<
Oidb0xc26
.
RgroupInfo
>?
=
null
@SerialId
(
2
)
val
msgGroups
:
List
<
RgroupInfo
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1654,11 +1654,11 @@ class Oidb0xc26 : ProtoBuf {
@SerialId
(
3
)
val
groupName
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
groupMemo
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
memberNum
:
Int
=
0
,
@SerialId
(
6
)
val
groupLabel
:
List
<
Oidb0xc26
.
RgoupLabel
>?
=
null
,
@SerialId
(
6
)
val
groupLabel
:
List
<
RgoupLabel
>?
=
null
,
@SerialId
(
7
)
val
groupFlagExt
:
Int
=
0
,
@SerialId
(
8
)
val
groupFlag
:
Int
=
0
,
@SerialId
(
9
)
val
source
:
Int
/* enum */
=
1
,
@SerialId
(
10
)
val
tagWording
:
Oidb0xc26
.
RgoupLabel
?
=
null
,
@SerialId
(
10
)
val
tagWording
:
RgoupLabel
?
=
null
,
@SerialId
(
11
)
val
algorithm
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
12
)
val
joinGroupAuth
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
13
)
val
activity
:
Int
=
0
,
...
...
@@ -1697,7 +1697,7 @@ class Oidb0xc26 : ProtoBuf {
class
Cmd0xac6
:
ProtoBuf
{
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
results
:
List
<
Cmd0xac6
.
OperateResult
>?
=
null
,
@SerialId
(
1
)
val
results
:
List
<
OperateResult
>?
=
null
,
@SerialId
(
4
)
val
metalCount
:
Int
=
0
,
@SerialId
(
5
)
val
metalTotal
:
Int
=
0
,
@SerialId
(
9
)
val
int32NewCount
:
Int
=
0
,
...
...
@@ -1707,7 +1707,7 @@ class Cmd0xac6 : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
medals
:
List
<
Cmd0xac6
.
MedalReport
>?
=
null
,
@SerialId
(
1
)
val
medals
:
List
<
MedalReport
>?
=
null
,
@SerialId
(
2
)
val
clean
:
Int
=
0
)
:
ProtoBuf
...
...
@@ -1788,12 +1788,12 @@ class Cmd0xac7 : ProtoBuf {
@SerialId
(
1
)
val
cmd
:
Int
=
0
,
@SerialId
(
2
)
val
din
:
Long
=
0L
,
@SerialId
(
3
)
val
extd
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
msgBinderSig
:
Cmd0xac7
.
BinderSig
?
=
null
@SerialId
(
4
)
val
msgBinderSig
:
BinderSig
?
=
null
)
:
ProtoBuf
@Serializable
class
ReceiveMessageDevices
(
@SerialId
(
1
)
val
devices
:
List
<
Cmd0xac7
.
DeviceInfo
>?
=
null
@SerialId
(
1
)
val
devices
:
List
<
DeviceInfo
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1836,22 +1836,22 @@ class FavoriteCKVData : ProtoBuf {
@SerialId
(
7
)
val
height
:
Int
=
0
,
@SerialId
(
8
)
val
size
:
Int
=
0
,
@SerialId
(
9
)
val
type
:
Int
=
0
,
@SerialId
(
10
)
val
msgOwner
:
FavoriteCKVData
.
Author
?
=
null
,
@SerialId
(
10
)
val
msgOwner
:
Author
?
=
null
,
@SerialId
(
11
)
val
picId
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
KandianFavoriteItem
(
@SerialId
(
1
)
val
msgFavoriteExtInfo
:
FavoriteCKVData
.
KandianFavoriteBizData
?
=
null
,
@SerialId
(
1
)
val
msgFavoriteExtInfo
:
KandianFavoriteBizData
?
=
null
,
@SerialId
(
2
)
val
bytesCid
:
List
<
ByteArray
>?
=
null
,
@SerialId
(
3
)
val
type
:
Int
=
0
,
@SerialId
(
4
)
val
status
:
Int
=
0
,
@SerialId
(
5
)
val
msgAuthor
:
FavoriteCKVData
.
Author
?
=
null
,
@SerialId
(
5
)
val
msgAuthor
:
Author
?
=
null
,
@SerialId
(
6
)
val
createTime
:
Long
=
0L
,
@SerialId
(
7
)
val
favoriteTime
:
Long
=
0L
,
@SerialId
(
8
)
val
modifyTime
:
Long
=
0L
,
@SerialId
(
9
)
val
dataSyncTime
:
Long
=
0L
,
@SerialId
(
10
)
val
msgFavoriteSummary
:
Favorite
CKVData
.
Favorite
Summary
?
=
null
@SerialId
(
10
)
val
msgFavoriteSummary
:
FavoriteSummary
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1860,7 +1860,7 @@ class FavoriteCKVData : ProtoBuf {
@SerialId
(
2
)
val
title
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
publisher
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
brief
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
msgPicInfo
:
List
<
FavoriteCKVData
.
PicInfo
>?
=
null
,
@SerialId
(
5
)
val
msgPicInfo
:
List
<
PicInfo
>?
=
null
,
@SerialId
(
6
)
val
type
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
7
)
val
resourceUri
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
...
...
@@ -1869,18 +1869,18 @@ class FavoriteCKVData : ProtoBuf {
class
UserFavoriteList
(
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
modifyTs
:
Long
=
0L
,
@SerialId
(
100
)
val
msgFavoriteItems
:
List
<
Favorite
CKVData
.
Favorite
Item
>?
=
null
@SerialId
(
100
)
val
msgFavoriteItems
:
List
<
FavoriteItem
>?
=
null
)
:
ProtoBuf
@Serializable
class
FavoriteSummary
(
@SerialId
(
2
)
val
msgLinkSummary
:
FavoriteCKVData
.
LinkSummary
?
=
null
@SerialId
(
2
)
val
msgLinkSummary
:
LinkSummary
?
=
null
)
:
ProtoBuf
@Serializable
class
FavoriteItem
(
@SerialId
(
1
)
val
favoriteSource
:
Int
=
0
,
@SerialId
(
100
)
val
msgKandianFavoriteItem
:
FavoriteCKVData
.
KandianFavoriteItem
?
=
null
@SerialId
(
100
)
val
msgKandianFavoriteItem
:
KandianFavoriteItem
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -1939,7 +1939,7 @@ class Oidb0xccd : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
errcode
:
Int
=
0
,
@SerialId
(
2
)
val
results
:
List
<
Oidb0xccd
.
Result
>?
=
null
@SerialId
(
2
)
val
results
:
List
<
Result
>?
=
null
)
:
ProtoBuf
}
...
...
@@ -1979,7 +1979,7 @@ class Oidb0x87c : ProtoBuf {
class
Cmd0xbf2
:
ProtoBuf
{
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
phoneAddrBook
:
List
<
Cmd0xbf2
.
PhoneAddrBook
>?
=
null
,
@SerialId
(
1
)
val
phoneAddrBook
:
List
<
PhoneAddrBook
>?
=
null
,
@SerialId
(
2
)
val
end
:
Int
=
0
,
@SerialId
(
3
)
val
nextIndex
:
Long
=
0
)
:
ProtoBuf
...
...
@@ -2014,10 +2014,10 @@ class Cmd0x6cd : ProtoBuf {
@SerialId
(
8
)
val
lastRecvTime
:
Int
=
0
,
@SerialId
(
9
)
val
fromId
:
Long
=
0L
,
@SerialId
(
10
)
val
enumRedpointType
:
Int
/* enum */
=
1
,
@SerialId
(
11
)
val
msgRedpointExtraInfo
:
Cmd0x6cd
.
RepointExtraInfo
?
=
null
,
@SerialId
(
11
)
val
msgRedpointExtraInfo
:
RepointExtraInfo
?
=
null
,
@SerialId
(
12
)
val
configVersion
:
String
=
""
,
@SerialId
(
13
)
val
doActivity
:
Int
=
0
,
@SerialId
(
14
)
val
msgUnreadMsg
:
List
<
Cmd0x6cd
.
MessageRec
>?
=
null
@SerialId
(
14
)
val
msgUnreadMsg
:
List
<
MessageRec
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -2028,15 +2028,15 @@ class Cmd0x6cd : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
msgRedpoint
:
List
<
Cmd0x6cd
.
RedpointInfo
>?
=
null
,
@SerialId
(
2
)
val
unfinishedRedpoint
:
List
<
Cmd0x6cd
.
PullRedpointReq
>?
=
null
@SerialId
(
1
)
val
msgRedpoint
:
List
<
RedpointInfo
>?
=
null
,
@SerialId
(
2
)
val
unfinishedRedpoint
:
List
<
PullRedpointReq
>?
=
null
)
:
ProtoBuf
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
lastPullRedpoint
:
List
<
Cmd0x6cd
.
PullRedpointReq
>?
=
null
,
@SerialId
(
2
)
val
unfinishedRedpoint
:
List
<
Cmd0x6cd
.
PullRedpointReq
>?
=
null
,
@SerialId
(
3
)
val
msgPullSingleTask
:
Cmd0x6cd
.
PullRedpointReq
?
=
null
,
@SerialId
(
1
)
val
lastPullRedpoint
:
List
<
PullRedpointReq
>?
=
null
,
@SerialId
(
2
)
val
unfinishedRedpoint
:
List
<
PullRedpointReq
>?
=
null
,
@SerialId
(
3
)
val
msgPullSingleTask
:
PullRedpointReq
?
=
null
,
@SerialId
(
4
)
val
retMsgRec
:
Int
=
0
)
:
ProtoBuf
...
...
@@ -2072,9 +2072,9 @@ class Oidb0xd55 : ProtoBuf {
@SerialId
(
2
)
val
appType
:
Int
=
0
,
@SerialId
(
3
)
val
srcId
:
Int
=
0
,
@SerialId
(
4
)
val
rawUrl
:
String
=
""
,
@SerialId
(
11
)
val
checkAppSignReq
:
Oidb0xd55
.
CheckAppSignReq
?
=
null
,
@SerialId
(
12
)
val
checkUserReq
:
Oidb0xd55
.
CheckUserReq
?
=
null
,
@SerialId
(
13
)
val
checkMiniAppReq
:
Oidb0xd55
.
CheckMiniAppReq
?
=
null
@SerialId
(
11
)
val
checkAppSignReq
:
CheckAppSignReq
?
=
null
,
@SerialId
(
12
)
val
checkUserReq
:
CheckUserReq
?
=
null
,
@SerialId
(
13
)
val
checkMiniAppReq
:
CheckMiniAppReq
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -2085,9 +2085,9 @@ class Oidb0xd55 : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
wording
:
String
=
""
,
@SerialId
(
11
)
val
checkAppSignRsp
:
Oidb0xd55
.
CheckAppSignRsp
?
=
null
,
@SerialId
(
12
)
val
checkUserRsp
:
Oidb0xd55
.
CheckUserRsp
?
=
null
,
@SerialId
(
13
)
val
checkMiniAppRsp
:
Oidb0xd55
.
CheckMiniAppRsp
?
=
null
@SerialId
(
11
)
val
checkAppSignRsp
:
CheckAppSignRsp
?
=
null
,
@SerialId
(
12
)
val
checkUserRsp
:
CheckUserRsp
?
=
null
,
@SerialId
(
13
)
val
checkMiniAppRsp
:
CheckMiniAppRsp
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -2148,7 +2148,7 @@ class Cmd0x8b4 : ProtoBuf {
@SerialId
(
1
)
val
result
:
Int
=
0
,
@SerialId
(
2
)
val
flag
:
Int
=
0
,
@SerialId
(
21
)
val
tag
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
22
)
val
groupInfo
:
List
<
Cmd0x8b4
.
GroupInfo
>?
=
null
,
@SerialId
(
22
)
val
groupInfo
:
List
<
GroupInfo
>?
=
null
,
@SerialId
(
23
)
val
textLabel
:
List
<
ByteArray
>?
=
null
)
:
ProtoBuf
}
...
...
@@ -2157,7 +2157,7 @@ class Cmd0x8b4 : ProtoBuf {
class
Cmd0x682
:
ProtoBuf
{
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
msgChatinfo
:
List
<
C
md0x682
.
C
hatInfo
>?
=
null
@SerialId
(
1
)
val
msgChatinfo
:
List
<
ChatInfo
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -2200,7 +2200,7 @@ class Cmd0x6f5 : ProtoBuf {
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
configVersion
:
String
=
""
,
@SerialId
(
2
)
val
taskInfo
:
List
<
Cmd0x6f5
.
TaskInfo
>?
=
null
@SerialId
(
2
)
val
taskInfo
:
List
<
TaskInfo
>?
=
null
)
:
ProtoBuf
}
...
...
@@ -2208,7 +2208,7 @@ class Cmd0x6f5 : ProtoBuf {
class
Oidb0xb7e
:
ProtoBuf
{
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
topItem
:
List
<
Oidb0xb7e
.
DiandianTopConfig
>?
=
null
@SerialId
(
1
)
val
topItem
:
List
<
DiandianTopConfig
>?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -2230,7 +2230,7 @@ class Oidb0xb7e : ProtoBuf {
class
Oidb0xc2f
:
ProtoBuf
{
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
msgGetFollowUserRecommendListRsp
:
Oidb0xc2f
.
GetFollowUserRecommendListRsp
?
=
null
@SerialId
(
1
)
val
msgGetFollowUserRecommendListRsp
:
GetFollowUserRecommendListRsp
?
=
null
)
:
ProtoBuf
@Serializable
...
...
@@ -2251,13 +2251,13 @@ class Oidb0xc2f : ProtoBuf {
@Serializable
class
GetFollowUserRecommendListRsp
(
@SerialId
(
1
)
val
msgRecommendList
:
List
<
Oidb0xc2f
.
RecommendAccountInfo
>?
=
null
,
@SerialId
(
1
)
val
msgRecommendList
:
List
<
RecommendAccountInfo
>?
=
null
,
@SerialId
(
2
)
val
jumpUrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
msgGetFollowUserRecommendListReq
:
Oidb0xc2f
.
GetFollowUserRecommendListReq
?
=
null
@SerialId
(
1
)
val
msgGetFollowUserRecommendListReq
:
GetFollowUserRecommendListReq
?
=
null
)
:
ProtoBuf
}
...
...
@@ -2288,7 +2288,7 @@ class Cmd0xd40 : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
dev
:
Cmd0xd40
.
DeviceInfo
?
=
null
,
@SerialId
(
1
)
val
dev
:
DeviceInfo
?
=
null
,
@SerialId
(
2
)
val
src
:
Int
=
0
,
@SerialId
(
3
)
val
event
:
Int
=
0
,
@SerialId
(
4
)
val
redtype
:
Int
=
0
...
...
@@ -2312,7 +2312,7 @@ class Cmd0x6ce : ProtoBuf {
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
msgReadReq
:
List
<
Cmd0x6ce
.
ReadRedpointReq
>?
=
null
@SerialId
(
1
)
val
msgReadReq
:
List
<
ReadRedpointReq
>?
=
null
)
:
ProtoBuf
}
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/OnlinePush.
PbPushGroupMsg.
kt
→
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/OnlinePush.kt
View file @
37745b83
File moved
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/Contact.kt
View file @
37745b83
...
...
@@ -19,24 +19,40 @@ import kotlin.contracts.contract
*/
interface
Contact
:
CoroutineScope
{
/**
* 这个联系人所属 [Bot]
* 这个联系人所属 [Bot]
.
*/
@WeakRefProperty
val
bot
:
Bot
// weak ref
/**
* 可以是 QQ 号码或者群号码.
*
* 对于 QQ, `uin` 与 `id` 是相同的意思.
* 对于 Group, `groupCode` 与 `id` 是相同的意思.
*/
val
id
:
Long
/**
* 向这个对象发送消息.
*
* 速度太快会被服务器屏蔽(无响应). 在测试中不延迟地发送 6 条消息就会被屏蔽之后的数据包 1 秒左右.
*/
suspend
fun
sendMessage
(
message
:
MessageChain
)
/**
* 上传一个图片以备发送.
* TODO: 群图片与好友图片之间是否通用还不确定.
* TODO: 好友之间图片是否通用还不确定.
*/
suspend
fun
uploadImage
(
image
:
ExternalImage
):
Image
/**
* 判断 `this` 和 [other] 是否是相同的类型, 并且 [id] 相同.
*
* 注:
* [id] 相同的 [Member] 和 [QQ], 他们并不 [equals].
* 因为, [Member] 含义为群员, 必属于一个群.
* 而 [QQ] 含义为一个独立的人, 可以是好友, 也可以是陌生人.
*/
override
fun
equals
(
other
:
Any
?):
Boolean
}
suspend
inline
fun
Contact
.
sendMessage
(
message
:
Message
)
=
sendMessage
(
message
.
toChain
())
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/Group.kt
View file @
37745b83
...
...
@@ -9,38 +9,38 @@ import kotlinx.coroutines.CoroutineScope
* 群. 在 QQ Android 中叫做 "Troop"
*/
interface
Group
:
Contact
,
CoroutineScope
{
/**
* ====以下字段在更新值的时候会自动异步上报服务器更改群信息====
*/
/**
* 群名称
* [可查可改已完成]
* 群名称.
*
* 在修改时将会异步上传至服务器.
*
* 注: 频繁修改可能会被服务器拒绝
*/
var
name
:
String
/**
* 入群公告, 没有时为空字符串
* [可查可改已完成]
* 入群公告, 没有时为空字符串.
*
* 在修改时将会异步上传至服务器.
*/
var
announcement
:
String
/**
* 全体禁言状态
* [可改已完成]
*/
* 全体禁言状态. `true` 为开启.
*
* 当前仅能修改状态.
*/
// TODO: 2020/2/5 实现 muteAll 的查询
var
muteAll
:
Boolean
/**
* 坦白说状态
* [可查可改已完成]
* 坦白说状态. `true` 为允许.
*
* 在修改时将会异步上传至服务器.
*/
var
confessTalk
:
Boolean
/**
* 允许群员拉人状态
* [可查可改已完成]
* 允许群员邀请好友入群的状态. `true` 为允许
*/
var
allowMemberInvite
:
Boolean
/**
* QQ中的自动加群审批
* [可查已完成]
* 自动加群审批
*/
val
autoApprove
:
Boolean
/**
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/Member.kt
View file @
37745b83
...
...
@@ -11,18 +11,18 @@ import kotlin.time.ExperimentalTime
*/
interface
Member
:
QQ
,
Contact
{
/**
* 所在的群
* 所在的群
.
*/
@WeakRefProperty
val
group
:
Group
/**
*
权限
*
成员的权限, 动态更新.
*/
val
permission
:
MemberPermission
/**
*
*
群名片 (如果有) 或个人昵称. 动态更新.
*/
var
groupCard
:
String
...
...
@@ -30,7 +30,7 @@ interface Member : QQ, Contact {
* 禁言
*
* @param durationSeconds 持续时间. 精确到秒. 范围区间表示为 `(0s, 30days]`. 超过范围则会抛出异常.
* @return
若机器人无权限禁言这个群成员,
返回 `false`
* @return
仅当机器人无权限禁言这个群成员时
返回 `false`
*
* @see Int.minutesToSeconds
* @see Int.hoursToSeconds
...
...
@@ -39,10 +39,14 @@ interface Member : QQ, Contact {
suspend
fun
mute
(
durationSeconds
:
Int
):
Boolean
/**
* 解除禁言
* 解除禁言
. 在没有权限时会返回 `false`. 否则均返回 `true`.
*/
suspend
fun
unmute
():
Boolean
/**
* 当且仅当 `[other] is [Member] && [other].id == this.id && [other].group == this.group` 时为 true
*/
override
fun
equals
(
other
:
Any
?):
Boolean
}
@ExperimentalTime
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/MessagePacket.kt
View file @
37745b83
...
...
@@ -3,6 +3,7 @@
package
net.mamoe.mirai.message
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.IoBuffer
import
net.mamoe.mirai.Bot
import
net.mamoe.mirai.contact.Contact
import
net.mamoe.mirai.contact.Group
...
...
@@ -15,35 +16,47 @@ import net.mamoe.mirai.utils.*
import
kotlin.jvm.JvmName
/**
* 平台相关扩展
* 一条从服务器接收到的消息事件.
* 请查看各平台的 `actual` 实现的说明.
*/
@UseExperimental
(
MiraiInternalAPI
::
class
)
expect
abstract
class
MessagePacket
<
TSender
:
QQ
,
TSubject
:
Contact
>(
bot
:
Bot
)
:
MessagePacketBase
<
TSender
,
TSubject
>
/**
* 仅内部使用, 请使用 [MessagePacket]
*/
// Tips: 在 IntelliJ 中 (左侧边栏) 打开 `Structure`, 可查看类结构
@Suppress
(
"NOTHING_TO_INLINE"
)
@MiraiInternalAPI
abstract
class
MessagePacketBase
<
TSender
:
QQ
,
TSubject
:
Contact
>(
_bot
:
Bot
)
:
EventPacket
,
BotEvent
()
{
/**
* 接受到这条消息的
*/
override
val
bot
:
Bot
by
_bot
.
unsafeWeakRef
()
/**
* 消息事件主体.
*
* 对于好友消息, 这个属性为 [QQ] 的实例;
* 对于群消息, 这个属性为 [Group] 的实例
* 对于好友消息, 这个属性为 [QQ] 的实例
, 与 [sender] 引用相同
;
* 对于群消息, 这个属性为 [Group] 的实例
, 与 [GroupMessage.group] 引用相同
*
* 在回复消息时, 可通过 [subject] 作为回复对象
*/
abstract
val
subject
:
TSubject
/**
* 发送人
* 发送人.
*
* 在好友消息时为 [QQ] 的实例, 在群消息时为 [Member] 的实例
*/
abstract
val
sender
:
TSender
/**
* 消息内容
*/
abstract
val
message
:
MessageChain
// region
Send to subject
// region
发送 Message
/**
* 给这个消息事件的主体发送消息
...
...
@@ -64,20 +77,41 @@ abstract class MessagePacketBase<TSender : QQ, TSubject : Contact>(_bot: Bot) :
@JvmName
(
"reply1"
)
suspend
inline
fun
MessageChain
.
reply
()
=
reply
(
this
)
suspend
inline
fun
ExternalImage
.
send
()
=
this
.
sendTo
(
subject
)
// endregion
// region 上传图片
suspend
inline
fun
ExternalImage
.
upload
():
Image
=
this
.
upload
(
subject
)
// endregion
// region 发送图片
suspend
inline
fun
ExternalImage
.
send
()
=
this
.
sendTo
(
subject
)
suspend
inline
fun
Image
.
send
()
=
this
.
sendTo
(
subject
)
suspend
inline
fun
Message
.
send
()
=
this
.
sendTo
(
subject
)
suspend
inline
fun
String
.
send
()
=
this
.
toMessage
().
sendTo
(
subject
)
// endregion
inline
fun
QQ
.
at
():
At
=
At
(
this
as
Member
)
/**
* 创建 @ 这个账号的消息. 当且仅当消息为群消息时可用. 否则将会抛出 [IllegalArgumentException]
*/
inline
fun
QQ
.
at
():
At
=
At
(
this
as
?
Member
?:
error
(
"`QQ.at` can only be used in GroupMessage"
))
// endregion
// region Image download
/**
* 将图片下载到内存.
*
* 非常不推荐这样做.
*/
@Deprecated
(
"内存使用效率十分低下"
,
ReplaceWith
(
"this.download()"
),
DeprecationLevel
.
WARNING
)
suspend
inline
fun
Image
.
downloadAsByteArray
():
ByteArray
=
bot
.
run
{
downloadAsByteArray
()
}
// TODO: 2020/2/5 为下载图片添加文件系统的存储方式
/**
* 将图片下载到内存缓存中 (使用 [IoBuffer.Pool])
*/
suspend
inline
fun
Image
.
download
():
ByteReadPacket
=
bot
.
run
{
download
()
}
// endregion
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/MessageChain.kt
View file @
37745b83
...
...
@@ -17,6 +17,8 @@ import kotlin.reflect.KProperty
* - 若两个 [MessageChain] 连接, 后一个将会被合并到第一个内.
* - 若一个 [MessageChain] 与一个其他 [Message] 连接, [Message] 将会被添加入 [MessageChain].
* - 若一个 [Message] 与一个 [MessageChain] 连接, [Message] 将会被添加入 [MessageChain].
*
* 要获取更多信息, 请查看 [Message]
*/
interface
MessageChain
:
Message
,
MutableList
<
Message
>
{
// region Message override
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/message/MessagePacket.kt
View file @
37745b83
...
...
@@ -22,37 +22,52 @@ import java.net.URL
import
javax.imageio.ImageIO
/**
* 一条从服务器接收到的消息事件.
* JVM 平台相关扩展
*/
@UseExperimental
(
MiraiInternalAPI
::
class
)
actual
abstract
class
MessagePacket
<
TSender
:
QQ
,
TSubject
:
Contact
>
actual
constructor
(
bot
:
Bot
)
:
MessagePacketBase
<
TSender
,
TSubject
>(
bot
)
{
// region 上传图片
suspend
inline
fun
uploadImage
(
image
:
BufferedImage
):
Image
=
subject
.
uploadImage
(
image
)
suspend
inline
fun
uploadImage
(
image
:
URL
):
Image
=
subject
.
uploadImage
(
image
)
suspend
inline
fun
uploadImage
(
image
:
Input
):
Image
=
subject
.
uploadImage
(
image
)
suspend
inline
fun
uploadImage
(
image
:
InputStream
):
Image
=
subject
.
uploadImage
(
image
)
suspend
inline
fun
uploadImage
(
image
:
File
):
Image
=
subject
.
uploadImage
(
image
)
// endregion
// region 发送图片
suspend
inline
fun
sendImage
(
image
:
BufferedImage
)
=
subject
.
sendImage
(
image
)
suspend
inline
fun
sendImage
(
image
:
URL
)
=
subject
.
sendImage
(
image
)
suspend
inline
fun
sendImage
(
image
:
Input
)
=
subject
.
sendImage
(
image
)
suspend
inline
fun
sendImage
(
image
:
InputStream
)
=
subject
.
sendImage
(
image
)
suspend
inline
fun
sendImage
(
image
:
File
)
=
subject
.
sendImage
(
image
)
// endregion
// region 上传图片 (扩展)
suspend
inline
fun
BufferedImage
.
upload
():
Image
=
upload
(
subject
)
suspend
inline
fun
URL
.
uploadAsImage
():
Image
=
uploadAsImage
(
subject
)
suspend
inline
fun
Input
.
uploadAsImage
():
Image
=
uploadAsImage
(
subject
)
suspend
inline
fun
InputStream
.
uploadAsImage
():
Image
=
uploadAsImage
(
subject
)
suspend
inline
fun
File
.
uploadAsImage
():
Image
=
uploadAsImage
(
subject
)
// endregion 上传图片 (扩展)
// region 发送图片 (扩展)
suspend
inline
fun
BufferedImage
.
send
()
=
sendTo
(
subject
)
suspend
inline
fun
URL
.
sendAsImage
()
=
sendAsImageTo
(
subject
)
suspend
inline
fun
Input
.
sendAsImage
()
=
sendAsImageTo
(
subject
)
suspend
inline
fun
InputStream
.
sendAsImage
()
=
sendAsImageTo
(
subject
)
suspend
inline
fun
File
.
sendAsImage
()
=
sendAsImageTo
(
subject
)
// endregion 发送图片 (扩展)
// region 下载图片 (扩展)
suspend
inline
fun
Image
.
downloadTo
(
file
:
File
):
Long
=
file
.
outputStream
().
use
{
downloadTo
(
it
)
}
/**
* 这个函数结束后不会关闭 [output]
* 这个函数结束后不会关闭 [output]
. 请务必解决好 [OutputStream.close]
*/
suspend
inline
fun
Image
.
downloadTo
(
output
:
OutputStream
):
Long
=
download
().
inputStream
().
use
{
input
->
withContext
(
Dispatchers
.
IO
)
{
input
.
copyTo
(
output
)
}
}
...
...
@@ -60,4 +75,5 @@ actual abstract class MessagePacket<TSender : QQ, TSubject : Contact> actual con
suspend
inline
fun
Image
.
downloadAsStream
():
InputStream
=
download
().
inputStream
()
suspend
inline
fun
Image
.
downloadAsExternalImage
():
ExternalImage
=
withContext
(
Dispatchers
.
IO
)
{
download
().
toExternalImage
()
}
suspend
inline
fun
Image
.
downloadAsBufferedImage
():
BufferedImage
=
withContext
(
Dispatchers
.
IO
)
{
ImageIO
.
read
(
downloadAsStream
())
}
// endregion
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment