Este bot permite gerenciar o estoque através do Telegram.
-
Criar um bot no Telegram:
- Converse com @BotFather no Telegram
- Use o comando
/newbot - Escolha um nome e username para seu bot
- Copie o token fornecido
-
Configurar variáveis de ambiente:
Edite o arquivo
.enve adicione seu token do bot:TELEGRAM_BOT_TOKEN=seu_token_aqui
-
Instalar dependências:
pip install -r requirements.txt
-
Iniciar os serviços de banco (PostgreSQL e Redis):
# No Linux make docker-up # No Windows docker-compose up -d
-
Executar o bot:
# No Linux make telegram # No Windows python bot_main.py
/start- Inicia o bot e mostra instruções/identificar <seller_id>- Se identifica como seller (ex:/identificar luizaLabs)/help- Mostra lista de comandos
/adicionar <sku> <quantidade>- Adiciona/incrementa produto no seu estoque/consultar <sku>- Consulta quantidade de um produto seu/atualizar <sku> <quantidade>- Define quantidade exata do produto/remover <sku>- Remove produto do seu estoque
/estoque_baixo- Lista seus produtos com estoque baixo (≤ 15 unidades)/listar- Lista todos os seus produtos no estoque/config- Mostra configurações do sistema (limite de estoque baixo, versão, etc.)
/start
/identificar luizaLabs
/adicionar PRODUTO123 50
/consultar PRODUTO123
/atualizar PRODUTO123 100
/remover PRODUTO123
/listar
/estoque_baixo
/config
- 🔐 Sistema de Identificação: Cada usuário se identifica com seu seller_id único
- 🛡️ Isolamento por Seller: Cada seller só pode ver e modificar seus próprios produtos
- 📦 Gestão Completa: Adicionar, consultar, atualizar e remover produtos
- 📊 Relatórios Personalizados: Estoque baixo e listagem apenas dos seus produtos
- ✅ Validações: Verifica parâmetros e permissões antes de executar operações
- 🔧 Diagnóstico: Comando para verificar se o sistema está funcionando
- 💾 Persistência: Dados salvos em PostgreSQL com histórico de movimentações
- Limite padrão: 15 unidades ou menos
- Configurável: Pode ser alterado no arquivo
app/settings/app.py - Campo:
low_stock_threshold - Verificação: Use
/configpara ver o valor atual
- Edite
app/settings/app.py - Altere a linha:
low_stock_threshold: int = Field(default=15, ...) - Reinicie o bot
- ✅ Identificação obrigatória antes de usar qualquer comando
- ✅ Isolamento total - sellers só veem seus próprios produtos
- ✅ Validação automática - sistema impede acesso cruzado
- ✅ Sessão por chat - cada conversa tem sua própria identificação
- Primeiro acesso: Usuario deve usar
/identificar seller_id - Comandos protegidos: Todos os comandos de estoque verificam autenticação
- Filtragem automática: Sistema filtra apenas produtos do seller logado
- Sessão persistente: Identificação mantida durante toda a conversa
bot_main.py- Arquivo principal recomendado para executar o botapp/integrations/bots/telegram_bot.py- Comandos e lógica do bot
- ✅ Solução: Certifique-se de que PostgreSQL está rodando (
start_services.bat)
- ✅ Solução: Corrigido na versão atual do bot
- ✅ Verifique se o
TELEGRAM_BOT_TOKENestá correto no.env - ✅ Verifique se os serviços estão rodando:
docker ps
# Verificar containers Docker
docker ps
# Deve mostrar:
# - pc-postgres (PostgreSQL)
# - redis