As students learning remotely and keeping in touch with classmates through Discord, we wanted to be able to keep track of upcoming homework and assignments. We wanted it to be integrated with the platform we were already using in our virtual classes and study groups for convenience.
What is this?
Cirrus is a Discord bot made for students, that helps them keep track of their school assignments and due dates. Users can type commands to add assignment information to its database and view current tasks in a to-do list format.
Currently implemented commands:
!add Adds an assignment to the database !clear Clears ALL assignments from the list !delete Delete indicated assignment by ID and assignment name !echo Repeats your message !get Get indicated assignment by ID and assignment name !help Shows the help message !list List all assignments added !ping Responds to ping for testing purposes
Our bot is set apart from other agenda apps by being collaborative; anyone in a discord server can add a new task to the to-do list, making it less likely for something to get missed and taking the weight off of individuals to keep track of everything on their own. Our school program heavily encourages teamwork, and we wanted our app to reflect that.
How we built it
We built the main bot scripts using Python with the Discord.py API. We used AWS DynamoDB for our backend database that stores the assignment information. We chose Heroku by Salesforce as our cloud platform to host the bot due to its continuous deployment integrations with GitHub and quick setup.
Challenges and accomplishments
This was our first time using Discord.py, so many of our challenges revolved around learning how to use it. We also encountered issues connecting our bot scripts, database, and hosting platform together. In the end, we made it through with teamwork and a bit of mentor help. We're proud that we were able to get the bot into a working, usable state in less than 24 hours with little prior experience using these technologies.
What's next for Cirrus
Going into the upcoming semester, we hope to be able to actually use Cirrus in our class servers. We'd like to build additional functionality including upcoming due date reminders, more user-friendly command options, and multi-server support. We're excited to be our own user testers!