Inspiration

The onset of the COVID-19 pandemic resulted in students like us finding new ways to spend time with our friends. One of these technologies our group has frequently used is Discord, to have voice and video calls with our friends. Throughout the course of the pandemic, our team learned about various Discord bots (Rythm, DisCal, etc.) which allow us more functionality within our servers. However, we noticed that there exists no Discord bot to determine whether people have free time or not, so our group sought to change that.

What it does

Our Discord bot Who's Free enables members of a discord server to see other user's availability based on shared Google Calendars. Members of the server will share their Google Calendar with the Who's Free bot, allowing Who's Free access to their schedules. Then, using some simple commands through Discord, Who's Free will tell us which members of the server are free:

!freenow- Lists users who do not have anything scheduled for right now. !freein X- Lists users who are free in X minutes. !freefor X- Lists users who are free right now for X minutes.

How we built it

We created a Discord bot from scratch using Python. This included logic for determining if an individual has free time as well as sending messages in the server. In addition, we utilized the Google Calendar API in order to obtain read-only access to the shared Calendars.

Challenges we ran into

A lot of time was spent learning the formatting to properly send Google Calendar API requests. In addition, we struggled with implementing OAuth2.0 authentication to make sure our bot was secure.

Accomplishments that I'm proud of

This is our teams second/third hackathons, and the first time a project was actually completed. Our group is very happy with the hack we made in the past 24 hours, that we plan on utilizing in our day-to-day lives.

What I learned

Our team has learned a lot about building Discord bots as well as the Google Calendar API. We came in with no knowledge in either of these fields and have learned a lot about real-life product development.

What's next for Who's Free

We want to add functionality to create events based on people's availability. For example, check to see who is free in 30 minutes and then create a calendar event with those specific people.

Built With

Share this project:

Updates