Visite nossa página »
Web Crawler
·
Alerta
·
API de Mensageiros
O projeto Lino é um bot que visa orientar, alertar e tirar dúvidas a respeito dos assuntos mais procurados na Universidade de Brasília - Campus FGA. Para apoio ao Bot, um painel de controle de métricas que acompanha sua eficiência durante seu uso em produção.
Como principais funcionalidade, tem-se:
O Lino se encontra nas plataformas Facebook Mensseger e Telegram
- Alerta do cardápio (semanal, diário e por refeição);
- Alerta de emails enviados pelos dos funcionário do campus;
- Explicações das documentações mais procuradas.
As políticas de branches, commits, pull requests e issues se encontram aqui
Dependências
- Docker
- Docker-compose
- Ngrok
Para começar a desenvolver precisamos fazer algumas alterações no código para que funcione localmente.
-
Crie um bot para teste conversando com o @BotFather.
-
Agora altere os valores das seguintes variáveis de ambiente no docker-compose, com as credenciais do seu bot.
# Para rodar no telegram altere as seguintes
# variáveis nos serviços Lino e Actions
- TELEGRAM_ACCESS_TOKEN=<TOKEN_GERADO_PELO_BOTFATHER>
- VERIFY=<@USUÁRIO_DO_BOT_NO_TELEGRAM>
- TELEGRAM_DB_URI=mongodb://mongo_lino:27010/lino_telegram
# Ou utilize o banco que desejar
- TELEGRAM_DB_URI=<BANCO_QUE_DESEJAR>
OBS 1: Altere as variáveis necessárias no serviço do cronjob.
- Comente as linhas que dizem respeito à variáveis do serviço do Messenger em todos os serviços.
# - FACEBOOK_DB_URI
# - PSID
# - FACEBOOK_ACCESS_TOKEN
# - SECRET
-
Para conectar com o Telegram, você vai precisar gerar uma URL com certificado. Para isso, nós utilizamos o Ngrok (necessário instalá-lo).
-
Agora rode o seguinte comando para expor a porta e gerar o certificado para nosso webhook.
# Gera a URL com certificado (https)
./ngrok http <PORTA_BOT>
- Substitua o valor da variável no serviço Lino.
# Altere o valor da variável seguinte
- WEBHOOK_URL=<URL_HTTPS/webhooks/telegram/webhook
- Rode o seguinte comando para finalizar e desfrutar do seu bot
sudo docker-compose up
- Agora está tudo certinho pra você começar a desenvolver e testar o seu bot :)
Para facilitar a troca de variáveis no ambiente existe um script na pasta scripts/ que vai te ajudar.
Para utilizar basta usar o comando:
python3 scripts/setup_env.py
Para testar as alterações feitas no Lino, execute os seguintes comandos no terminal:
- Crie a imagem do Lino:
sudo docker build -t lino .
- Inicialize o container:
sudo docker run --rm -it -p 5002:5002 -v $PWD:/2018.2-Lino lino
- Agora basta testar as novas alterações pelo terminal.
Lino é distribuído sob a licença GPLv3. Consulte LICENSE para obter detalhes.