This is a Discord bot that allows users to access their student portal directly in Discord. The bot is written in Rust and uses go-amizone as its backend. This project uses poise.rs as its Discord bot framework.
- Clone this repository to your local machine.
- Install Rust and its package manager, Cargo, if you haven't already.
- Install the required dependencies by running
cargo build
. - Create a Discord bot and obtain its token.
- Install an intermediate certificate from Let's Encrypt, rename it to 'lets-encrypt.pem' and put it in a folder named 'tls/' in the root of the project.
- Create a
.env
file in the root directory of the project and set the following environment variables:DISCORD_TOKEN
DATABASE_URL
AMIZONE_API_URL
DEV_ID
DEV_SERVER_ID
(optional if you compile with the --release flag)PRIVATE_ENCRYPTION_KEY
(AES 256 bit key, encoded to Base64)
- Run the bot by running
cargo run
.
Note: Bot is in active developement, all commands might not be stable, see issues
/attendance
: Displays the user's attendance for the current semester./schedule <YYYY-MM-DD>
: Displays the user's schedule for the given date./exams
: Displays the user's exam schedule for the current semester./semesters
: Displays a list of past and current semesters./courses <semester_ref>
: Displays a list of courses for the given semester./profile
: Displays the user's profile information./wifi
: Displays the user's registered WiFi MAC addresses./wifi <ACTION> <MAC>
: Registers/Derigsters a WiFi MAC address for the user./feedback <rating> <query_rating> <comment>
: Fills the faculty feedback.
Contributions are welcome! If you find a bug or have a feature request, please open an issue. If you'd like to contribute code, please fork the repository and create a pull request.
This project is licensed under the MIT License.