to be written in the future
Below is a list of commands that the bot supports:
-
!studyor!start
Start a study session. The bot will log the time you started studying and send a confirmation message. -
!stopor!end
End your current study session. The bot will calculate the total time you spent studying and send a summary, including a fun GIF based on the duration.
- Greetings
The bot responds to various greetings such as:hello,hi,hey,greetings,good morning,good afternoon,good evening,good night,howdy,sup,what's up,yo, etc.
The bot detects and responds to inappropriate language with a sarcastic or disapproving message.
Make sure you have Python installed. You can download it from python.org.
Python 3.10 is prefered, but any 3.x version should work.
git clone https://github.com/abstract-inf/discord-study-bot.git
cd discord-study-bot-main # could be different for you python -m venv venv # Create a virtual environment
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windowspip install -r requirements.txtCreate a .env file and add the required keys:
TOKEN=your-bot-tokenyou can get your keys from the Discord API by creating an application and following the steps https://discord.com/developers/applications
you can change the bot texting channel by going to the main.py file and changing channel_logs_name = 'bot channel name'
To run the bot run the following command:
python main.pyThis project is still in it's early stages and more features are expected to be added such as:
- saving logs into
csvfiles. - being able to call a command
!topto make a visualization of the members' that studied the most during the week (e.g., using Matplotlib). - integratting Large Language Models into this bot (e.g., ChatGPT or DeepSeek).
- being able to set study hours goals to hit during the day.
- the ability to check if the user is still studying and has not left his PC while studying hours are still counting.
- the ability to pause the timer and resume it later during the same day.
Feel free to fork this project and submit pull requests!