Inspiration
We both use Discord a lot for gaming and chatting in different friend groups (it's very similar to Slack but more focused on gaming and voice chat). Both of us have also used different chat bots to provide a variety of features. Somehow though, neither of us have ever seen a bot to help manage calendars and event schedulers.
What it does
It does that ^^. We made a simple event scheduling bot and a few commands to control it. It's basic (and not fully finished), but you can create and view events using simple commands like "/createEvent" and "/viewEvents". All you have to do is install it into your Discord channel and start scheduling and tracking events.
How we built it
We built it in Java using the Discord4J library. We also used gradle as a build system and created a google cloud virtual machine which runs the bot. It receives events from the Discord channel (which aren't the same as the events people are registering!) which we parse and turn into our internal events. We have a simple data store to keep track of events and serve it up by posting the list back into Discord when a user requests it. We also did some planning around automatic reminders so that we could remind users an hour (or so) before the event so that everyone makes sure to get online for the big WoW raid.
Challenges we ran into
Though the API we were using to talk to Discord was powerful, it was very complex and not very well documented so there was a fair bit of combing through the javadocs and looking at half a dozen other Discord bots to figure out how to actually use things. We also had some strange issues with authentication and our initial setup with getting things to work in the cloud with gradle. It took a while to make everything happy all working together.
Accomplishments that we're proud of
We were really happy to actually get a bot working and (almost) to the point where it's actually useful. The entire goal was to make something we could actually use, which is a big improvement over most of the other hackathon projects I've made.
What we learned
We've pretty much talked about most of that in the previous sections, but it was also challenging to work in different coding environments where we needed to use git to share our code and actually have it build in IntelliJ vs. command line so that we could get it working on google cloud. IntelliJ was handling a lot of the complications so there was some extra legwork to get things working.
What's next for discalendar
Next up is largely finishing touches to get the code fully function. All the commands exist and most of our code is there but it's not actually hooked up and working together so all it really does is receive the commands and posts some placeholder commands.
Log in or sign up for Devpost to join the conversation.