New version of a Telegram bot to help students with psychological/emotional issues during their academic years on Universidade de Brasília (UnB)
This project is aimed at all students that suffer through their academic years and might need more help than it's usually provided.
This bot is expected to run on Telegram using RASA api. It's development team is composed of psychology, computer science and engineering students. The project started in 2017 with various steps to improve the student's knowledge to be capable of building a fully-fledged bot. Latest stable version is 2.0 on another repository. Currently at version 3.0 beta, the bot has greatly changed it's architecture.
Download this repository and go to it's folder
git clone {this repo}
cd {this repo}
Create a virtual environment, activate it and install it's requirements
Linux:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Windows:
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
Train the bot
rasa train
Run the bot on console
rasa shell
Firstly, install ngrok and create an account, we'll use it later.
Now open your credentials.yml
file and edit the telegram
part with your information.
telegram:
access_token: "274838550:AbGD_z9Z3G3ZLGzBL3bxAQxf1NS7l54sLjJ"
verify: "{your bot's name}"
webhook_url: "https://{ngrok's url}/webhooks/telegram/webhook"
Your access token you can get via botFather (either creating a bot or request your bot's token).
The webhook url will be provided by ngrok once you run ngrok http 5005
.
Be careful to not commit this part (mostly the access token). And when you do, change your access token via botFather
If you don't know RASA, start with their documentation. After that, you can add dialogues and improvements via Pull Request. Make sure that your Pull Requests are simple and have a clear purpose.
- Set up basic RASA bot
- Set up Heroku
- Set up CI/CD with Travis CI
- Verificar possíveis instituições parceiras
- Create simple dialog
- Create commands
-
/about
- Message about repository and team -
/help
- Message with emergency numbers -
/contact
- Message with all numbers available -
/joke
- Message with a simple joke to enlighten the day
-
- Contactar instituições (email, telefone, reunião, etc)
- Create first dialog from simulated environment
- Create method to detect negative emotions
- Create documentation with readthedocs
- Implementação de parceira Rabot & Instituição
- Create 3 new dialogs
- Create method to detect positive emotions
- Set up automatic deploy on Heroku to use in other Universities
- Feedback das instituições
- Create 5 more dialogs
- Create method to recognize individual emotional level
- Set up automatic deploy on Raspberry Pi
- Act on institution's feedback
- Battery of tests with students
- Battery of tests with institutions
- Improve documentation
- Battery of tests to find possible bugs and error prone dialogs
- Check if bot is fully-fledged
- Can maintain coherent dialog
- Can maintain entretaining dialog
- Can identify user's mood
- Can follow up on possible treatment
- Improve on 3.1.0 feedback
- Set up bot to work with Facebook Messenger
Obstacle: Open ended conversations, multiple choices Possibe solution: Narrow bot's questions and emulate possible answers