From 8fa02c01ad415e72ab9588d1b7b97039f09c05b9 Mon Sep 17 00:00:00 2001 From: zuku Date: Sat, 11 Aug 2018 16:53:45 +0430 Subject: [PATCH 1/5] added config values and defaults in __main__ --- config.ini.example | 5 +++++ telegram_export/__main__.py | 1 + 2 files changed, 6 insertions(+) diff --git a/config.ini.example b/config.ini.example index 68c40e0..048c0e7 100644 --- a/config.ini.example +++ b/config.ini.example @@ -59,6 +59,11 @@ Whitelist = @example, username, -1001132836449 ; MediaWhitelist = chatphoto, photo, sticker MediaWhitelist = chatphoto, photo, sticker +# dialog type to download. Options are: +# "user", "group", "channel". +# An empty list (default if omitted) means all are allowed. +DialogWhitelist = user, group + # The maximum allowed file size for a document before skipping it. # For instance, "800KB" will only download files smaller or equal to 800KB. # Allowed units are "B", "KB", "MB" and "GB" (decimal point allowed). diff --git a/telegram_export/__main__.py b/telegram_export/__main__.py index 70de853..7020dfd 100644 --- a/telegram_export/__main__.py +++ b/telegram_export/__main__.py @@ -59,6 +59,7 @@ def load_config(filename): 'SessionName': 'exporter', 'OutputDirectory': '.', 'MediaWhitelist': 'chatphoto, photo, sticker', + 'DialogWhitelist': 'user, group', 'MaxSize': '1MB', 'LogLevel': 'INFO', 'DBFileName': 'export', From c3e9668d0c56d3aa90c0d731e4a33fce5c026109 Mon Sep 17 00:00:00 2001 From: zuku Date: Sat, 11 Aug 2018 16:55:47 +0430 Subject: [PATCH 2/5] add selective dialog exporting --- telegram_export/exporter.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/telegram_export/exporter.py b/telegram_export/exporter.py index 2a2b0b6..70712b8 100644 --- a/telegram_export/exporter.py +++ b/telegram_export/exporter.py @@ -81,8 +81,22 @@ async def start(self): await self.downloader.start(entity) else: # Neither blacklist nor whitelist - get all + dialog_to_dump = (self.dumper.config.get('DialogWhitelist') or '').replace(' ' ,'').split(',') for dialog in await self.client.get_dialogs(limit=None): - await self.downloader.start(dialog.entity) + if dialog.is_user: + dialogType = 'user' + elif dialog.is_group: + dialogType = 'group' + elif dialog.is_channel: + dialogType = 'channel' + else: + dialogType = 'unknown!' + pass + if dialogType in dialog_to_dump: + await self.downloader.start(dialog.entity) + else: + continue + #await self.downloader.start(dialog.entity) async def download_past_media(self): """ From 7b25d3611ae9f8788ece6bdf50efb1ce100fd804 Mon Sep 17 00:00:00 2001 From: zuku Date: Sat, 11 Aug 2018 16:58:46 +0430 Subject: [PATCH 3/5] change default export to all --- config.ini.example | 2 +- telegram_export/__main__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.ini.example b/config.ini.example index 048c0e7..ee95054 100644 --- a/config.ini.example +++ b/config.ini.example @@ -62,7 +62,7 @@ MediaWhitelist = chatphoto, photo, sticker # dialog type to download. Options are: # "user", "group", "channel". # An empty list (default if omitted) means all are allowed. -DialogWhitelist = user, group +DialogWhitelist = user, group, channel # The maximum allowed file size for a document before skipping it. # For instance, "800KB" will only download files smaller or equal to 800KB. diff --git a/telegram_export/__main__.py b/telegram_export/__main__.py index 7020dfd..94a726b 100644 --- a/telegram_export/__main__.py +++ b/telegram_export/__main__.py @@ -59,7 +59,7 @@ def load_config(filename): 'SessionName': 'exporter', 'OutputDirectory': '.', 'MediaWhitelist': 'chatphoto, photo, sticker', - 'DialogWhitelist': 'user, group', + 'DialogWhitelist': 'user, group, channel', 'MaxSize': '1MB', 'LogLevel': 'INFO', 'DBFileName': 'export', From 509250cacef34655fed2795e5fd060d2c7591058 Mon Sep 17 00:00:00 2001 From: zuku Date: Sat, 11 Aug 2018 17:16:46 +0430 Subject: [PATCH 4/5] removed pass --- telegram_export/exporter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/telegram_export/exporter.py b/telegram_export/exporter.py index 70712b8..d5d01b5 100644 --- a/telegram_export/exporter.py +++ b/telegram_export/exporter.py @@ -91,7 +91,6 @@ async def start(self): dialogType = 'channel' else: dialogType = 'unknown!' - pass if dialogType in dialog_to_dump: await self.downloader.start(dialog.entity) else: From 06620ffbc4e0e19ea74b479570eb6716e7fb388c Mon Sep 17 00:00:00 2001 From: zuku Date: Sun, 12 Aug 2018 21:34:30 +0430 Subject: [PATCH 5/5] remove comment line --- telegram_export/exporter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/telegram_export/exporter.py b/telegram_export/exporter.py index d5d01b5..fa7a09c 100644 --- a/telegram_export/exporter.py +++ b/telegram_export/exporter.py @@ -95,7 +95,6 @@ async def start(self): await self.downloader.start(dialog.entity) else: continue - #await self.downloader.start(dialog.entity) async def download_past_media(self): """