Introduction
- Cet article vous guide pour remplacer le backend HTTP de
python-telegram-bot,httpx, paraiohttp.httpxetaiohttpsont des bibliothèques utilisées pour effectuer des requêtes HTTP. - Avant de commencer, assurez-vous d’avoir Python et la bibliothèque python-telegram-bot installés dans votre environnement. Consultez la commande d’installation de python-telegram-bot ci-dessous.
Changement de bibliothèques
Installation
- Tout d’abord, vous aurez besoin d’une bibliothèque qui offre une classe pour gérer les requêtes effectuées vers Telegram. Installez
ptbcontribavec son extraaiohttp_request, qui installe aussiaiohttp:
- Ajoutez les mêmes dépendances à votre
requirements.txt, pour que Square Cloud les installe pendant le déploiement :
requirements.txt
Changement de httpx vers aiohttp
- Ensuite, nous devons importer
AiohttpRequestdans le fichier où nous instancierons notre client bot.
- Cette classe gérera toutes les requêtes vers Telegram à la place du
httpxpar défaut. AiohttpRequestsera utilisée dans l’instance du client PTB comme dans les exemples ci-dessous. Les deux lisent le token du bot depuis la variable d’environnementTELEGRAM_BOT_TOKEN: il n’entre donc jamais dans votre code :
Exécuter sur Square Cloud
Créez un fichiersquarecloud.app à la racine de votre projet. Pour un bot dont le fichier principal est main.py :
squarecloud.app
TELEGRAM_BOT_TOKEN : dans la Configuration avancée du formulaire d’envoi, sur la page Variables d’environnement de l’application (puis redémarrez le bot), ou depuis la CLI :
Pourquoi effectuer ce changement ?
- Le backend
httpxpar défaut peut lever de fréquentes exceptionsNetworkError, commeReadError, dans les bots qui interrogent Telegram pendant de longues périodes. Passer àaiohttpest une façon courante de les faire disparaître. - Si votre bot fonctionne sans ces erreurs, vous n’avez pas besoin de ce changement.
Prochaines étapes
Bot Telegram
Créez, déployez et testez un bot Telegram de zéro.
Variables d'environnement
Gérez le token de votre bot et vos autres secrets.
L'application ne démarre pas
Corrigez ModuleNotFoundError et les autres échecs au démarrage.
Avez-vous aimé cet article ?
- Nous avons créé ce contenu avec le plus grand soin afin d’offrir la meilleure aide possible. Si cet article vous a aidé d’une quelconque manière, soutenez notre travail ! Les développeurs ont déjà noté Square Cloud 4,9/5 sur 402 avis sur Google et Trustpilot, laissez le vôtre aussi ! Cela nous aide à comprendre ce qui compte le plus pour vous.
Google Reviews
Laissez votre avis sur Google Reviews.
Trustpilot
Laissez votre avis sur Trustpilot.

