Imagine receber uma mensagem no seu celular assim que a WEG (WEGE3) cair abaixo de R$ 35,00 ou quando a Petrobras (PETR4) anunciar um novo dividendo.
Neste tutorial, vamos construir um Bot de Telegram simples usando Python que monitora preços de ações em tempo real utilizando a API da brapi.dev e te avisa quando oportunidades surgirem.
Pré-requisitos
- Python instalado.
- Uma conta no Telegram.
- Bibliotecas Python:
requestsepython-telegram-bot.
pip install requests python-telegram-botPasso 1: Criando o Bot no Telegram
- Abra o Telegram e busque por @BotFather.
- Envie o comando
/newbot. - Dê um nome e um username para seu bot (ex:
MeuBrapiAlertBot). - O BotFather vai te dar um TOKEN (ex:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11). Guarde-o.
Passo 2: O Código do Monitoramento
Vamos criar um script bot.py que verifica o preço a cada X segundos.
import time
import requests
import asyncio
from telegram import Bot
TELEGRAM_TOKEN = "SEU_TELEGRAM_TOKEN_AQUI"
CHAT_ID = "SEU_CHAT_ID_AQUI" # Vamos descobrir isso no próximo passo
BRAPI_TOKEN = "SEU_BRAPI_TOKEN_AQUI"
# ALVOS (Ticker: Preço Alvo de Compra)
ALVOS = {
"WEGE3": 35.00,
"PETR4": 38.50,
"VALE3": 60.00
}
async def enviar_alerta(mensagem):
bot = Bot(token=TELEGRAM_TOKEN)
await bot.send_message(chat_id=CHAT_ID, text=mensagem)
def verificar_precos():
tickers = ",".join(ALVOS.keys())
url = f"https://brapi.dev/api/quote/{tickers}"
params = {'token': BRAPI_TOKEN}
try:
response = requests.get(url, params=params)
data = response.json()
for stock in data.get('results', []):
symbol = stock['symbol']
preco_atual = stock['regularMarketPrice']
preco_alvo = ALVOS.get(symbol)
print(f"Monitorando {symbol}: R$ {preco_atual} (Alvo: {preco_alvo})")
if preco_atual <= preco_alvo:
msg = f"🚨 OPORTUNIDADE! 🚨\n\n{symbol} caiu para R$ {preco_atual}!\nPreço Alvo era: R$ {preco_alvo}"
asyncio.run(enviar_alerta(msg))
# Remover do monitoramento para não spamar
del ALVOS[symbol]
except Exception as e:
print(f"Erro ao buscar dados: {e}")
# Loop Infinito (Verifica a cada 5 minutos)
if __name__ == "__main__":
print("🤖 Bot Iniciado...")
while True:
verificar_precos()
if not ALVOS:
print("Todos os alvos atingidos. Encerrando.")
break
time.sleep(300) # 300 segundos = 5 minutosPasso 3: Descobrindo seu Chat ID
Para o bot te enviar mensagem, ele precisa saber seu "endereço" (Chat ID).
- Mande uma mensagem qualquer para o seu bot no Telegram.
- Acesse no navegador:
https://api.telegram.org/bot<SEU_TOKEN>/getUpdates - Procure por
"chat": {"id": 123456789, ...}no JSON retornado. - Substitua o
123456789na variávelCHAT_IDdo código acima.
Passo 4: Rodando o Bot
python bot.pyPronto! Deixe o terminal aberto (ou rode em um servidor na nuvem) e vá viver sua vida. O bot vai te avisar quando o preço chegar onde você quer.
Evoluindo o Projeto
Este é um exemplo básico. Você pode melhorar seu bot para:
- Comandos: Aceitar comandos como
/adicionar WEGE3 34.00direto pelo chat do Telegram (usandotelegram.ext). - Notícias: Monitorar não só preços, mas variações bruscas (>5% no dia).
- Hospedagem: Colocar o script para rodar 24/7 no Heroku, AWS ou Google Cloud.
A automação é a melhor amiga do investidor inteligente. Com a brapi.dev, os dados estão na sua mão.
