/BakaBot

Discord Bot and Web Scraper for the Czech online schooling system "Bakaláři"

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

BakaBot

Discord Bot and Web Scraper for the Czech online schooling system "Bakaláři".
Receive instant updates on new grades and schedule changes directly in your Discord!

Note:

This application wasn't initially designed for seamless integration with different Bakaláři instances.
You might need to adjust a few variables to adapt it to your specific school version:

Subjects in this file:

  • constants.py

And urls in these:

  • grades.py
  • schedule.py
  • utils.py

Usage examples

  • 📅 Get immediate Discord notifications for any changes detected in your school schedule

    • View changes presented in user-friendly HTML/CSS generated images using Pyppeteer
  • 📚 Stay informed about your latest grades 💀

image image

  • ☀️ Receive daily morning notifications about the day's schedule

image

  • ⏰ Get notifed about the upcoming lessons

image

  • 🌐 Keep track of Bakaláři server's online status

image

  • 📆 Use the /schedule command to get the schedule for any specific day

image

Instalation

  1. Clone the repository
  2. Setup your .env file from .env.example
    • Guide on how to get the YOUR DISCORD TOKEN can be found here.
      • Aditionally you have to turn on all three options under "Privileged Gateway Intents" which can be found under the Bot option on left hand side.
    • Guide on how to get the YOUR DISCORD ID can be found here.
  3. Create a virtual environment (not required, but well recommended)
python -m venv env
  1. Start the virtual environment
env\Scripts\activate.bat
  1. Install all dependencies
pip install -e .
  1. Install Playwright
playwright install
  1. Start the bot
python src/BakaBot/main.py