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
486a0dc5
Commit
486a0dc5
authored
Jul 09, 2020
by
Him188
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/fixGroup' into dev
parents
2a91a229
aa69f570
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
14 deletions
+29
-14
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/NewContact.kt
...irai/qqandroid/network/protocol/packet/chat/NewContact.kt
+11
-13
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.PbGetMsg.kt
...twork/protocol/packet/chat/receive/MessageSvc.PbGetMsg.kt
+15
-0
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/OnlinePush.ReqPush.kt
...etwork/protocol/packet/chat/receive/OnlinePush.ReqPush.kt
+3
-1
No files found.
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/NewContact.kt
View file @
486a0dc5
...
...
@@ -148,22 +148,22 @@ internal class NewContact {
return
struct
?.
msg
?.
run
{
//this.soutv("SystemMsg")
when
(
subType
)
{
1
->
{
//
管理员邀
请
when
(
c2cInviteJoinGroupFlag
)
{
1
->
{
//
处理被邀请入群 或 处理成员入群申
请
when
(
groupMsgType
)
{
1
->
{
// 被邀请入群
BotInvitedJoinGroupRequestEvent
(
bot
,
struct
.
msgSeq
,
actionUin
,
groupCode
,
groupName
,
actionUinNick
)
}
0
->
{
// 成员申请入群
MemberJoinRequestEvent
(
bot
,
struct
.
msgSeq
,
msgAdditional
,
struct
.
reqUin
,
groupCode
,
groupName
,
reqUinNick
)
}
2
->
{
// 被邀请入群
BotInvitedJoinGroupRequestEvent
(
bot
,
struct
.
msgSeq
,
actionUin
,
groupCode
,
groupName
,
actionUinNick
)
}
else
->
throw
contextualBugReportException
(
"parse SystemMsgNewGroup, subType=1"
,
this
.
_miraiContentToString
(),
...
...
@@ -171,16 +171,14 @@ internal class NewContact {
)
}
}
2
->
{
// 被邀请入群, 自动同意
2
->
{
// 被邀请入群, 自动同意, 不需处理
val
group
=
bot
.
getNewGroup
(
groupCode
)
?:
return
null
val
invitor
=
group
[
actionUin
]
BotJoinGroupEvent
.
Invite
(
invitor
)
}
3
->
{
// 已被请他管理员处理
3
->
{
// 已被请他管理员处理
null
}
5
->
{
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.PbGetMsg.kt
View file @
486a0dc5
...
...
@@ -44,6 +44,7 @@ import net.mamoe.mirai.qqandroid.network.protocol.packet.buildOutgoingUniPacket
import
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.GroupInfoImpl
import
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.NewContact
import
net.mamoe.mirai.qqandroid.network.protocol.packet.list.FriendList
import
net.mamoe.mirai.qqandroid.utils._miraiContentToString
import
net.mamoe.mirai.qqandroid.utils.io.serialization.readProtoBuf
import
net.mamoe.mirai.qqandroid.utils.io.serialization.toByteArray
import
net.mamoe.mirai.qqandroid.utils.io.serialization.writeProtoBuf
...
...
@@ -190,6 +191,20 @@ internal object MessageSvcPbGetMsg : OutgoingPacketFactory<MessageSvcPbGetMsg.Re
34
->
{
// 与 33 重复
return
@
mapNotNull
null
}
85
->
bot
.
groupListModifyLock
.
withLock
{
// 其他客户端入群
val
group
=
bot
.
getGroupByUinOrNull
(
msg
.
msgHead
.
fromUin
)
if
(
msg
.
msgHead
.
toUin
==
bot
.
id
&&
group
==
null
)
{
val
newGroup
=
bot
.
getNewGroup
(
Group
.
calculateGroupCodeByGroupUin
(
msg
.
msgHead
.
fromUin
))
?:
return
@
mapNotNull
null
bot
.
groups
.
delegate
.
addLast
(
newGroup
)
return
@
mapNotNull
BotJoinGroupEvent
.
Active
(
newGroup
)
}
else
{
// unknown
return
@
mapNotNull
null
}
}
/*
34 -> { // 主动入群
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/OnlinePush.ReqPush.kt
View file @
486a0dc5
...
...
@@ -81,7 +81,9 @@ internal object OnlinePushReqPush : IncomingPacketFactory<OnlinePushReqPush.ReqP
val
packets
:
Sequence
<
Packet
>
=
reqPushMsg
.
vMsgInfos
.
deco
(
bot
.
client
)
{
msgInfo
->
when
(
msgInfo
.
shMsgType
.
toInt
())
{
732
->
{
val
group
=
bot
.
getGroup
(
readUInt
().
toLong
())
val
group
=
bot
.
getGroupOrNull
(
readUInt
().
toLong
())
?:
return
@
deco
emptySequence
()
// group has not been initialized
GroupImpl
.
checkIsInstance
(
group
)
val
internalType
=
readByte
().
toInt
()
...
...
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