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
.envfile in the root directory of the project and set the following environment variables:DISCORD_TOKENDATABASE_URLAMIZONE_API_URLDEV_IDDEV_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.