Inspiration

Since COVID-19 hit the world by storm, we noticed that many people had begun to use Discord servers as a way of communicating in large clusters. However, many Discord servers run into issues of their members sometimes being negative towards one another, and sometimes that behaviour becomes commonplace.

What it does

We built a bot that seeks to gamify the experience of providing positivity to one another within any Discord server you use it in. The bot tracks the positivity/'bubbliness' of all members in the server and compiles a leaderboard, assigning the role of 'Bubbliest' to the most positive server member.

How we built it

We used Discord.py to design and deploy the bot onto our test server, while the sentiment analysis was done using Microsoft Azure. Tracking of personal scores and leaderboards was done using Firebase, where we call our API at varying rates depending on whether the bot is being used under a free or premium subscription.

Challenges we ran into

No one on the team had experience with using Firebase as a way to make API calls and store/pull data, as well as being able to rank that data consistently. It was admittedly quite tough to figure out how to integrate firebase with the Discord bot as well, as we'd never attempted to combine the two before. Additionally, this was also our first time using Azure! Thankfully the mentors at the event were super helpful with helping explain the logic of utilizing both of these platforms.

Accomplishments that we're proud of

The bot is able to consistently keep track of an entire server of people continuously and works fast enough to update our database after every message sent within the server. Though of course we have not done large-scale testing of these features, we're happy it works as intended.

What we learned

We learned a ton about how to design Discord bots, how to use Firebase for storing and pulling content automatically, and how Microsoft Azure uses and ranks sentiment data for text based on overall positivity/neutrality/negativity.

What's next for BubblyBot

We plan to be able to find average positivity for any given role on the server, as well as potentially expand the ability of the bot to rank positivity more accurately

Built With

Share this project:

Updates