<strong>Описание задачи</strong>
Необходимо разработать скрипт для Telegram с нуля, который:<br><ol><li>Копирует посты из закрытых каналов, включая те, где установлены запреты на пересылку контента.</li><li>Обеспечивает чистый и понятный код.</li></ol><strong>Основные функции:</strong><br><ol><li><strong>Копирование старых постов.</strong><br><ul><li>Возможность разового копирования заданного количества старых постов (например, 1000) с заданным интервалом публикации.</li></ul></li><li><strong>Копирование новых постов в онлайн-режиме.</strong><br><ul><li>Проверка наличия новых постов с заданным таймингом (например, раз в минуту).</li><li>Запоминание последнего скопированного поста для предотвращения повторного копирования в случае сбоя.</li></ul></li><li><strong>Обработка ссылок.</strong><br><ul><li>Замена всех Telegram-ссылок (t.me/) на указанные в конфигурации.</li><li>Сохранение ссылок на внешние источники без изменений.</li></ul></li><li><strong>Привязка к нескольким каналам.</strong><br><ul><li>Поддержка привязки «источник – целевой канал – контактная ссылка» для нескольких каналов.</li></ul></li><li><strong>Корректная обработка медиа.</strong><br><ul><li>Если в посте присутствует несколько медиафайлов (например, две фотографии), они должны публиковаться в одном посте вместе с текстом.</li></ul></li><li><strong>Сохранение форматирования текста.</strong><br><ul><li>Поддержка жирного текста, цитирования и других стилей Telegram.</li></ul></li><li><strong>Тестирование.</strong><br><ul><li>Тестирование функционала выполняется на аккаунте и канале исполнителя, дабы быстрее шла работа.</li></ul></li></ol><strong>Технические требования:</strong><br><ul><li>Язык программирования: Python.</li><li>Используемая библиотека: Скорее всего Telethon дает возможность копировать из закрытых каналов с запретом на копирование, но это не точно.</li><li>Совместимость с Ubuntu 22–24.</li><li>Конфигурация через файл <code>cfg.json</code>, в котором указываются:<br><ul><li>Источники и целевые каналы.</li><li>Ссылки для замены.</li><li>Количество постов для первичного копирования.</li><li>Интервал проверки новых постов.</li></ul></li></ul>