Update API schema to Layer 126 · pythonfansx/pyrogram@b1dc031 · GitHub
Skip to content

Commit b1dc031

Browse files
committed
Update API schema to Layer 126
1 parent e01ac7a commit b1dc031

8 files changed

Lines changed: 31 additions & 23 deletions

File tree

compiler/api/source/main_api.tl

Lines changed: 7 additions & 7 deletions

pyrogram/methods/chats/get_chat_member.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ async def get_chat_member(
6464
users = {i.id: i for i in r.users}
6565

6666
for member in members:
67-
member = types.ChatMember._parse(self, member, users)
67+
member = types.ChatMember._parse(self, member, users, {})
6868

6969
if isinstance(user, raw.types.InputPeerSelf):
7070
if member.user.is_self:
@@ -78,12 +78,13 @@ async def get_chat_member(
7878
r = await self.send(
7979
raw.functions.channels.GetParticipant(
8080
channel=chat,
81-
user_id=user
81+
participant=user
8282
)
8383
)
8484

8585
users = {i.id: i for i in r.users}
86+
chats = {i.id: i for i in r.chats}
8687

87-
return types.ChatMember._parse(self, r.participant, users)
88+
return types.ChatMember._parse(self, r.participant, users, chats)
8889
else:
8990
raise ValueError(f'The chat_id "{chat_id}" belongs to a user')

pyrogram/methods/chats/get_chat_members.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ async def get_chat_members(
115115
members = r.full_chat.participants.participants
116116
users = {i.id: i for i in r.users}
117117

118-
return types.List(types.ChatMember._parse(self, member, users) for member in members)
118+
return types.List(types.ChatMember._parse(self, member, users, {}) for member in members)
119119
elif isinstance(peer, raw.types.InputPeerChannel):
120120
filter = filter.lower()
121121

@@ -147,7 +147,8 @@ async def get_chat_members(
147147

148148
members = r.participants
149149
users = {i.id: i for i in r.users}
150+
chats = {i.id: i for i in r.chats}
150151

151-
return types.List(types.ChatMember._parse(self, member, users) for member in members)
152+
return types.List(types.ChatMember._parse(self, member, users, chats) for member in members)
152153
else:
153154
raise ValueError(f'The chat_id "{chat_id}" belongs to a user')

pyrogram/methods/chats/kick_chat_member.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ async def kick_chat_member(
7575
r = await self.send(
7676
raw.functions.channels.EditBanned(
7777
channel=chat_peer,
78-
user_id=user_peer,
78+
participant=user_peer,
7979
banned_rights=raw.types.ChatBannedRights(
8080
until_date=until_date,
8181
view_messages=True,

pyrogram/methods/chats/unban_chat_member.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ async def unban_chat_member(
5252
await self.send(
5353
raw.functions.channels.EditBanned(
5454
channel=await self.resolve_peer(chat_id),
55-
user_id=await self.resolve_peer(user_id),
55+
participant=await self.resolve_peer(user_id),
5656
banned_rights=raw.types.ChatBannedRights(
5757
until_date=0
5858
)

pyrogram/types/user_and_chats/chat_event.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -475,17 +475,17 @@ async def _parse(
475475
action = ChatEventAction.MESSAGE_EDITED.value
476476

477477
elif isinstance(action, raw.types.ChannelAdminLogEventActionParticipantInvite):
478-
invited_member = types.ChatMember._parse(client, action.participant, users)
478+
invited_member = types.ChatMember._parse(client, action.participant, users, chats)
479479
action = ChatEventAction.MEMBER_INVITED.value
480480

481481
elif isinstance(action, raw.types.ChannelAdminLogEventActionParticipantToggleAdmin):
482-
old_admin_rights = types.ChatMember._parse(client, action.prev_participant, users)
483-
new_admin_rights = types.ChatMember._parse(client, action.new_participant, users)
482+
old_admin_rights = types.ChatMember._parse(client, action.prev_participant, users, chats)
483+
new_admin_rights = types.ChatMember._parse(client, action.new_participant, users, chats)
484484
action = ChatEventAction.ADMIN_RIGHTS_CHANGED.value
485485

486486
elif isinstance(action, raw.types.ChannelAdminLogEventActionParticipantToggleBan):
487-
old_member_permissions = types.ChatMember._parse(client, action.prev_participant, users)
488-
new_member_permissions = types.ChatMember._parse(client, action.new_participant, users)
487+
old_member_permissions = types.ChatMember._parse(client, action.prev_participant, users, chats)
488+
new_member_permissions = types.ChatMember._parse(client, action.new_participant, users, chats)
489489
action = ChatEventAction.MEMBER_PERMISSIONS_CHANGED.value
490490

491491
elif isinstance(action, raw.types.ChannelAdminLogEventActionStopPoll):

pyrogram/types/user_and_chats/chat_member.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,14 @@ def __init__(
212212
self.can_send_polls = can_send_polls
213213

214214
@staticmethod
215-
def _parse(client, member, users) -> "ChatMember":
216-
user = types.User._parse(client, users[member.user_id])
215+
def _parse(client, member, users, chats) -> "ChatMember":
216+
if not isinstance(member, (raw.types.ChannelParticipantBanned, raw.types.ChannelParticipantLeft)):
217+
user = types.User._parse(client, users[member.user_id])
218+
else:
219+
if isinstance(member.peer, raw.types.PeerUser):
220+
user = types.User._parse(client, users[member.peer.user_id])
221+
else:
222+
user = None
217223

218224
invited_by = (
219225
types.User._parse(client, users[member.inviter_id])

pyrogram/types/user_and_chats/chat_member_updated.py

Lines changed: 2 additions & 2 deletions

0 commit comments

Comments
 (0)