
Как я восстановил удаленные сообщения телеграммы и медиа (и вы тоже можете)
20 июня 2025 г.Потеряные годы истории телеграммы по ошибке выглядела как кошмар. Вот как я обратно инженерный журнал администратора Telegram, чтобы вернуть все это.
⚠Берегись: Этот метод работает только для групповых чатов и каналов-не для частных разговоров один на один.
Авария, которая начала все это
На23 сентября 2024 годаЯ сделал катастрофическую ошибку.
Я случайно удалилВсе сообщения и медиаиз группы Telegram Gatch с моими близкими друзьями - разговором, который охватилТри года, включентысячи файлови заканчивая350 000 сообщенийПолем
Телеграмма дает вам простопять секундотменить удаление. Я пропустил окно.
Паника. Сожалеть. Отчаяние.
Кто я?
Привет, яДмитрий ГусевВ
Возможно ли восстановление возможным?
Telegram не предлагает никакого официального метода для восстановления удаленных групповых сообщений или медиа. Их экспортный инструмент работает только ссуществующийДанные - не удаляемый контент.
Но я нашел подсказку:Недавние действияПолем
Если вы администратор группы или канала, вы можете увидеть там удаленные сообщения, ноТолько в течение 48 часови нет кнопки «восстановления».
Тем не менее, я подумал:
Если телеграмма показывает там удаленные сообщения ... они должны храниться где -нибудь. Может, я смогу их вытащить.
Введите: Mtproto
Телеграмма имеет два основных API:
- Бот API- Упрощенное, безопасное, ограниченное
- MTProto API- сложный, мощный и незарегистрированный по частям
Я понял, что единственный способ получить доступ к удаленному контенту былGetAdminLogRequest
метод
Я нашел старый, баггический сценарий на
Создание инструмента восстановления
Я переписал и расширил сценарий. Вот что теперь может сделать мой инструмент:
- [x]Выдержка удаленатекстовые сообщения
- [x]Скачать удаленСМИ файлы
- [x]Экспортировать данные в чистый
dump.json
- [x](Необязательно)ПриезжатьСообщения/носитель в группу телеграммы или чат
Я использовал
Мы с друзьями решили восстановить только медиа -файлы - сбрасывание сообщений 350K заняло бы дни.
Сценарий длился ~ 8 часов. Он успешно скачалкаждый медиа -файлУдаляется в этом случайном протирке. Кризис предотвратил.
📦 Как использовать инструмент
Вы тоже можете попробовать это. Вот полный гид.
1. Установите Python3
Пользователи Mac: установить
Windows/Linux: используйте
Установить
2. Клонировать репо
Установите git и клонировать проект:
git clone https://github.com/sw1tch3roo/tg-message-lifeguard.git
cd tg-message-lifeguard
3. (Необязательно) Создайте виртуальную среду
python3 -m venv venv
source venv/bin/activate # macOS/Linux
.\venv\Scripts\activate # Windows
4. Установите зависимости
pip install -r requirements.txt
5. Получить учетные данные телеграммы
- Идти в
https://my.telegram.org - Войдите на свой телефон
- Перейти кИнструменты разработки API
- Сохраните свой
api_id
иapi_hash
Вам также понадобится внутренний идентификатор вашей группы или канала - следуйте
6. Запустите сценарий резервного копирования
python3 -m src.backup
Вам будет предложено:
api_id
api_hash
- Ваш номер телефона
- Идентификатор чата вашей группы
❗ Примечание: Вы должны использовать свою учетную запись личной телеграммы, а не бот - у ботов нет доступа к журналам администратора.
Вы можете выбрать экспорт:
- Только текст
- Только СМИ
- И текст, и медиа
Вы также можете указать:
- Диапазон сообщений (
min_message_id
Вmax_message_id
) - Ваша группа или идентификатор канала (
group_chat_id
)
🔢 Как работа min_message_id и max_message_id:
Это определяет диапазон сообщений для экспорта:
min_message_id = 0
→ Начать с самого первого сообщения в чатеmax_message_id = 0
→ Экспорт всех доступных сообщений
Например:
min_message_id = 23456
max_message_id = 25673
Это будет экспортировать только сообщения в этом диапазоне, включая носитель.
8. Пусть он бежит
Файлы и метаданные будут сохранены в папке с названиемbackup_will_be_inside_me
Полем Вы можете прервать и возобновить в любое время - скрипт поддерживает возобновление через идентификатор сообщения.
⚠ Каждый файл медиа сохраняется с соответствующим идентификатором сообщения в качестве имени файла. Это чрезвычайно полезно, если сценарий остановится, и вам нужно возобновить. Просто перезапустите сценарий и установите
min_message_id
до последнего загруженного удостоверения личности - экспорт забрает оттуда.
Как это выглядит
.json
Файл с метаданными сообщениями и идентификаторами- Скачанные медиа: фотографии, видео, документы
- Простое отображение между идентификатором сообщения и файлом
Вы также можете использовать компаньонаresender.py
Скрипт, чтобы повторно сообщить о контенте в Telegram.
Уроки извлечены
- Телеграмма делаетВременно хранить удаленный контентдля групповых чатов
- ТыможетДоступ к этим данным через MTProto, если вы действуете в течение 48 часов
- Сценарии с использованием телетона и
GetAdminLogRequest
может скачать его - Частные чаты? К сожалению, нет возможности восстановить тех, кто когда -то удален
Репо
🛠 Проверьте инструмент
Открыто для вкладов, предложений или отчетов об ошибках!
Последние мысли
То, что началось как глупая ошибка, превратилось в глубокое техническое погружение - и удивительный успех. Я надеюсь, что этот инструмент поможет вам, если вы когда -нибудь окажетесь в подобной ситуации.
Есть вопросы? Дм
И, эй - может быть, вернись твои любимые чатысегодня, на всякий случай.
Оригинал