Inspiration
We were inspired by other Discord bots that we've seen and use frequently as well as the bots we've seen other people we know create. We use Discord a lot and wanted to create something that we would get the chance to actually use; we also wanted to make something that we would have the opportunity to share with other people. Certain parts that we implemented also reflect things we enjoy doing, such as the trivia aspect of Water Bot.
What it does
Our project is a Discord bot that is based around water and its greatness. It provides the user with water images, water memes, water fun facts, a water trivia game, and even reminders to drink water.
How we built it
Using an online tutorial we first set up a discord bot. We then worked on each command one by one, starting with a command that would just make the bot say hello, to having it send a fun fact or picture about water, and finally to working on the much more complicated parts like the trivia game and reminders to drink water. After we had finished making these commands function, we spent a lot of time polishing the bot doing things such as adding a help command, making formatting more uniform, and generally making it a better bot. In this stage we also added a few more commands such as one to make the bot send a water-related meme.
Challenges we ran into
We have worked on a discord bot in the past, so we have some experience, but it was a long time ago and we had to relearn much of how discord bots work. This time around our bot also interacted with discord a lot more compared to our last bot which really only read commands, retrieved some data, and sent it as a message, so figuring out how to program a lot of the aspects of the bot that interacted with discord was definitely a challenge. Another challenge we faced was making different parts of the program run asynchronously. This was something we had some experience with, but hadn't learned about in depth. It was necessary because the bot may be doing something (such as waiting) while we also want it to be able to read new messages. For example, it needs to wait a certain amount of time to let people answer when playing trivia, but it still needs to be able to look at the messages they send in order to know if people answered correctly. We also faced a lot of challenges regarding how to collaborate on a project like this. Since, we each had to run the project from our own computer we would have all had to have different versions of the bot which meant that it was really not feasible for more than one person to work on the same thing at once. This meant that we all had to work on different parts of the bot which proved especially bothersome when members of the group had to leave, making it much harder to continue working on the part of the bot that they were working on.
Accomplishments that we're proud of
We are especially proud of the trivia feature. As mentioned before, we’ve used this feature many times before with other Discord bots and have been frustrated with how their trivia systems worked, so it was really cool to be able to make our own in the way that we wanted and see what went in to making it. Another feature we think of as an accomplishment is the reminder system. Setting up the reminders was a difficult process and ended up being the most time-consuming. Like trivia, reminders are a type of feature we've seen and used with other Discord bots (though not quite in the same way) and are proud to have done something similar ourselves.
What we learned
We learned a lot about programming discord bots as well as other aspects of programming, specifically making things run asynchronously. During our research we also learned a lot more about water.
What's next for Water Bot
Since we weren't able to accomplish everything, we would want to continue adding to Water Bot what we didn't have the time or knowledge to add today. For example, we would have added more trivia questions and made some of our own memes instead of taking them all from the internet. We also could have added more features that we had in mind such as water poetry, potentially even some of our own original poems. Another thing we definitely would want to continue working on is the reminder feature. It works at the moment, but there is just so much that could be done with a feature like that that just can't be accomplished in one day. Examples of this would be letting users choose more about their reminder preferences (different frequencies during different times of the day or days of the week) or allowing them to track how much water they have drunk on any given day.
Built With
- discord.py
- python
Log in or sign up for Devpost to join the conversation.