Beast Worker was my solution to a little problem we had in the Gang Beasts Discord
What Problem?
Users were unable to read the rules apparently, our system for playing with others is as follows
- Each platform has a role you can opt into for if you want to be told when people are looking to play on that platform
- You can ping each platform once per hour, that means one ping per platform per hour, no more than that to stop people getting annoyed
People would not stop pinging platforms multiple times per hour
The Solution?
Simple enough, we write a Discord bot instead to act as a man in the middle, now the way people ping is through a command
(lfg being short of Looking For Game, description if they wanted to include any extra details)
/lfg
[platformName][description]| Example: /lfgSteamLooking to play in 10 minutes, anyone up for a round of waves?
This was good, but we couldn't justify it alone because it made the process of pinging tedious, to build upon this idea, we implemented a set of commands that would let you link your identifier for a platform to your Discord account, meaning every LFG ping you made with the bot contained your contact information!
/identifier
[platformName][identifier]| Example: /identifierSteam440682513| Example: /identifierXboxCaseTundra81611
440682513 being a Steam friend-code and CaseTundra81611 being an Xbox gamertag
Originally we were going to pull identifiers from Discord's connections feature, where you could link platform accounts to your Discord account. Unfortunately this proved to be incredibly tedious
At this point, we have a Discord bot that keeps a user's contact information and lets people create LFG pings, however it doesn't solve our original issue of users not following the rules
Again, the fix is simple, we just log the timestamps of LFG pings, so we check to see what platform a user wants to ping, and we check if it's been an hour since the last LFG ping using that platform, and if it has, send a ping, otherwise tell them to wait X amount of time until it's been an hour!
The Outcome?
We now had an awesome Discord bot that attached data to your Discord account, meaning pinging for games got easier due to not having to list contact information!
On-top of that, due to our timestamp solution, people aren't breaking the rule anymore :)