Skip to main content

Introduction

  • Cet article vous guide pour remplacer le backend HTTP de python-telegram-bot, httpx, par aiohttp. httpx et aiohttp sont 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 ptbcontrib avec son extra aiohttp_request, qui installe aussi aiohttp :
  • 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 AiohttpRequest dans le fichier où nous instancierons notre client bot.
  • Cette classe gérera toutes les requêtes vers Telegram à la place du httpx par défaut.
  • AiohttpRequest sera 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’environnement TELEGRAM_BOT_TOKEN : il n’entre donc jamais dans votre code :

Exécuter sur Square Cloud

Créez un fichier squarecloud.app à la racine de votre projet. Pour un bot dont le fichier principal est main.py :
squarecloud.app
Définissez ensuite le token comme variable d’environnement 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 :
Consultez Variables d’environnement pour les détails, et le tutoriel du bot Telegram pour le déploiement complet pas à pas.

Pourquoi effectuer ce changement ?

  • Le backend httpx par défaut peut lever de fréquentes exceptions NetworkError, comme ReadError, dans les bots qui interrogent Telegram pendant de longues périodes. Passer à aiohttp est 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.