Pular para o conteúdo principal

Introdução

  • Este artigo te guiará em como trocar o httpx para aiohttp no python-telegram-bot. httpx e aiohttp são bibliotecas utilizadas para fazer requisições.
  • Antes de iniciarmos, tenha certeza de ter Python e a biblioteca python-telegram-bot instalada no ambiente. Confira o comando de instalação do python-telegram-bot.
pip install python-telegram-bot

Trocando as bibliotecas

Instalando

  • Primeiro, você precisa instalar a biblioteca que oferece a classe para manipular os requests feitos para o Telegram. Vamos instalar a ptbcontrib, use o comando abaixo:
pip install git+https://github.com/python-telegram-bot/ptbcontrib.git@main

Trocando httpx para aiohttp

  • Prosseguindo, precisamos importar o AiohttpRequest no arquivo que for instanciar o client do bot.
from ptbcontrib.aiohttp_request import AiohttpRequest
  • Essa classe irá lidar com as requisições no lugar do httpx.
  • AiohttpRequest será usado na instância do client do PTB como no exemplo abaixo:
import asyncio
import telegram
from ptbcontrib.aiohttp_request import AiohttpRequest


async def main():
    bot = telegram.Bot("TOKEN", request=AiohttpRequest(), get_updates_request=AiohttpRequest())
    async with bot:
        print(await bot.get_me())


if __name__ == '__main__':
    asyncio.run(main())

Por que fazer essa mudança?

  • Mudar a biblioteca do httpx para o aiohttp trará alguns benefícios:
  1. Performance: aiohttp é mais rápido que o httpx.
  2. Mitigar Erros: o httpx lança muitos erros como ReadError e outros NetworkErrors devido a suas configurações e velocidade.

Gostou desse artigo?

  • Criamos este conteúdo com o máximo de cuidado para oferecer a melhor ajuda possível. Se o artigo contribuiu de alguma forma, valorize nosso trabalho! Deixe sua avaliação e ajude-nos a entender o que é mais importante para você.