Skip to content

Commit 587d226

Browse files
authored
fix: 调整群数据解析逻辑 修复群禁言无法解除的问题 (#167)
* fix: 只在踢出事件解析操作员 以免触发刷新导致退群人员缓存数据丢失 * fix: 修复无法解除群禁言的问题
1 parent 50907f2 commit 587d226

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

client/event/group.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,10 @@ func ParseMemberIncreaseEvent(event *message.GroupChange) *GroupMemberIncrease {
240240
}
241241

242242
func (g *GroupMemberDecrease) ResolveUin(f func(uid string, groupUin ...uint32) uint32) {
243-
g.OperatorUin = f(g.OperatorUID, g.GroupUin)
244243
g.UserUin = f(g.UserUID, g.GroupUin)
244+
if g.IsKicked() {
245+
g.OperatorUin = f(g.OperatorUID, g.GroupUin)
246+
}
245247
}
246248

247249
func ParseMemberDecreaseEvent(event *message.GroupChange) *GroupMemberDecrease {

client/packets/oidb/set_group_global_mute.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"math"
55

66
"github.com/LagrangeDev/LagrangeGo/client/packets/pb/service/oidb"
7+
"github.com/LagrangeDev/LagrangeGo/internal/proto"
78
)
89

910
func BuildSetGroupGlobalMuteReq(groupUin uint32, isMute bool) (*Packet, error) {
@@ -13,7 +14,7 @@ func BuildSetGroupGlobalMuteReq(groupUin uint32, isMute bool) (*Packet, error) {
1314
}
1415
body := &oidb.OidbSvcTrpcTcp0X89A_0{
1516
GroupUin: groupUin,
16-
State: &oidb.OidbSvcTrpcTcp0X89A_0State{S: s},
17+
State: &oidb.OidbSvcTrpcTcp0X89A_0State{S: proto.Uint32(s)},
1718
}
1819
return BuildOidbPacket(0x89A, 0, body, false, false)
1920
}

client/packets/pb/service/oidb/OidbSvcTrpcTcp0x89A_0.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/packets/pb/service/oidb/OidbSvcTrpcTcp0x89A_0.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ message OidbSvcTrpcTcp0x89A_0 {
99
}
1010

1111
message OidbSvcTrpcTcp0x89A_0State {
12-
uint32 S = 17;
12+
optional uint32 S = 17;
1313
}
1414

1515
message OidbSvcTrpcTcp0x89A_0Response {

0 commit comments

Comments
 (0)