We found that discord bots can be used to send many messages to users with one command. This seemed a fast way for businesses to communicate with customers if they had a specific message they wanted to send to large number of customers. In addition to that, discord bots look more appealing and engaging than emails or most other automated processes. We made bubble to ensure it looked engaging to customers and the messages bubble sent were easy to read.
What it does
Bubble is a discord bot that makes communication between businesses and customers more efficient. The business is able to send out attachments, customer service info, or website details to 100s of customers by inputting one command with the list of customers. The list of customers need to be in a csv file so an excel spreadsheet with the customer's discord names can be used.
How we built it
Using discord.py a library with extensive documentation. Discord.py client can handle all sorts of events that take place on a discord server and for bubble we added three events, one for image, one for contacts and one for website. For all three commands, a csv file must be entered with the users and the event creates a list of all members to send DMs to.
For !image the files are processed and added to an embed with a footer then they are sent to all the members in the list of members. For
For !contacts the inputs are taken one by one and then added to an embed with employee name, icon and inputs displayed. This embed is then sent to the list of members one by one.
For !website, an embed is made with the website link and a description is added. This embed is then sent to the list of members one by one.
Lastly to run the bot we run the bot using the token that's hidden in a .env file.
A lot of this was made using the official discord.py API Reference but in addition to that we referred to stackoverflow posts and r/Discord Bots posts.
Challenges we ran into
Our biggest challenge was how we would take attachments and send them out again. This was hard because the methods described in documentation was for client class in discord.py but we were using bot commands a subclass of client. Another challenge was coming up with an idea that would be feasible to implement in 24 hours but at the same time meets the objective for customer satisfaction.
Accomplishments that we're proud of
We are proud of bubble being able to send out custom made messages like the contacts and images to 100s of customers within milliseconds. This is a big achievement for us because while writing the code for bubble we realized there can be many mishaps in writing code with discord.py and its harder to find errors because we cannot just print out errors.
What we learned
We learned that the planning stage is the most important stage as we had to abort a project midway through because we realized it would take too long. We also learned to work with the discord API and how to find relevant information in forums such as reddit and stackoverflow.com.
What's next for Bubble Discord Bot
The big next step is to add a customer review event that allows customers to fill out surveys and employees to send their own google forms as an input to the bot. In addition to that, we want to work on an event to send a pandadoc to customers to fill out docs and send it back with bubble. We also want a better way of adding customer name lists in the future.