Skip to content

Commit c242402

Browse files
committed
Fix dialogs after L100 update
1 parent 4eaa891 commit c242402

6 files changed

Lines changed: 16 additions & 8 deletions

File tree

pyrogram/client/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ def start(self):
313313
self.get_initial_dialogs()
314314
self.get_contacts()
315315
else:
316-
self.send(functions.messages.GetPinnedDialogs())
316+
self.send(functions.messages.GetPinnedDialogs(folder_id=0))
317317
self.get_initial_dialogs_chunk()
318318
else:
319319
self.send(functions.updates.GetState())
@@ -1325,7 +1325,7 @@ def get_initial_dialogs_chunk(self, offset_date: int = 0):
13251325
return r
13261326

13271327
def get_initial_dialogs(self):
1328-
self.send(functions.messages.GetPinnedDialogs())
1328+
self.send(functions.messages.GetPinnedDialogs(folder_id=0))
13291329

13301330
dialogs = self.get_initial_dialogs_chunk()
13311331
offset_date = utils.get_offset_date(dialogs)

pyrogram/client/methods/chats/get_dialogs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def get_dialogs(
6262
while True:
6363
try:
6464
if pinned_only:
65-
r = self.send(functions.messages.GetPinnedDialogs())
65+
r = self.send(functions.messages.GetPinnedDialogs(folder_id=0))
6666
else:
6767
r = self.send(
6868
functions.messages.GetDialogs(

pyrogram/client/methods/chats/get_dialogs_count.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def get_dialogs_count(self, pinned_only: bool = False) -> int:
3636
"""
3737

3838
if pinned_only:
39-
return len(self.send(functions.messages.GetPinnedDialogs()).dialogs)
39+
return len(self.send(functions.messages.GetPinnedDialogs(folder_id=0)).dialogs)
4040
else:
4141
r = self.send(
4242
functions.messages.GetDialogs(

pyrogram/client/methods/chats/iter_dialogs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class IterDialogs(BaseClient):
2626
def iter_dialogs(
2727
self,
2828
offset_date: int = 0,
29-
limit: int = 0
29+
limit: int = None
3030
) -> Generator["pyrogram.Dialog", None, None]:
3131
"""Iterate through a user's dialogs sequentially.
3232

pyrogram/client/types/user_and_chats/dialog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def __init__(
6969
self.is_pinned = is_pinned
7070

7171
@staticmethod
72-
def _parse(client, dialog, messages, users, chats) -> "Dialog":
72+
def _parse(client, dialog: types.Dialog, messages, users, chats) -> "Dialog":
7373
chat_id = dialog.peer
7474

7575
if isinstance(chat_id, types.PeerUser):

pyrogram/client/types/user_and_chats/dialogs.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def __init__(
5151
self.dialogs = dialogs
5252

5353
@staticmethod
54-
def _parse(client, dialogs) -> "Dialogs":
54+
def _parse(client, dialogs: types.messages.Dialogs) -> "Dialogs":
5555
users = {i.id: i for i in dialogs.users}
5656
chats = {i.id: i for i in dialogs.chats}
5757

@@ -72,8 +72,16 @@ def _parse(client, dialogs) -> "Dialogs":
7272

7373
messages[chat_id] = Message._parse(client, message, users, chats)
7474

75+
parsed_dialogs = []
76+
77+
for dialog in dialogs.dialogs:
78+
if not isinstance(dialog, types.Dialog):
79+
continue
80+
81+
parsed_dialogs.append(Dialog._parse(client, dialog, messages, users, chats))
82+
7583
return Dialogs(
7684
total_count=getattr(dialogs, "count", len(dialogs.dialogs)),
77-
dialogs=[Dialog._parse(client, dialog, messages, users, chats) for dialog in dialogs.dialogs],
85+
dialogs=parsed_dialogs,
7886
client=client
7987
)

0 commit comments

Comments
 (0)