Попробуй вот этот
from telethon import TelegramClient
from telethon.tl.functions.messages import GetHistoryRequest
# Замените на свои данные
API_ID = 'YOUR_API_ID'
API_HASH = 'YOUR_API_HASH'
SOURCE_CHANNEL = 'source_channel_username_or_id'
DESTINATION_CHANNEL = 'destination_channel_username_or_id'
START_MESSAGE_ID = 0 # ID сообщения, с которого начинать копирование (0 - начать с последнего)
# Создаем клиент
client = TelegramClient('session_name', API_ID, API_HASH)
async def main():
# Получаем объект исходного канала
source_channel = await client.get_entity(SOURCE_CHANNEL)
# Получаем объект целевого канала
destination_channel = await client.get_entity(DESTINATION_CHANNEL)
# Получаем историю сообщений из исходного канала
history = await client(GetHistoryRequest(
peer=source_channel,
limit=100, # Количество сообщений за раз
offset_id=START_MESSAGE_ID,
max_id=0,
min_id=0,
add_offset=0,
hash=0
))
# Копируем сообщения
for message in history.messages:
await client.send_message(destination_channel, message.message)
print(f'Копируем сообщение: {message.message}'
# Запускаем клиента
with client:
client.loop.run_until_complete(main())