mirror of
https://github.com/Xevion/banner.git
synced 2025-12-05 23:14:20 -06:00
59 lines
2.0 KiB
Markdown
59 lines
2.0 KiB
Markdown
# Features
|
|
|
|
## Current Features
|
|
|
|
### Discord Bot Commands
|
|
|
|
- **search** - Search for courses with various filters (title, course code, keywords)
|
|
- **terms** - List available terms or search for a specific term
|
|
- **time** - Get meeting times for a specific course (CRN)
|
|
- **ics** - Generate ICS calendar file for a course with holiday exclusions
|
|
- **gcal** - Generate Google Calendar link for a course
|
|
|
|
### Data Pipeline
|
|
|
|
- Intelligent scraping system with priority queues
|
|
- Rate limiting and burst handling
|
|
- Background data synchronization
|
|
|
|
## Feature Wishlist
|
|
|
|
### Commands
|
|
|
|
- ICS Download (get a ICS download of your classes with location & timing perfectly - set for every class you're in)
|
|
- Classes Now (find classes happening)
|
|
- Autocomplete
|
|
- Class Title
|
|
- Course Number
|
|
- Term/Part of Term
|
|
- Professor
|
|
- Attribute
|
|
- Component Pagination
|
|
- RateMyProfessor Integration (Linked/Embedded)
|
|
- Smart term selection (i.e. Summer 2024 will be selected automatically when opened)
|
|
- Rate Limiting (bursting with global/user limits)
|
|
- DMs Integration (allow usage of the bot in DMs)
|
|
- Class Change Notifications (get notified when details about a class change)
|
|
- Multi-term Querying (currently the backend for searching is kinda weird)
|
|
- Full Autocomplete for Every Search Option
|
|
- Metrics, Log Query, Privileged Error Feedback
|
|
- Search for Classes
|
|
- Major, Professor, Location, Name, Time of Day
|
|
- Subscribe to Classes
|
|
- Availability (seat, pre-seat)
|
|
- Waitlist Movement
|
|
- Detail Changes (meta, time, location, seats, professor)
|
|
- `time` Start, End, Days of Week
|
|
- `seats` Any change in seat/waitlist data
|
|
- `meta`
|
|
- Lookup via Course Reference Number (CRN)
|
|
- Smart Time of Day Handling
|
|
- "2 PM" -> Start within 2:00 PM to 2:59 PM
|
|
- "2-3 PM" -> Start within 2:00 PM to 3:59 PM
|
|
- "ends by 2 PM" -> Ends within 12:00 AM to 2:00 PM
|
|
- "after 2 PM" -> Start within 2:01 PM to 11:59 PM
|
|
- "before 2 PM" -> Ends within 12:00 AM to 1:59 PM
|
|
- Get By Section Command
|
|
- CS 4393 001 =>
|
|
- Will require SQL to be able to search for a class by its section number
|