From 34915a26498c836b1b14e7eb06ad42742fb3fd6b Mon Sep 17 00:00:00 2001 From: lifegpc Date: Sat, 11 Dec 2021 10:47:07 +0800 Subject: [PATCH] allow search public chats --- tdlib.py | 9 +++++++++ tg_delete_all_my_msgs.py | 9 +++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tdlib.py b/tdlib.py index b468ce9..dedf682 100644 --- a/tdlib.py +++ b/tdlib.py @@ -445,6 +445,15 @@ class TdLib: print(f"{re['code']} {re['message']}") return None + async def searchPublicChats(self, query: str): + re = await self._send({"@type": "searchPublicChats", "query": query}) + if re['@type'] == 'chats': + return re + else: + if re['@type'] == 'error': + print(f"{re['code']} {re['message']}") + return None + async def setAuthenticationPhoneNumber(self, phone_number, settings=None): sett = {"@type": "phoneNumberAuthenticationSettings", "allow_flash_call": False, diff --git a/tg_delete_all_my_msgs.py b/tg_delete_all_my_msgs.py index 11f7acf..107d26e 100644 --- a/tg_delete_all_my_msgs.py +++ b/tg_delete_all_my_msgs.py @@ -28,8 +28,13 @@ async def get_chat_id_from_name(lib: TdLib, name: str) -> int: raise ValueError('Can not found chat.') le = len(re['chat_ids']) if le == 0: - raise ValueError('No chat found.') - elif le == 1: + re = await lib.searchPublicChats(name) + if re is None: + raise ValueError('Can not search public chats.') + le = len(re['chat_ids']) + if le == 0: + raise ValueError('No chat found.') + if le == 1: return re['chat_ids'][0] else: raise NotImplementedError('Multiply chat is returned.')