A Python script that monitors university course availability and automatically registers for desired sections when seats become available.
This tool continuously checks course sections for availability changes and can automatically register you for courses when they open up. It sends notifications via Discord webhook and maintains session persistence to avoid timeouts.
- Real-time monitoring of course section availability
- Automatic registration when desired sections open
- Discord notifications for all availability changes
- Session keepalive to prevent timeout
- Support for course swapping and dropping
- Configurable check intervals with randomization
- Python 3.x
- Required packages:
requests,websocket-client - Valid TAMU Schedule Builder session cookies
- Discord webhook URL (optional, for notifications)
Edit the configuration variables at the top of the script:
USERID: Your Schedule Builder user ID (not your UIN)TERMCODE: Term code (e.g., '202611' for Spring 2026)DESIRED: Courses and sections you want to auto-registerTRACKED: All courses you want to monitorSWAP_MATRIX: Courses to drop when registering for desired sectionsCOOKIES: Your browser cookies from Schedule Builder session (you may have to download a seperate extension to see these)DISCORD_WEBHOOK: Discord webhook URL for notifications
- Log into TAMU Schedule Builder in your browser
- Extract cookies (
.AspNet.Cookiesand__RequestVerificationTokenare required) - Update the
COOKIESdictionary in the script - Configure your desired and tracked courses
- Run:
python script.py
The script will check for updates every 30-90 seconds and attempt to register when desired sections open.
- Cookies expire after periods of inactivity. The script includes keepalive functionality but may need to be restarted with fresh cookies.
- The script will automatically drop conflicting courses if specified in
SWAP_MATRIX. - Monitor the Discord channel or console output for status updates and errors.
- Too many failures will cause the script to stop automatically.
Use script responsibly. Some of this project was created with the assist of Claude AI