Giter Club home page Giter Club logo

projetochatbot's Introduction

Documentation Status Build Status codecov Maintainability

ProjetoChatbot

O que é

Chatbots são agentes de inteligência artificial, hospedados em softwares de mensagem, ativados pela fala oral ou escrita e capazes de gerar respostas na forma de diálogo com o usuário (Radziwill & Benton, 2017).

O objetivo é desenvolver um chatbot (isto é, um programa interativo que produz diálogos automáticos, ex.: Joy, Cleverbot etc.), tendo em vista a garantia e a manutenção da saúde mental da comunidade universitária, junto a uma extensa rede de apoio.

Como contribuir

Uma vez configurado o ambiente (detalhes mais abaixo). Deve-se criar uma branch local e a partir dela efetuar todas as modificações a serem feitas. Preferencialmente cada branch deve focar em uma única funcionalidade.

Exemplo: a branch update_readme tem como função atualizar o README.md (este arquivo) e portanto deve conter apenas modificações no arquivo README.md.

Para mais modificações, deve-se abrir outra branch e nomeá-la de acordo. Uma vez concluídas todas as modificações, deve-se abrir uma Pull Request e esperar (ou solicitar) uma revisão feita por outra pessoa.

O reviewer deverá verificar se os testes no Travis CI passaram, qual a porcentagem de cobertura de testes, se a nova funcionalidade está sendo testada e se a funcionalidade condiz com oque está sendo demandado na iteração vigente.

Ferramentas a instalar

Configurando o ambiente de desenvolvimento

Deve-se primeiro criar um ambiente virtual

python3 -m venv venv

Depois deve-se instalar os pacotes contidos no requirements.txt. Caso você tenha o make instalado, use make install, caso contrário:

pip install -r requirements.txt

Como fazer o bot funcionar

Deve-se primeiramente gerar um token utilizando o @botfather. Abra o Telegram e procure por @botfather. Inicie o diálogo, envie o comando /newbot e siga as instruções fornecidas. Ao final do diálogo, será informado um token, este token permitirá receber e enviar mensagens ao bot que acabou de ser criado. Também é informado o link para a documentação que serve de referência para a construção de bots para o Telegram: Bot API

Uma vez tendo em mão o token do bot, deve-se criar um arquivo chamado config.ini na pasta bot. O arquivo terá a seguinte estrutura:

[DEFAULT]
token={SEUTOKENGIGANTEAQUI}

Uma vez criado o arquivo, use make run para fazer o bot funcionar ou

python3 bot/application.py

Equipe Responsável

projetochatbot's People

Contributors

alexandrebarbaruiva avatar daniangelos avatar jeffersonlsz avatar marcellapantarotto avatar pyup-bot avatar tapumar avatar vinicius0197 avatar williamsimiao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

projetochatbot's Issues

Proof of concept da API Watson

Eu, como desenvolvedor,
Quero saber mais sobre a API Watson
Para poder melhorar a compreensão de sentimento do rabot

Triagem inicial

Passar um Json com o questionário da trigem inicial para o Telegram a fim de que, possa
ser usado para fazer as perguntas para o usuário. Dessa forma será viável a identificação
de possíveis sintomas apresentados do usuário.

Implementar Perguntas Coping

Iniciar a implementação no DialogFlow dos diálogos que se encontram na planilha aqui, na aba "Coping". As perguntas de cada seção (ex: confronto, afastamento, autocontrole, etc.), podem ser escolhidas, para o bot perguntar, de forma aleatória, pois todas as perguntas medem o mesmo conceito.

Reminder de diálogo

Eu, como usuário, QUERO poder escolher o intervalo com que recebo mensagens me lembrando de usar o bot.

Explicação sobre o que é o bot

Eu, como usuário, QUERO iniciar o bot e saber que ele é somente um bot, não uma pessoa ou algo que possa subtituir uma pessoa PARA continuar conversando com pessoas de verdade

Diálogo iniciado pelo bot com periodicidade

Eu, como usuário,
quero receber mensagens do bot com alguma frequência
para que eu possa ser lembrado de manter os diálogos diariamente, sem a necessidade de eu tomar iniciativa.

Migrar Makefile para o Invoke

Estamos utilizando o Makefile para limpar arquivos desnecessários e rodar os testes do projeto. É melhor fazer a migração para o Invoke, que é específico para Python.

Requisição sobre resumo da semana

Eu, como usuário, QUERO que o bot me peça para escrever o que deu certo durante a semana PARA que eu possa ser lembrado do que eu escrevi, em momentos posteriores.

Bot lembrar de diálogos

Eu, como usuário, QUERO que o bot se lembre que comecei o diálogo antes PARA que o bot se torne mais natural (evitando "ois" o tempo todo).

Mostrar gráfico de sentimentos registrados

Eu, como usuário,
Quero ser perguntado sobre como está meu estado emocional neste exato momento
Para que o bot possa armazenar esta informação e me mostrar um gráfico que informa meu estado emocional ao longo do tempo, com uma frequência a ser definida.

Melhorar documentação do Rabot

Adicionar seções:

  1. Como subir em um container Heroku
  2. Como instalar localmente
  3. Como pegar token do Telegram
  4. Como pegar token do Watson
  5. Contribuindo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.