Inspiration

We had initially been thinking of making a Discord bot since it was something that had interested us before the hackathon, although we didn't really have much of an idea of what bot we'd make - there are so many out there that it would be difficult to make one with a practical application that hasn't already been tackled yet.

The real source of inspiration came from an early Q/A session on the XHacks Discord. One organizer joked about making a bot so that they wouldn't have to keep answering the same questions over and over again, so we decided we'd look into it.

One thing lead to another and we realized that there was no dedicated bot for FAQs on Discord. With this in mind, we started getting everything we needed to know in order to make said bot together and got straight to work.

What it does

The concept is simple. FAQBot takes a question from a user when prompted. If someone authorized to answer the question (i.e. staff), they can answer the corresponding question. The bot then stores the answer with the question in a database.

Any time a question pops up, the bot will check to see if the question has already been asked, then gives the most accurate answer if it finds one.

There are a few commands for managing the database, getting help and viewing the FAQ as well which can all be found on the website linked below.

How we built it

We used replit's Python editor (along with Discord's developer portal and API) to program the bot and handle the Q/A database. To save time, we used Wix and some of its built in HTML tools to build the website.

Challenges we ran into

Overall, the biggest challenge had to be starting from scratch. Building a Discord bot proved to be a little more difficult than we'd thought, so the extra learning (Python, Discord's API and dev portal, many long hours spent on stackoverflow) definitely proved to be a hurtle.

Outside of that, our issues were mainly with debugging code and in brainstorming how we would program FAQBot's features. We definitely had the hardest time working through the similarity check for questions (checking questions that mean the same thing, but are not identical to an existing question to see if it should prompt the same answer). We found a library that made it a lot easier, though implementing it was still quite the challenge.

Accomplishments that we're proud of

While we can admit our project isn't the largest scale one out there, we can be proud of what we learned. Going into this, we knew little to nothing about making projects like this, let alone hackathons, and only had a basic knowledge of a few programming languages (mostly python).

During our 38 hours of learning, working, testing and doing all 3 over again, we were able to learn everything we needed to get going with building the bot and making a website. In the end, we were able to make a functioning Discord bot that does what we set out for it to do - answer frequently asked questions for you!

What we learned

We learned how to navigate and use Discord's API and its included library. We also discovered replit, which was great for working on the project simultaneously and making Github commits a lot easier.

Not only did we learn how to use this new set of tools - we had also learned what it's like to participate in a virtual hackathon. This was our first ever hackathon and, as stated above, we had very minimal experience going into it.

It's been a wild two days, but we can have confidence in saying that we've learned a lot.

What's next for FAQBot

The bot is pretty limited in what it can do at the moment. It can do everything we set out for it to do initially, though only in a practical way for one server.

We still need to make some kind of way for the bot to be used between multiple servers without any conflicts and expand on the existing features (i.e. making the similarity check work with questions that mean the same thing but have radically different ways to go about asking them, cleaning up the code, adding quality of life stuff, etc). All in all, there's still a lot left for us to do with FAQBot in the future.

Built With

Share this project:

Updates