Inspiration

We were inspired by our personal experience with school and the annoyance of Google Classroom's late or missing notifications. We noticed that we often needed to check classroom all the time in order to ensure there was no chance of us missing any new assignments or announcements, which was frankly a waste of our time. To that end, we decided to build a prototype of this bot in order to hopefully better understand how we could make our experience better.

What it does

This project takes the class stream information from any given user's google classroom every 5 minutes or so and compares that information to the data gathered during the last iteration of the info pull. The data it pulls is specifically the latest assignment and announcement on all of the classes. If there is a discrepancy between the two data sets, then the most recently grabbed information must be newer, and thus should be posted to the discord channel as an update.

How we built it

We built this project using a combination of Google's Classroom API and Discord's bot API, both for python. Using these libraries in tandem allowed us to essentially grab the data from Classroom and hand it off to Discord to re-post it.

Challenges we ran into

The Google Classroom API gave us a lot of trouble, as it was difficult to find answers or documentation on issues with scopes or methods. More troublesome, however, was the fact that we could only run this program on our school board google accounts, as we do not have access to any other account with Google Workspace enabled, and thus the information we needed from the classroom API was not available, at least not as far as we could find.

Accomplishments that we're proud of

We are proud of getting this project to work as a whole, as Classroom's challenges made us question whether this project could work at all. While we had to make some compromises, we finished it in a state that we believe functions as close to what we envisioned as possible.

What we learned

We learned a whole lot about both APIs, as neither of us were very proficient in either when we started coding.

What's next for Scrappy

We would like to push our project further, perhaps to a point where we could reliably use this project in day-to-day school-based usage.

Built With

  • discord.py
  • google-classroom-api
  • python
Share this project:

Updates