From 1bd7786f452e38361217d3fed5fe25defd107ff5 Mon Sep 17 00:00:00 2001 From: jsdio Date: Sat, 22 Oct 2022 23:15:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BA=D0=BE=D0=B4=D0=B0,=20=D0=B8?= =?UTF-8?q?=D0=BC=D0=BF=D0=BE=D1=80=D1=82=D0=BE=D0=B2,=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 10 ++++++---- main.py | 17 +++++++++++------ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/config.py b/config.py index 39a13d3..5a941da 100644 --- a/config.py +++ b/config.py @@ -1,5 +1,7 @@ session = 'session.session' # при наличии своей сессии указываем путь до неё -api_id = 12345 # Получить тут: https://my.telegram.org/ -api_hash = 'asdfq23f' # Получить тут: https://my.telegram.org/ -from_channel = -100123456 # ID канала, откуда парсить. Начинается с -100 -in_channel = -1001234568910 # ID канала, куда записывать. Начинается с -100 \ No newline at end of file +api_id = 1106516 +api_hash = '6841639cd57d7cf1c1e92e1ce540b7ba' +min_id = 0 # ID для минимального сообщения +max_id = 0 # ID для максимального сообщения +from_channel = -1001166834860 # ID канала, откуда парсить. Начинается с -100 +in_channel = -1001840823909 # ID канала, куда записывать. Начинается с -100 \ No newline at end of file diff --git a/main.py b/main.py index 864f0b4..7da7c16 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,8 @@ from tqdm import tqdm from telethon import TelegramClient, sync, functions, errors, types import asyncio import time -from config import api_hash, api_id, from_channel, in_channel, session +from config import api_hash, api_id, from_channel, in_channel, session,\ + max_id, min_id loop = asyncio.get_event_loop() @@ -54,12 +55,16 @@ class ForwardAlbum: async def main(): chat = ForwardAlbum(None) async with TelegramClient(session, api_id, api_hash) as client: - for mess_id in tqdm([20, 21]): - mess_id = mess_id+1 - mess = await client.get_messages(from_channel, ids=mess_id) - print(mess) - if mess is None: + ch = await client.get_entity(from_channel) + args = {} + if min_id != 0: + args['min_id'] = min_id + if max_id != 0: + args['max_id'] = max_id + async for mess in client.iter_messages(ch, reverse=True, **args): + if mess.__class__.__name__ == 'MessageService': continue + mess_id = mess.id if mess.grouped_id is not None: albumId = mess.grouped_id else: