J'ai ouvert mon application Telegram apres plusieurs mois d'inactivité, je me suis rendu compte que j'ai un grand nombre d'echange et de groupes dont je ne connais meme pas ou dont j'ai été ajouté automatioquement je me suis rendu dans les parametre ou j'ai défini l'action de geste de glissement d'échange pour supprimer l'échange, mais je me suis vite rendu compte que j'été en train d'effectuer une tâche répétitive, en plus j'ai vraiment pas de temps à perdre j'ai au moins plus 500 échange, et je ne souhaite en garder que quelques uns, j'ai pas non plus envie de changer de compte ni de perdre certains échanges en supprimante compte. Je me suis posé la question : comment résoudre ça avec python ?
J'ai fais mes recherches concernant la creation de Bot Telegram avec Python, et je suis tomber sur la bibliotheque Telethon. Une bibliothèque Python qui utilise l'API MTProto de Telegram. Elle permet de gérer son compte comme si on était dans l'appli, on peut :
- Lister tous les echanges
- Supprimer les échanges
- Envoyer/recuper des message
Quasiment tout ce qui est possible depuis l'application Telegram lui meme. C'est alors que j'ai écrit ce script qui m'a permis en quelques seconds, et avec quelque lignes de code, de supprimer instantanément plus 500 exchanges en direct, ce qui impression, ce que j'ai gardé l'application Telegram ouvert sur mon Windows, et j'assiste au spectacle, les échange sont supprimé en direct, je le vois depuis l'application, elle disparaissent une a une sous mes yeux.
C'est ce qui me plait avec Python, sa polyvalence, et surtout en terme d'automatisation, ça, c'est n'est qu'un script, mais les possibles qu'offre Python vont au delas.
- Python >= 3.8
- Un compte Telegram actif
- Les clés API Telegram (
API_IDetAPI_HASH)
Rendez-vous sur https://my.telegram.org et connectez-vous avec votre numéro de téléphone au format international : +22700000000
- Cliquez sur "API development tools"
- Remplissez le formulaire (nom et plateforme quelconques)
- Récupérez votre App api_id et App api_hash
git clone https://github.com/Carbouba/Telegram-API-MTProt-Automation.git
cd Telegram-API-MTProt-AutomationSur Windows :
python -m venv .venv
.venv\Scripts\activateSur Linux/macOS :
python3 -m venv venv
source venv/bin/activatepython -m pip install --upgrade pippip install telethon python-decoupleCopiez le fichier .env_example et renommez-le .env :
cp .env_example .envRemplissez vos vrais identifiants dans .env :
API_ID=remplacez_par_votre_api_id
API_HASH=remplacez_par_votre_api_hash
PHONE_NUMBER=+22700000000
⚠️ Ne partagez jamais votre fichier.env. Il est déjà inclus dans le.gitignore.
Lancez le script :
Sur Windows :
python main.pySur Linux/macOS :
python3 main.pyLors du premier lancement, Telegram vous enverra un code de vérification par SMS. Saisissez-le dans le terminal. Une fois authentifié, un fichier session.session est créé — vous n'aurez plus à ressaisir votre numéro.
- Ce script agit sur votre vrai compte Telegram
- La suppression d'un échange est irréversible
- Un délai de 5 secondes est imposé entre chaque suppression pour éviter le blocage par Telegram (
FloodWaitError) - Utilisez ce script de manière responsable et conformément aux conditions d'utilisation de Telegram
Le code permettant de supprimé les echanges est commenté, vous pouvez le decommenté si vous le voulez.
Pour commencé, utilisez ce code pour obtenir vos propres informations pour confirmé la connexion
me = await client.get_me()
Pour plus de detail sur les methodes, visitez la doc officielle
Telegram-API-MTProt-Automation/
├── main.py # Script principal
├── .env # Variables d'environnement (non versionné)
├── .env_example # Modèle de configuration
├── .gitignore # Fichiers exclus de Git
├── requirements.txt # Dépendances Python
└── README.md # Documentation
Boubacar Sani — GitHub