The goal of our project was to generate a Discord bot (his name is Felix) that responds to certain statements within a Discord channel. Essentially, you can run vagrant up
and this will start Felix and run his corresponding script. Once that occurs, Felix will be awake and ready to respond within the channel, based on certain keywords or phrases that others write. We are also hosting the project in Heroku's cloud platform. Felix is automatde in the sense that when you run vagrant up
, he is awake and ready to respond in the channel, and the project is hosted within Heroku's cloud platform automatically.
There are a few initial set up aspects you must do before running either locally or virtually.
- Create a .env file
nano .env
- Add Discord api key in the .env file
API_KEY=[insert key here]
, to save and exit: control X, Y, enter - Lastly, you need to make sure the Discord certificate is installed correctly on your machine. Paste this in terminal:
sudo /Applications/Python\ 3.9/Install\ Certificates.command ; exit; -- pip install --upgrade certifi
. However, if you are running a different version of python, say 3.7, replace the3.9
with3.7
. To check your version, runpython --version
from your root directory.
Be sure the three steps above are completed first!
- Create a virtual environment
python -m venv .venv
- Activate the virtual environment
source .venv/bin/activate
- Install requirements
pip install -r requirements.txt
- Run the script
python bot.py
Be sure the three steps above are completed first!
- Run
vagrant up
- that's it!
To shutdown the machine, run vagrant destroy -f
.
- $good bot - Returns a cat smiling png file (will also return this file if a message contains 'good bot')
- $bad bot - Returns a sad face (will also return this file if a message contains 'bad bot')
- $mood - Returns a random png with Felix's possible mood at the time
- $hello - Returns a Hello {Your Name}!
- $kanye - Returns a random quote by accessing the kanye.rest API.
- Colby Hillman (ColbyHman)
- Trae Freeman (MrTsfree)
- Kylie Norwood (kylienorwood)
- Jarod Frekot (Jarod-Frekot)