chatinfo: look inside channelParticipantBanned
This commit is contained in:
@@ -36,6 +36,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
mutedPowerLevel = ptr.Ptr(-1)
|
||||||
anyonePowerLevel = ptr.Ptr(0)
|
anyonePowerLevel = ptr.Ptr(0)
|
||||||
modPowerLevel = ptr.Ptr(50)
|
modPowerLevel = ptr.Ptr(50)
|
||||||
superadminPowerLevel = ptr.Ptr(75)
|
superadminPowerLevel = ptr.Ptr(75)
|
||||||
@@ -429,8 +430,10 @@ func (t *TelegramClient) filterChannelParticipants(participants []tg.ChannelPart
|
|||||||
switch participant := u.(type) {
|
switch participant := u.(type) {
|
||||||
case *tg.ChannelParticipant:
|
case *tg.ChannelParticipant:
|
||||||
member.EventSender = t.senderForUserID(participant.GetUserID())
|
member.EventSender = t.senderForUserID(participant.GetUserID())
|
||||||
|
member.PowerLevel = anyonePowerLevel
|
||||||
case *tg.ChannelParticipantSelf:
|
case *tg.ChannelParticipantSelf:
|
||||||
member.EventSender = t.senderForUserID(participant.GetUserID())
|
member.EventSender = t.senderForUserID(participant.GetUserID())
|
||||||
|
member.PowerLevel = anyonePowerLevel
|
||||||
case *tg.ChannelParticipantCreator:
|
case *tg.ChannelParticipantCreator:
|
||||||
member.EventSender = t.senderForUserID(participant.GetUserID())
|
member.EventSender = t.senderForUserID(participant.GetUserID())
|
||||||
member.PowerLevel = creatorPowerLevel
|
member.PowerLevel = creatorPowerLevel
|
||||||
@@ -438,8 +441,16 @@ func (t *TelegramClient) filterChannelParticipants(participants []tg.ChannelPart
|
|||||||
member.EventSender = t.senderForUserID(participant.GetUserID())
|
member.EventSender = t.senderForUserID(participant.GetUserID())
|
||||||
member.PowerLevel = adminRightsToPowerLevel(participant.AdminRights)
|
member.PowerLevel = adminRightsToPowerLevel(participant.AdminRights)
|
||||||
case *tg.ChannelParticipantBanned:
|
case *tg.ChannelParticipantBanned:
|
||||||
member.Membership = event.MembershipBan
|
if participant.BannedRights.ViewMessages {
|
||||||
member.PrevMembership = event.MembershipJoin
|
member.Membership = event.MembershipBan
|
||||||
|
} else if participant.Left {
|
||||||
|
member.Membership = event.MembershipLeave
|
||||||
|
}
|
||||||
|
if participant.BannedRights.SendMessages {
|
||||||
|
member.PowerLevel = mutedPowerLevel
|
||||||
|
} else {
|
||||||
|
member.PowerLevel = anyonePowerLevel
|
||||||
|
}
|
||||||
member.EventSender = t.getPeerSender(participant.GetPeer())
|
member.EventSender = t.getPeerSender(participant.GetPeer())
|
||||||
member.MemberSender = t.senderForUserID(participant.GetKickedBy())
|
member.MemberSender = t.senderForUserID(participant.GetKickedBy())
|
||||||
case *tg.ChannelParticipantLeft:
|
case *tg.ChannelParticipantLeft:
|
||||||
|
|||||||
Reference in New Issue
Block a user