What it does
P!NG is a Discord bot that stores a user's owned games in a local database. The goal of P!NG is to allow users in a discord channel to be able to see what games others own. When someone seeks for a game (in theory), the bot will provide sites to buy it along with prices, as some sites provide discounts (like Humble Bundle). Although not implemented, the bot is intended to remember your games across servers (through a database). By running a simple command like .among us*, the bot will display who in the channel has the game and who doesn't and then the users who don't are prompted in Direct Messaging with additional information to purchase the game. The bot listens to key words such as "play" and "bought", reacting with a game icon which when clicked will provide additional information based on if the user has the game purchased already or not. The bot ideally will connect with external game accounts such as Steam, Blizzard, Riot, Epic, etc and utilize their APIs to store currently owned games for them. This is all with the goal of pushing the traditional "who has this game? who want's to play?" questions to the side and instead getting right into the fun stuff, making technology and games more accessible to others through a single-platform approach.
How we built it
We drafted up the idea for P!NG using Discord itself as well as a document with brainstorming notes. The initial idea involved the “social hub” element of finding people to play with and being able to form groups easily and readily. We built the bot using Java and an SQL database to store all of the information we would need for each user in order to create an effective bot. In addition, we used the APIs of apps such as Steam in order to draw user information directly from those sources; for example, by linking or signing in to their Steam account, a user can have their Steam games “imported” into the bot instead of having to manually choose each game. Throughout the process we used a collaborative Github repository to sync our work together.
Challenges we ran into
Our biggest challenge was maneuvering around Github and figuring out how to combine all of our work on different branches while simultaneously keeping our step-by-step progress distinct from one another until merging. This had to be done so that changes would not interfere with each other and so one team member’s modifications did not accidentally affect the code of another team member.
Accomplishments that we're proud of
For most of our group members, this was our first actual hackathon (aside from observation). So although we couldn't exactly translate our ideas to code, we still plan on working on this individually and we're grateful for the experience. Our bot also has some clean embed messages so we're pretty happy that we at least learned about that :)
What we learned
Github has a pretty steep learning curve. Also Discord bot making is really fun!!