During the pandemic, we noticed the rise of using Discord for social interactions; however, the heavy reliance on such a platform has made the user experience tiresome. We wanted to create a custom Discord bot with features that would add a little bit of joy onto any server :D

What it does

  • Welcomes new members onto the server with a random meme
  • Reacts to messages with appropriate emojis (sadness, joy, anger, love, fear, surprise)
  • Plays personalized theme songs for members as they join a vc

How we built it

Using Python and the Discord Bot API, our team learned to work with events and commands to customize our own bot.

  • Used the youtube_dl and FFmpeg APIs to allow the bot to download and play music within voice chats in the server
  • Used a meme API from reddit to present users with a randomly generated meme when they join
  • Retrieved the “Emotions dataset for NLP” data set from Kaggle and used it to train our bot in reacting to different messages with appropriate emojis on Discord

Challenges we ran into

  • Thinking of a “ML” idea
  • Language-specific API, especially async and the difference between @client.event and @client.console()
  • Figuring out how to use youtube_dl and FFmpegwith the latest version of

Accomplishments that we're proud of

None of us ever had any experience in making Discord bots prior to this Hackathon! The fact that we were able to create a fully functional Discord bot and integrate a few APIs within it is already an accomplishment that we are all extremely proud of. Not to mention we were able to “train” our bot using a self-written form of artificial intelligence. This hackathon has been a great learning experience for all of us.

Other Notable Accomplishments

  • Learning APIs
  • Becoming more proficient in Python
  • Surviving on a lack of sleep

What we learned

  • How to use APIs and navigate their documentations
  • How to create and set up a Discord bot
  • Proper Python coding practices

What's next for Cute Botty

  • A more advanced form of machine learning to more accurately react to any message sent within a server
  • More training data to be able to recognize more words at a higher accuracy
  • Adding more functionality with events (such as detecting when a member joins a new channel)
  • And, of course, more intricate features (such as permissions to use commands)

Built With

Share this project: