Skip to main content

What is Bot Planning?

Bot Planning is a Discord bot designed to make class schedule management effortless. It automatically fetches scheduling data from Google Sheets and generates visual weekly planners that can be shared directly in Discord channels. Built for students and educators, this bot transforms raw spreadsheet data into color-coded, easy-to-read schedule images with a single command.

Key features

Google Sheets integration

Automatically pulls schedule data from Google Sheets in real-time using CSV export URLs

Visual schedule generation

Creates beautiful, color-coded schedule images with automatic pastel color assignment per subject

Discord slash commands

Simple /planning command to view current week or query specific dates

Docker deployment

Easy containerized deployment with environment variable configuration

Intelligent date parsing

Automatically handles week boundaries, holidays, and multi-month schedules

Subject code mapping

Maps course codes to full names (e.g., “UTC501” → “UTC501 : Maths”)

How it works

  1. Data source: The bot reads schedule data from a Google Sheets document exported as CSV
  2. Processing: It parses dates, maps course codes to readable names, and handles special cases like holidays
  3. Visualization: Using matplotlib, it generates a formatted table image with color-coded subjects
  4. Delivery: The image is sent directly to Discord in response to the /planning command
The bot intelligently handles edge cases like weekends, holidays (marked as “FERIE”), and weeks that span multiple months.

Tech stack

Bot Planning is built with:
  • Python 3.11 - Core programming language
  • discord.py - Discord API integration and slash commands
  • pandas - CSV parsing and data manipulation
  • matplotlib - Schedule image generation
  • Docker - Containerized deployment

Use cases

  • Student groups: Share weekly schedules automatically in Discord servers
  • Educational institutions: Provide real-time schedule access to students
  • Study groups: Coordinate meeting times based on class schedules
  • Personal planning: Quick access to your weekly schedule without opening spreadsheets

Next steps

Quickstart guide

Get your bot up and running in minutes

Configuration

Learn about environment variables and customization options

Build docs developers (and LLMs) love