Inspiration

We both are active users on Steam and Discord, and we wanted to find a functional way to combine the two.

What it does

Due to the short length of the video, we were only able to show off a select few commands and features. In addition to the sale notification system and achievement leaderboard, each user also has the option to browse games and even search for other Steam users.

How we built it

We used the Discord.py and Steam API to create a Discord Bot.

Challenges we ran into

There were quite a few challenges along the way. The first was to create a looped event that compares the price of all notified games with the price 5 seconds ago. This was difficult because it strayed away from your typical command. We had to dive extremely deep into the documentation in order to understand exactly how to do this. The achievement leaderboard was also difficult to create. This is because of how the API responses were structured. We had to chose a specific game to then sort through every single achievement noting if it was completed. We then had to bubble sort the list of tuples for each user in the database to create the ordering of the leaderboard.

Accomplishments that we're proud of

We are proud of the practicality from the sale notifications along with the friendly competition stemming from the leaderboard ranking.

What we learned

Throughout this project, we learned the importance of dividing tasks among group members, for different perspectives. When tasked with the price comparison function, we each split up and set out to find the most efficient way to use the Discord.py API. We each provided an argument regarding which method we thought would work best, eventually deciding on a specific method. If this had been an individual project, we might not have found the most efficient and productive way.

What's next for Steamy

The next step for Steamy would be to 1. Add more games to the achievement lists as the API provides no way to get all achievements, only specific games. 2. Create an outside database instead of the locally held users and games. 3. Implement a duo search in large servers that could automatically connect two users in a voice channel for near instant co-op play.

Built With

Share this project:

Updates

Submission history