Inspiration

We were looking into Discord bots earlier this week, and we saw a lot of potential in Discord botting. The theme for Hackthrob inspired us to create a bot that will act as a partner for all the lonely singles on Valentine's Day.


What it does

CompanionBot responds to all user messages based on the content and tone of the message. CompanionBot is connected to dozens of public API databases to make spice up the responses and offer limitless variety.


How we built it

CompanionBot's frontend was created using discord.js and node.js. It connects to a Spring Application that uses Java which persists data on CockroachDB hosted on Google Cloud.


Challenges we ran into

One of the biggest challenges was dealing with Discord's user and client objects. Accessing and converting values in these objects were difficult because the documentation wasn't very descriptive and there were many deprecated solutions.


Accomplishments that we're proud of

We finished the product! We wanted to go on the route of creating a type of open conversation with CompanionBot. The benefit was that the minimum viable product was very easily obtained. After that point, everything we did was an improvement on the project.

In addition, being able to confess your love to a computer program was a lot of fun!


What we learned

We relearned how to code in Javascript as we are mostly Java developers. We also learned a lot about Discord.js, as it's our first real botting project.


What's next for CompanionBot

  • Cleaning up file structure and naming conventions
  • Adding more API databases
  • Having more multiline responses to add immersion
  • Creating more varied responses in general
  • Creating events using Discord embeds (an argument, a date, etc)
  • Create Javadocs style documentation for our methods

Built With

  • anapioficeandfire.com
  • cockroachdb
  • discord
  • icndb.com
  • java
  • javascript
  • jikan.moe
  • openbrewerydb.org
  • opentdb.com
  • pokeapi.co
  • quotable.io
  • ron-swanson-quotes.herokuapp.com
  • spring
  • superheroapi.com
  • swapi.techjokeapi.dev
  • taco-randomizer.heokuapp.com
  • thecocktaildb.com
  • thedogapi.com
  • thesportsdb.com
Share this project:

Updates