Como Enviar Notificações via Telegram com Python: Substituindo o Pushover

Recentemente fiz um treinamento que usava o Pushover, no entanto a minha versão trial já tinha passado. O Telegram, com sua API, nos permite ter um serviço tão bom quanto.

Se você já usou o serviço Pushover para enviar notificações push em seus projetos Python, talvez queira experimentar uma alternativa gratuita e muito popular: o Telegram. Neste artigo, vou mostrar como substituir o envio de notificações via Pushover por notificações via Telegram usando um bot.

Por que usar Telegram?

  • É gratuito e amplamente usado.
  • Permite enviar mensagens para usuários, grupos e canais.
  • Fácil de configurar com bots.

Passo 1: Criar um Bot no Telegram

  1. Abra o Telegram e procure pelo usuário @BotFather.
  2. Envie o comando /newbot e siga as instruções para criar seu bot.
  3. Anote o token do bot fornecido, que será usado para autenticar suas requisições.

Passo 2: Obter o chat_id

Para enviar mensagens, você precisa do chat_id do usuário ou grupo que receberá as notificações. Uma forma simples de obter isso é:

  1. Envie uma mensagem para o seu bot.
  2. Use a API do Telegram para obter as atualizações e identificar o chat_id.

Exemplo de URL para obter atualizações:

https://api.telegram.org/bot<SEU_TOKEN>/getUpdates

Substitua <SEU_TOKEN> pelo token do seu bot e acesse no navegador. Procure pelo campo "chat":{"id":...}.

Passo 3: Código Python para enviar notificações

Aqui está um exemplo simples de código para enviar notificações via Telegram:

import os
import requests

telegram_token = os.getenv("TELEGRAM_TOKEN")
telegram_chat_id = os.getenv("TELEGRAM_CHAT_ID")
telegram_url = f"https://api.telegram.org/bot{telegram_token}/sendMessage"

def push(text: str):
    payload = {
        "chat_id": telegram_chat_id,
        "text": text
    }
    response = requests.post(telegram_url, data=payload)
    if response.status_code == 200:
        print("Notificação enviada com sucesso!")
    else:
        print("Falha ao enviar notificação:", response.text)

if __name__ == "__main__":
    push("Mensagem de teste do bot Telegram!")

Passo 4: Testar a notificação

  • Defina as variáveis de ambiente TELEGRAM_TOKEN e TELEGRAM_CHAT_ID no seu sistema.
  • Execute o script e verifique se a mensagem chegou no Telegram.

Código Implementado no Projeto Real

Se quiser ver o código implementado na prática, tenho um projeto de chat com LangGraph disponível no GitHub: https://github.com/dhelly/chat-smartweb-agent.

Conclusão

Substituir notificações via Pushover por Telegram é simples e eficiente. Além disso, o Telegram oferece uma plataforma robusta para expandir suas funcionalidades com bots.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *