Inspiration

Discord and Canvas are two services that students use daily. Students use Discord for communicating and helping each other through classes and use Canvas to submit all their hard work. Previously, Discord and Canvas lived in two isolated worlds, completely disconnected from one another. This gap between the two services is often a major inconvenience to students since they constantly must switch between the two services. Our project brings all of the information about the classroom from Canvas into Discord to greatly increase convenience and productivity by allowing students to remain in Discord for all their school needs.

How It Works

Our bot has a several of different functionalities:

  1. Teachers often post announcements on Canvas to keep students updated on the status of their class. Our bot automatically posts these announcements in Discord to always keep students up-to-date on their classes.
  2. Students often need to know their homework for the upcoming days. Our Discord bot can automatically retrieve homework from Canvas and post it in Discord for students to see.
  3. Our bot currently has an experimental feature where we integrated natural language processing techniques to enable the answering of certain questions about their class. So for example, our bot may be able to answer questions such as "When is my next midterm for my Econ class?" or "What's my homework in Calculus this week?"

Tools of the Trade

We used a variety of technologies to build this application:

  1. Pycord: Pycord is an API wrapper for Discord for Python. This package allows us to easily communicate with Discord.
  2. CanvasAPI: CanvasAPI is an another API wrapper in Python developed by the University of Central Florida to enable easy integration with Canvas.
  3. CockroachDB 🪳: CockroachDB is our database of choice. We use this store all types of user preferences such as user authentication, which classes they are in enrolled in, and variety of other things.
  4. OpenAI GPT-3: OpenAI's GPT-3 enables the experimental question and answer service mentioned above.

Built With

  • canvasapi
  • cockroachdb
  • openai
  • pycord
  • python
Share this project:

Updates