Skip to content
O chatbot da Secretaria Municial de Educação da Cidade de São Paulo. Parte integrante da aplicação PratoAberto
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
chatbots
cron
docs
tests
.gitignore
Dockerfile
LICENSE
README.md
api_client.py
docker-compose.dev.yml
docker-compose.yml
requirements.txt
subscriptions.py
webhooks.py

README.md

Maintainability

Edu

O Edu é o robô de atendimento virtual da SME.

Atualmente, o robô permite aos usuários:

  • saber o cardápio das escolas;
  • fornecer feedback sobre a refeição; e
  • se cadastrar para receber notificações

Arquitetura

arquitetura

Dependências

O Edu usa também:

Plataformas de chat

O edu suporta as seguintes plataformas:

Note que:

  1. Será necessário gerar tokens de acesso à plataforma que desejar suportar, e adicionar ao arquivo conf/bot.conf
  2. O facebook requer um certificado válido na máquina que receber o webHook

Coleções do mongodb

O Edu possui três coleções:

  • messages_meta, guarda informações das mensagens armazenadas nas filas
  • users, guarda informações dos perfis que já interagiram com o robo
  • chats, guarda informações sobre as interações dos usuários

Monitoria

O rabbitmq dispõe de um plugin de administração que também inclui uma interface web. Mais informações na documentação.

As filas de tarefa do Celery podem ser monitoradas através do flower.

Rodando localmente

  • Atualize conf/bot.conf com os apontamentos locais e tokens necessários e gerencie os status dos componentes com o supervisor (um arquivo de configuração está disponível em conf/supervisor.edu.conf)

  • Os webHooks podem ser servidos diretamente através do ngrok ou serveo. Com serveo: [PYTHON_ENV]/python webhooks.py e ssh -R 80:localhost:5001 serveo.net

  • A API serve os dados sobre escolas e refeições. Veja mais sobre a API no repositório do projeto.

  • Para executar o message broker: sudo rabbitmq-server start

  • Para executar os workers: [PYTHON_ENV]/celery -A chat_processor worker --loglevel=info

You can’t perform that action at this time.