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
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