We created a study group Discord server and looked for a bot to help us manage our work. But could never find an existing bot that meets all our needs, so we decided to make our own.
What it does
Study Supervisor helps you increase the productivity of your study group Discord server by providing a suite of tools to keep track of their work. Features include:
- keeping track of their to-dos
- setting reminders for various tasks
- notifying users about how long they have worked for
How we built it
We are a team of 4 UBC first-year students that collaborated remotely using Discord and GitHub. We used the Java's JDA library to recognize when commands were to sent to a channel, stored it in the program, and send the messages to the channel. Permanent information was stored with JSON and Java. We also set up a web server to host this bot so that it could run 24/7.
Challenges we ran into
We ran into many challenges building our first-ever Discord bot. A highlight of our challenges are:
- Making our bot run continuously and make it easily deployable. We learned how to set up a production pipeline and how to host web apps.
- Storing permanent information, which we solved by storing and retrieving information from JSON files.
- Working under pressure. To create this bot in so little time, we had to collaborate frequently, remotely, and efficiently. So we had to learn more about Git features, and how to work together productively on the same GitHub repository.
- As beginners to Hackathons, we had to learn how to Java on real-world applications.
- Using the API to build our bot. To use the Discord API, we had to learn how to use dependency managers and a new library to process messages.
Accomplishments that we're proud of
We are very proud of ourselves for designing a functional bot in such a short period of time. For many of us, this was our first time participating in a hackathon, so we think we did well building our bot. We were able to crunch out most of the features that we wanted in this brief amount of time.
What we learned
This hackathon was a great learning opportunity for all of us. Coming from first-year in university, we had little experience designing and building apps for real-world applications. Our Discord bot is our way to apply our knowledge and gain experience building programs.
The things we learn from building this program include:
- How to collab using GitHub (branches, commits, push, pull, fetch, etc).
- How to use different ways to host web applications.
- How to set up GitHub workflow to make our app easily deployable.
What's next for Study Supervisor
Since we created this bot with its use in our own study hall in the future, we will continue to implement more functions, refine, and maintain the bot to become the ultimate study group bot. Future implementations include: a weekly ranking system where the bot ranks each member by the number of hours studied, gives a certain amount of score based on the number of hours/minutes, and to encourage members to turn on their cameras (as a productivity boost) by enabling a score multiplier.
You can check out our GitHub repository for any new updates!