Início Tecnologia Como eu recuperei mensagens e mídias de telegrama excluídas (e você também...

Como eu recuperei mensagens e mídias de telegrama excluídas (e você também pode)

3
0

 

Perder anos de história do telegrama por engano parecia um pesadelo. Veja como eu eu me engenharia o registro de administração do Telegram para trazer tudo de volta.

⚠️ Atenção: Este método funciona apenas para bate-papos e canais em grupo-não para conversas privadas individuais.


O acidente que começou tudo

Sobre 23 de setembro de 2024Cometi um erro catastrófico.

Eu acidentalmente excluí Todas as mensagens e mídia De um grupo de telegrama conversando com meus amigos íntimos – uma conversa que havia se espalhado três anosincluído milhares de arquivose mais 350.000 mensagens.

O telegrama te dá apenas cinco segundos Para desfazer uma exclusão. Eu perdi a janela.

” alt=”” aria-hidden=”true” />Gopher está infelizGopher está infeliz
Pânico. Arrependimento. Desespero.

Quem sou eu?

Oi eu sou Dmitrii gusevAssim, um desenvolvedor de front -end no Tijolos equipe em Avito. Este não é um post sobre o meu trabalho-trata-se de um desafio técnico muito pessoal que se transformou em uma mini-investigação, um projeto de código e, finalmente, uma recuperação bem-sucedida.

A recuperação é possível?

O Telegram não oferece nenhum método oficial para restaurar mensagens ou mídias excluídas do grupo. Sua ferramenta de exportação só funciona com existente Dados – não excluídos de conteúdo.

Mas eu encontrei uma pista: Ações recentes.

Se você é um administrador de um grupo ou canal, pode ver mensagens excluídas lá – mas Apenas por 48 horase não há botão de “restauração”.

Ainda assim, pensei:

Se o telegrama mostrar mensagens excluídas lá … elas devem ser armazenadas em algum lugar. Talvez eu possa tirá -los.

Digite: mtproto

O Telegram tem duas APIs principais:

  • API de bot – simplificado, seguro, limitado
  • Mtproto API – complexo, poderoso e sem documentos em partes

Eu percebi que a única maneira de acessar conteúdo excluído foi através Mtprotoespecificamente o GetAdminLogRequest método.

Encontrei um script antigo e de buggy em Github Gist Isso tentou isso. Não funcionou totalmente, mas me deu um ponto de partida.

Reescrevi e estendi o script. Aqui está o que minha ferramenta pode fazer agora:

  • [x]Extrato excluído mensagens de texto
  • [x]Download excluído arquivos de mídia
  • [x]Exportar dados para um limpo dump.json
  • [x](Opcionalmente) Reenviar Mensagens/mídia para um grupo de telegrama ou bate -papo

Eu usei TeleTonuma biblioteca Python para interagir com a API MTProto do Telegram.

Meus amigos e eu decidimos recuperar apenas arquivos de mídia – despejar 350 mil mensagens levaria dias.

O script durou ~ 8 horas. É baixado com sucesso Cada arquivo de mídia Excluído nessa limpeza acidental. Crise evitada.


Você pode tentar isso também. Aqui está o guia completo.

1. Instale o python3

Usuários de Mac: instale Homebrew Primeiro, depois Python 3.

Windows/Linux: use o site oficial.

Instalar Vscode ou outro IDE e configurar Python.

2. Clone o repo

Instale o git e clone o projeto:

git clone 
cd tg-message-lifeguard

3. (Opcional) Crie um ambiente virtual

python3 -m venv venv
source venv/bin/activate  # macOS/Linux
.\venv\Scripts\activate   # Windows

4. Instale dependências

pip install -r requirements.txt

5. Obtenha credenciais de telegrama

  1. Vá para
  2. Faça login com seu telefone
  3. Navegar para Ferramentas de desenvolvimento da API
  4. Salve o seu api_id e api_hash

Você também precisará do seu grupo ou ID interno do canal – siga as instruções do script para obtê -lo.

6. Execute o script de backup

python3 -m src.backup

Você será solicitado para:

  • api_id
  • api_hash
  • Seu número de telefone
  • ID de bate -papo do seu grupo

Observação: Você deve usar sua conta de telegrama pessoal, não um bot – os bots não têm acesso aos logs do administrador.

Você pode optar por exportar:

  1. Apenas texto
  2. Apenas mídia
  3. Texto e mídia

Você também pode especificar:

  • Um intervalo de mensagens (min_message_idAssim, max_message_id)
  • Seu grupo ou ID de canal (group_chat_id)

🔢 Como min_message_id e max_message_id trabalham:

Isso define o intervalo de mensagens para exportar:

  • min_message_id = 0 → Comece desde a primeira mensagem no chat
  • max_message_id = 0 → Exportar todas as mensagens disponíveis

Por exemplo:

min_message_id = 23456
max_message_id = 25673

Isso exportará apenas mensagens dentro desse intervalo, incluindo mídia.

8. Deixe -o correr

Arquivos e metadados serão salvos em uma pasta chamada backup_will_be_inside_me. Você pode interromper e retomar a qualquer momento – o script suporta retomar via ID da mensagem.

⚠️ Cada arquivo de mídia é salvo com seu ID de mensagem correspondente como o nome do arquivo. Isso é extremamente útil se o script parar e você precisar retomar. Basta reiniciar o script e definir min_message_id Para o último ID baixado – a exportação será retirada de lá.

Como é

  • .json Arquivo com metadados de mensagem e IDs
  • Mídia baixada: fotos, vídeos, documentos
  • Mapeamento fácil entre ID da mensagem e arquivo

Você também pode usar um companheiro resender.py Script para re-postar o conteúdo no Telegram.

Lições aprendidas

  • Telegrama faz O conteúdo excluído temporariamente da loja para bate -papos em grupo
  • Você pode Acesse esses dados via mtproto, se você agir dentro de 48 horas
  • Scripts usando telethon e GetAdminLogRequest pode baixá -lo
  • Bate -papos privados? Infelizmente, não há como recuperar aqueles que uma vez excluídos

O repo

🛠 Confira a ferramenta aqui.

Aberto a contribuições, sugestões ou relatórios de bugs!


Pensamentos finais

O que começou como um erro idiota se transformou em um profundo mergulho técnico – e um sucesso surpreendente. Espero que essa ferramenta ajude você se você se encontrar em uma situação semelhante.

Tem perguntas? Dm meu Ou deixe um comentário – feliz em ajudar.

E ei – talvez volte seus bate -papos favoritos hojeapenas no caso de.

fonte

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui