Buscar

Ferramentas

python-telegram-bot

Biblioteca Python assíncrona para criar bots do Telegram, com classes prontas para comandos, webhooks e tarefas agendadas, para quem já programa em Python.

  • Desenvolvimento
python-telegram-bot

O python-telegram-bot dá a quem programa em Python uma interface completa para a Bot API do Telegram. A biblioteca é assíncrona e traz, no submódulo telegram.ext, classes de alto nível para tratar comandos, agendar tarefas e receber mensagens. O projeto acompanha a versão 10.0 da Bot API.

Para que serve

  • Mandar alertas de um sistema interno para um grupo ou para uma pessoa no Telegram.
  • Responder comandos como /status com dados tirados de uma planilha ou de um banco.
  • Receber atualizações por polling ou por webhook, conforme o servidor que você tem.
  • Agendar mensagens recorrentes com o JobQueue, baseado no APScheduler.
  • Controlar o ritmo de envio com o AIORateLimiter.

Como começar

Com Python 3.10 ou mais novo, instale pelo pip:

pip install python-telegram-bot --upgrade

Recursos opcionais entram como extras, como webhooks e job-queue. Antes do código, crie o bot conversando com o @BotFather no Telegram; ele devolve o token de acesso. Guarde esse token numa variável de ambiente ou num cofre de segredos, fora do código versionado, porque quem tem o token controla o bot. A pasta de exemplos indica o echobot.py como ponto de partida. Se o bot for receber eventos por webhook, o guia sobre como funcionam os webhooks mostra o que acontece do lado do servidor.

Licença e custo

O repositório guarda dois arquivos de licença, GPL-3.0 e LGPL-3.0, e o README, o pyproject.toml e o site confirmam que vale a LGPL-3.0. Seu aplicativo que só importa a biblioteca pode ter a licença que você escolher. Se você modificar a biblioteca, ou ligar código a ela estaticamente, e redistribuir o resultado, essa obra derivada precisa sair em LGPL-3.0, com as mudanças descritas. Ninguém cobra pelo uso, e os mantenedores avisam que não aceitam doações.

Quando vale a pena

Rotinas em Python que precisam mandar avisos ou fazer um atendimento simples pelo Telegram se resolvem com pouco código nesta biblioteca. O aiogram é outra opção assíncrona em Python; se a equipe trabalha em JavaScript, procure uma biblioteca de Node.js.