Inspiration

Our initial ideas for this project consisted of: 1. Discord dating bot 2. Aggie Class Manager

We decided to make something useful to TAMU students to allow them to meet people in the same classes! We took inspiration from Bumble, an online dating app, to create a bot for discord.

What it does

This bot takes the classes of a user via their input with commands and generates a BeeProfile. This BeeProfile contains the user's name, their profile picture, and their classes.

How we built it

We built it using Discords bot API with Python. We utilized CSVs we obtained from web scraping TAMU's class catalog as well.

Challenges we ran into

When we were making this bot, we wanted accuracy to come first. So, to do this, we had to create a program to make a list of all of the Texas A&M Classes in existence so that the classes on the card would be correct.

This project also included text files and iterating through them for data on a user. When we were planning out how to obtain data about a user from the text file, we were faced with the problem of linear searching and binary searching.

As a group, it was hard to understand everything that was happening at once. By splitting up tasks and working to create functions that reduced repetition, we were able to work together to create different functionalities of our bot.

Accomplishments that we're proud of

We used urllib to web scrape TAMU's website for all the class information and created a CSV with this information and we had to learn how to use Discord.py to create a bot that efficiently generates a profile card and embeds it. To create the cards, we learned about editing images with the pillow module.

What we learned

None of us came into this knowing how to web scrape or create a discord bot. We learned about the modules Pillow, urllib, and Discord.py as well as learning more about python and lists.

A specific thing we learned about is the importance of efficient iteration in a program. Most of our errors came from poorly put together for loops. We learned how to format our code so that it is readable and so we can work on improving the efficiency.

What's next for BeeBot

We will likely continue this project by adding a description function for users to talk about themselves, adding a matching function where people with similar classes will be matched and suggested to talk together, and developing the profile card generation to be more professional.

Built With

Share this project:

Updates