Settore: Telegram · Servizio per un cliente
Telegram Chat Exporter — backup e archiviazione conversazioni
Tool Python realizzato per un cliente che esporta intere chat Telegram in un archivio HTML interattivo consultabile offline — con ricerca, media integrati e statistiche — oltre a un file di testo semplice.
- HTML + TXT
- Formati
- Download selettivo
- Media
- Offline
- Consultazione
Contesto
Telegram conserva le conversazioni sui propri server, ma chi ha bisogno di un archivio proprio — per backup, conservazione e riuso dei contenuti — non trova uno strumento flessibile: l’export nativo è rigido e poco filtrabile. Su richiesta di un cliente ho sviluppato un tool su misura che colma il vuoto via API ufficiali Telegram (MTProto), esportando qualsiasi chat, gruppo o canale a cui l’account partecipa.
Cosa fa
- Selettore interattivo da terminale: cerca per nome o username tra tutte le chat dell’account.
- Esporta in doppio formato: un file HTML autonomo che emula l’interfaccia di chat — avatar, riproduzione dei media inline, collegamenti tra risposte, reazioni, indice per giornata, barra di ricerca live, tema chiaro/scuro, pannello statistiche — e un TXT essenziale per archiviazione e grep.
- Download selettivo dei media: foto, video, vocali, sticker, documenti — flag combinabili, con i file organizzati in una cartella dedicata.
- Filtri di esportazione: intervallo di date, ricerca testuale, limite di messaggi, directory di output personalizzata.
Sfide tecniche
Rate limit e rispetto delle API. Telegram limita la frequenza delle richieste: l’export di chat con migliaia di messaggi deve dosare le chiamate per non incorrere in blocchi temporanei, restando nei termini d’uso della piattaforma.
Un HTML che è un’applicazione. Il file esportato non è un log statico: ricerca live, navigazione tra risposte e media inline funzionano senza server e senza connessione — tutto è incapsulato in un singolo file consultabile ovunque.
Robustezza contro un’API che evolve. La libreria client cambia attributi e strutture tra versioni (es. i metadati dei messaggi inoltrati): il parsing usa accessi difensivi per non rompersi su messaggi con strutture inattese.
Stack
Python · Telethon (MTProto API) · HTML/CSS/JS generato · CLI interattiva