Техническое задание: Разработка скрипта для выгрузки контента из Telegram-каналов и групп с использованием Telethon
1. Введение Необходимо разработать скрипт на языке Python, использующий библиотеку Telethon, для автоматизированной выгрузки текстового, аудио, видео и другого контента из Telegram-каналов и групп (включая закрытых и защищенных от копирования и пересылки, с включенными темами) с последующим сохранением их на локальном компьютере. Учётные записи защищены двухфакторной аутентификацией (2FA) и паролем.
2. Цели и задачи Цель: • Создать инструмент для регулярного резервного копирования контента из закрытых Telegram-сообществ. Задачи: • Настроить окружение + инструкция для самостоятельного разворачивания. • Создать локальный web интерфейс для отображения списка групп и контента. • Реализовать функционал для 2FA авторизации в Telegram. Выгрузки контента. • Список групп пользователя сканируется по запросу со страницы web интерфейса, где отмечаются группы и темы для выгрузки контента. • Обеспечить сохранение загруженного контента на локальном компьютере в mysql. Хранение осуществляется в хронологическом порядке, с возможностью сортировки и фильтрации по полям: группа, тема, автор, дата, тип контента. Для файлов ссылка на файл. • Дополнительно сохранять в отдельных столбцах: сырые мета данные, id поста, ответ на пост и его автор.
3. Требования к системе • Telethon (docs.telethon.dev/en/stab... — асинхронная библиотека для взаимодействия с Telegram API. Возможно рассмотреть другое решение. • Операционная система: Windows
4. Функциональные требования
• 2FA авторизация в Telegram • Получение api_id и api_hash через My Telegram. (my.telegram.org/) • Обработка ввода кода подтверждения, отправляемого на номер телефона или приложение. • Получить список всех чатов и каналов, к которым имеет доступ авторизованный пользователь. Фильтрация списка для отображения только групповых чатов и каналов. Возможность выбора чата/канала для выгрузки контента. • Файлы: Скачивание и сохранение с наименованием по дате и времени отправления (YYYY-MM-DD_HH-MM-SS.ext). Структура хранения должна учитывать: канал, тема, тип файла (видео, аудио, изображение …), год и месяц. • Обработка сообщений с вложениями (например, текст с прикреплённым видео). • Обработка ошибок и логирование. Систему оповещения (например отмеченный канал пользователя). • Запуск: Пошаговое руководство по запуску скрипта и выбору чатов или каналов для выгрузки. • Код: Оставить комментарии в коде для пояснения ключевых участков.