UWaterloo Helper Bot

Overview

The beginning of the coronavirus posed severe repercussions for students studying in University. We were effectively cut off from a majority of our communication and interpersonal work, and were forced to use several, sometimes disfunct, online platforms to learn and to talk to each other.

However, there was one platform that I identified that was common across almost all university students; Discord! Discord was an exceptional platform for communicating with peers and would have made a great base for an e-learning platform. The only problem was; there was no way to ensure that users inside a discord server were actually users belonging to a specific university, or school, this would allow for random people to join the server and mess around and be disrespectful, this was the major roadblock to Discord being a viable e-learning platform. Furthermore, discord lacked several e-learning features that other platforms like MS Teams and etc had.

To solve these issues and to make Discord more viable as an e-learning platform, I set out to create a discord bot that would serve as a base platform for UW Students and Professors to use for online instruction and official communication. Here are some screenshots of the project and a list of features;


Features

  • The bot hooked into UW LDAP in order to verify that discord accounts belong to a UW student. All a user would have to do is type in their WatID and it would guide them through the next steps (it sends an email to their UW mandated email with a confirmation code, if somebody is already verified on another discord server, it will automatically verify them)
  • A susbcriber notification system that members could subscribe to, and admins could push announcements to all subscribed users with.
  • Google calendar integration that shows important upcoming due dates, other important dates, and co-op dates directly in discord
  • An automatic notification system to remind users about the aforementioned important dates
  • Administrative commands that allowed server administrators and professors to see the real name/emails associated with a discord account
  • A distributed backend redis cluster to store data and ensure reliability and data integrity
  • A beautiful, seamless web interface to allow server administrators to manage their bot instance in real time

  • View Repository