An automated tool to check course availability at McGill University and send notifications when courses become available.
This project provides a script that automatically checks the availability of specified courses at McGill University using GitHub Actions. When a course becomes available, it sends a notification via Pushover.
-
Fork this repository to your GitHub account.
-
Set up Pushover:
- Create a Pushover account at https://pushover.net/
- Create a new application in Pushover to get an API token
- Note down your User Key and API Token
-
Set up GitHub Secrets:
- Go to your forked repository on GitHub
- Navigate to Settings > Secrets and variables > Actions
- Add two new repository secrets:
PUSHOVER_USER_KEY
: Your Pushover User KeyPUSHOVER_API_TOKEN
: Your Pushover API Token
-
Configure courses:
- Edit the
config.json
file in the repository:{ "courses": ["COURSE1", "COURSE2"], "term": "YYYYMM" }
- Replace
"COURSE1"
,"COURSE2"
with the courses you want to check - Set the
"term"
to the desired semester (e.g., "202409" for Fall 2024)
- Edit the
-
Enable GitHub Actions:
- Go to the "Actions" tab in your forked repository
- You should see the "Check Course Availability" workflow
- Enable the workflow if it's not already enabled
Once set up, the GitHub Action will run automatically every 10 minutes to check course availability. You can also manually trigger the workflow:
- Go to the "Actions" tab in your repository
- Select the "Check Course Availability" workflow
- Click "Run workflow"
You will receive a Pushover notification when any of your specified courses become available.
- To change the check frequency, edit the cron schedule in
.github/workflows/course_check.yml
- To modify the script behavior, edit
register.py
This tool is for educational purposes only. The user is responsible for any consequences of using this script, including potential violations of McGill University's registration policies.