Inspiration

During these troubling times during the pandemic, most of the communication that is being done among students is moved to social platforms; one of them being Discord. As students create servers for specific classes, we wanted to create a bot that reminds students about upcoming assignments and updates.

What it does

Our bot uses the Canvas Open API to gather a student's class information and outputs specific data related to due dates and upcoming assignments.

How we built it

Using the Canvas Open API, we created back-end functions, using Python, that is used in the commands for the Discord bot. We also used AWS to host the bot in order to have the bot run 24/7.

Challenges we ran into

Challenges that we ran into involved security issues and running into issues with hosting with Google Cloud Services. Security was a challenge that we ran into as we didn't want other people running the bot to have access to another student's Canvas token. Hosting with Google Cloud Services was also an issue as it was a lot more complicated in setting up and was not able to be set up in time to work out the issues.

Accomplishments that we're proud of

An accomplishment that we are proud of is being able to host the bot through AWS. Since we were having issues with hosting using Google Cloud Services, getting the bot to be hosted on AWS was a huge accomplishment with the amount of time that we had left to set up the hosting and make sure everything ran properly.

What we learned

Through this project, we learned how to use multiple different services to get our project and idea to fruition. We learned how to work with both the Discord API and the Canvas Open API to create our project. We also learned how to use both the Amazon Web Services and Google Cloud Services alongside virtual machines.

What's next for Canvas Bot

What we plan for Canvas Bot is to polish the program further and add more features to have the bot be more useful in a Discord server that gathers information properly and is more accurate based on certain lecture times.

Built With

Share this project:

Updates