Inspiration
After having some frustrating experiences with Brightspace's current format, we thought it would be easier to have a discord bot parse important information and present it in an interactive and useful way.
What it does
This bot resides in a class group chat, and after authenticating each user through BoilerKey, it can access data about the class and presents it to members in the server. It also streamlines existing functionality from Brightspace's website.
How we built it
We started with some tutorials on building discord bots, which quickly evolved into us teaching ourselves how to write coroutine programs in python with asyncio - an interesting challenge! After getting a working bot we worked on making BrightBot capable of authenticating users, with the help of a helloworld mentor. Then we worked on integrating authenticated sessions into Brightspace API calls so that we could accomplish our goal!
Challenges we ran into
We ran into several challenges in making BrightBot, primarily in using Asyncio, getting Authentication right, and making Brightspace API calls. There was a pretty steep learning curve for us to learn coroutine programming, it's not really single or multi threading, and so it was very new to us! But after some good old print statement debugging, we got more and more familiar with it, and got it to work in the end.
For the Authentication, our challenge came from the Brightspace API needing a certain kind of authentication which required admin access at Purdue. So, we had to find another solution. In working with the mentor Elnard Utiushev, we learned that we could authenticate through BoilerKey! After getting some starter code from him, we worked through it rewriting so that it would work with our bot.
Accomplishments that we're proud of
After 8 hours of work, we got BoilerKey Authentication to work from a script! Not only that, but we implemented it in an asynchronous coroutine, something totally new to us. In doing both of these things and solving the other problems we encountered, we now have a really great platform which we can build a plethora of useful features from.
What we learned
We learned a lot in this hackathon, both technically, as we've said, but also about how to solve complex problems, learn new skills from documentation, and collaborate well through Git.
What's next for BrightBot
The sky's the limit! We plan to further implement features of the Brightspace API now that we have a way to successfully call it and create authenticated sessions. We also want to try and make a dedicated server for our bot, so that we can focus on user security, and also make use of the bot more convenient for ourselves.
Log in or sign up for Devpost to join the conversation.