We will be undergoing planned maintenance on Oct 7th 6:00AM UTC / Oct 7th 2:00AM ET

Inspiration

We wanted to build a simple to-do bot that also had the capabilities of a Pomodoro timer. Being students who are always online on discord, we believed that if we could reproduce such functionality within the app it would make our lives easier. None of the discord bots we found could do exactly what our bot does. We hope you like it!

What it does

The Sprouty bot lets everyone in your server make to-do lists for themselves, set timers for their tasks, delete their tasks, and play a fun game of Battleship with Sprouty itself. Are you up for the challenge?

How we built it

We built Sprouty using the discord.py library for python, zoom, discord, sprinkled with a boatload of stupidity. Jokes aside, we had some prior python knowledge but had to learn the commands in the discord.py library. We set out and built the basic interface first and decided to use lists to store the items in a to-do list. After adding functionality to delete commands, we figured out how to use the timer and created the 'doing' command. Our next step was making the bot store different lists for different users. While this took some messing around, we settled with using dictionaries, with the user's discord name and identifier as the keys. Finally, we decided to add to our bot a game, which one of us had been building this weekend.

Challenges we ran into

This being our first hackathon, and more importantly, our first real project, we ran into several challenges. A lot of these might seem trivial to anyone even slightly more experienced, but what can we say?

  1. discord.py was the first python library we learned properly, we faced several basic issues and struggled to find documentation online.
  2. Figuring out the file I/O took some time, as we just couldn't figure out where we were going wrong. (Apparently, it was a rogue line of code we forgot to delete)
  3. We made quite some errors while converting the Battleship game to the format in which we could take input from our users.
  4. Embarrassingly, we faced a lot of indentation errors. These were probably caused because one of us was using sublime text to write the program, and the other atom. It was hard for us to find a solution to this problem and it took quite some time to get our code to work again. (lol)

Accomplishments that we're proud of

We are seriously amazed by how we could have something up and running in just two days of time. (CS Projects are supposed to take longer aren't they?) We are proud of how we could save data for all users conveniently in a file, and extract from it whenever we started our bot again. We constantly set higher goals at each stage of the project. Our initial aim was just to create a bot that stores a master list, ie. one list which would store information for everyone on the server. We then decided to challenge ourselves and make the bot store different lists for every user, and then even added a game!

What we learned

Honestly, the list of what we learned is quite long. In short, we learned to collaborate online on a CS project, git and GitHub, discord.py, and even editing online! However, perhaps the greatest gift between all this was the friends we made along the way.

What's next for Sprouty: The Productivity Discord Bot of your Dreams

We hope to add more games for our users to play. We also hope to store the data which is being stored in the local file in an online database.

Built With

Share this project:

Updates

Submission history