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.
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
- Vá para
- Faça login com seu telefone
- Navegar para Ferramentas de desenvolvimento da API
- Salve o seu
api_id
eapi_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:
- Apenas texto
- Apenas mídia
- Texto e mídia
Você também pode especificar:
- Um intervalo de mensagens (
min_message_id
Assim,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 chatmax_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.