@@ -349,12 +349,15 @@ func (bot *CQBot) joinGroupEvent(c *client.QQClient, event *event2.GroupMemberIn
349349}
350350
351351func (bot * CQBot ) leaveGroupEvent (c * client.QQClient , e * event2.GroupMemberDecrease ) {
352+ group := c .GetCachedGroupInfo (e .GroupUin )
353+ var op * entity.GroupMember
352354 if e .IsKicked () {
353- log .Infof ("Bot被 %v T出了群 %v." , formatMemberName (c .GetCachedMemberInfo (e .OperatorUin , e .GroupUin )), formatGroupName (c .GetCachedGroupInfo (e .GroupUin )))
355+ op = c .GetCachedMemberInfo (e .OperatorUin , e .GroupUin )
356+ log .Infof ("Bot 被 %v 踢出了群 %v." , formatMemberName (op ), formatGroupName (group ))
354357 } else {
355- log .Infof ("Bot退出了群 %v." , formatGroupName (c . GetCachedGroupInfo ( e . GroupUin ) ))
358+ log .Infof ("Bot 退出了群 %v." , formatGroupName (group ))
356359 }
357- bot .dispatch (bot .groupDecrease (int64 (e .GroupUin ), int64 (c .Uin ), c . GetCachedMemberInfo ( e . OperatorUin , e . GroupUin ) ))
360+ bot .dispatch (bot .groupDecrease (int64 (e .GroupUin ), int64 (c .Uin ), op ))
358361}
359362
360363func (bot * CQBot ) memberPermissionChangedEvent (_ * client.QQClient , e * event2.GroupMemberPermissionChanged ) {
@@ -385,15 +388,16 @@ func (bot *CQBot) memberJoinEvent(c *client.QQClient, e *event2.GroupMemberIncre
385388}
386389
387390func (bot * CQBot ) memberLeaveEvent (c * client.QQClient , e * event2.GroupMemberDecrease ) {
388- member := c .GetCachedMemberInfo (c . GetUin ( e . UserUID , e . GroupUin ) , e .GroupUin )
389- op := c . GetCachedMemberInfo ( c . GetUin ( e . OperatorUID , e . GroupUin ), e . GroupUin )
391+ member := c .GetCachedMemberInfo (e . UserUin , e .GroupUin )
392+ var op * entity. GroupMember
390393 group := c .GetCachedGroupInfo (e .GroupUin )
391394 if e .IsKicked () {
392- log .Infof ("成员 %v 被 %v T出了群 %v." , formatMemberName (member ), formatMemberName (op ), formatGroupName (group ))
395+ op = c .GetCachedMemberInfo (e .OperatorUin , e .GroupUin )
396+ log .Infof ("成员 %v 被 %v 踢出了群 %v." , formatMemberName (member ), formatMemberName (op ), formatGroupName (group ))
393397 } else {
394398 log .Infof ("成员 %v 离开了群 %v." , formatMemberName (member ), formatGroupName (group ))
395399 }
396- bot .dispatch (bot .groupDecrease (int64 (e .GroupUin ), int64 (member . Uin ), op ))
400+ bot .dispatch (bot .groupDecrease (int64 (e .GroupUin ), int64 (e . UserUin ), op ))
397401}
398402
399403func (bot * CQBot ) friendRequestEvent (_ * client.QQClient , e * event2.NewFriendRequest ) {
@@ -502,11 +506,9 @@ func (bot *CQBot) groupIncrease(groupCode, operatorUin, userUin int64) *event {
502506
503507func (bot * CQBot ) groupDecrease (groupCode , userUin int64 , operator * entity.GroupMember ) * event {
504508 op := userUin
505- if operator != nil {
506- op = int64 (operator .Uin )
507- }
508509 subtype := "leave"
509510 if operator != nil {
511+ op = int64 (operator .Uin )
510512 if userUin == int64 (bot .Client .Uin ) {
511513 subtype = "kick_me"
512514 } else {
0 commit comments