Members: Kevin Yang-Li, Ella Nguyen, Safiya Menk, Mariama Bah

Inspiration

We wanted to create a project that would help individuals find a variety of general technology internships. We also wanted to create a bot of some sort, so we decided to combine the two by creating a bot that would find internships. We chose to create a Discord bot as it is a popular platform within the tech community, so this platform was most appropriate. We created our project with the help of a Discord Python template on Replit: https://discordpy.readthedocs.io/en/stable/quickstart.html#a-minimal-bot

What it does

The BreadBot takes in a user command and generates a set of buttons that allows the user to find tech internships and resources that will facilitate the process of acquiring an internship. The "Show Internships" button generates a random set of internships that changes with each click, so the user is able to find over 400 internships in total. The "Resources" button gives the user a variety of links that will guide users to enhance their coding development skills.

How we built it

We built our bot using Replit, a Python browser IDE. Through importing the Discord packages to Replit, we were able to connect BreadBot to our official Discord server, "Hack WashU."

Challenges we ran into

We ran into many challenges in our process. One of the biggest challenges was that because we were collaborating on a browser IDE, sometimes the server host would crash, which slowed down our process of getting it to run again. However, we were able to overcome this challenge through typing the command "kill 1" in shell. Another challenge was that our bot was not able to connect to Discord for a long time because the version of Python on Replit was not accurate with the most updated version of Python. Because it took us a while to realize this, we were not able to get the bot to connect. Once we did, since we wanted the user to interact with buttons, we had a couple of challenges implementing them. We worked collaboratively on one document, so it took us a while to get adjusted to all of the edits that were being made simultaneously. It got crowded and overwhelming, but with time, we adjusted to it. Additionally, the buttons would not show up, and when they did, the user was not able to click on them without getting an error. We also had challenges with extracting and reading a CSV file into one of our buttons. However, with time and a lot of YouTube and Stack OverFlow, we were able to get all of these to work!!

Accomplishments that we're proud of

Firstly, we are extremely proud of the fact that we even created a bot. We didn't think it would be possible after the challenges we faced took a lot of time, and none of us have even created a project to this scale before and worked collaboratively on a single source code to a big extent. We are also proud of our buttons. It was extremely challenging to implement them as we ran into a lot of issues and bugs along the way, and one of our buttons was also reading from another file, so it was hard to get all of them to work. All of the tutorials implemented them in different ways, so it was hard to find the way that best worked with our implementation of the bot. It was a huge accomplishment to get all of the buttons to work as they were the main highlight of our bot.

What we learned

Firstly, we learned to not use Replit next time. Since it is a browser IDE, there are server issues and in general, it does not work as well as an IDE such as VSCode. However, we used it because it allowed us to collaborate on one source code together. Next time we would use a program IDE instead of a browser one. We also learned how to work collaboratively. It was challenging at times because all of our edits were linked together, but we learned how to effectively communicate what we were doing in the main file with each other so that we did not run into chaotic issues. Effective communication was a key part in this project being successful because it allowed our code to run smoothly despite having four people edit it at once.

What's next for BreadBot- Internship Bot

We do not want to stop BreadBot here. We think that there is a huge potential to expand this bot into something so much more. Due to limited time, we did not get to implement features that we wanted to, but in the future, we would like to add filtering systems to filter internships and resources based on what the user specifically wants. We want to implement a sorting algorithm so the user can filter resources and internships based on their input. We want more user bot interaction so that the bot can feed the user what they specifically want. Lastly, we want to expand this bot to other servers. Right now, it is limited to one server, but in the future, we would like different servers to have access to it so that everyone can utilize great resources.

Built With

  • csv
  • discord
  • discordpy
  • python
  • replit
Share this project:

Updates