Skip to main content

Introduzione

  • Questo articolo ti guida nel cambiare il backend HTTP di python-telegram-bot da httpx ad aiohttp. httpx e aiohttp sono librerie utilizzate per effettuare richieste HTTP.
  • Prima di iniziare, assicurati di avere Python e la libreria python-telegram-bot installati nel tuo ambiente. Controlla il comando di installazione di python-telegram-bot qui sotto.

Cambiare le librerie

Installazione

  • Per prima cosa, ti serve una libreria che offra una classe per gestire le richieste effettuate a Telegram. Installa ptbcontrib con il suo extra aiohttp_request, che installa anche aiohttp:
  • Aggiungi le stesse dipendenze al tuo requirements.txt, così Square Cloud le installa durante il deploy:
requirements.txt

Cambiare httpx in aiohttp

  • Successivamente, dobbiamo importare AiohttpRequest nel file in cui istanzieremo il client del nostro bot.
  • Questa classe gestirà tutte le richieste a Telegram al posto del httpx predefinito.
  • AiohttpRequest verrà utilizzato nell’istanza del client PTB come negli esempi qui sotto. Entrambi leggono il token del bot dalla variabile d’ambiente TELEGRAM_BOT_TOKEN, così non finisce mai nel tuo codice:

Esecuzione su Square Cloud

Crea un file squarecloud.app nella radice del tuo progetto. Per un bot il cui file principale è main.py:
squarecloud.app
Poi imposta il token come variabile d’ambiente TELEGRAM_BOT_TOKEN: in Advanced configuration del modulo di upload, nella pagina Environment Variables dell’applicazione (poi riavvia il bot) o dalla CLI:
Consulta Variabili d’ambiente per i dettagli, e il tutorial sul bot Telegram per la guida completa al deploy.

Perché fare questo cambiamento?

  • Il backend predefinito httpx può sollevare frequenti eccezioni NetworkError, come ReadError, nei bot che interrogano Telegram in polling per lunghi periodi. Passare ad aiohttp è un modo comune per farle smettere.
  • Se il tuo bot gira senza questi errori, non ti serve questo cambiamento.

Prossimi passi

Bot Telegram

Crea, pubblica e prova un bot Telegram da zero.

Variabili d'ambiente

Gestisci il token del tuo bot e gli altri segreti.

L'app non si avvia

Risolvi ModuleNotFoundError e altri errori di avvio.

Ti è piaciuto questo articolo?

  • Abbiamo creato questo contenuto con grande cura per offrirti il miglior aiuto possibile. Gli sviluppatori hanno già valutato Square Cloud 4,9/5 su 402 recensioni su Google e Trustpilot: lascia anche tu la tua! Ci aiuta a capire cosa conta di più per te.

Google Reviews

Lascia la tua recensione su Google Reviews.

Trustpilot

Lascia la tua recensione su Trustpilot.