Pick-up game system
A Pick-up game or PUG is a game played when players come together and form two teams to play against each other.
This system was written for Overwatch and Team Fortress 2, but works with many games.
Starting out, you need a voice channel which contains EXACTLY "Pug Lobby" - this will be used as the lobby channel to pick users from.
Once this channel exists, you can open a lobby.
Creating the lobby
Specifying the number of teams (2), and optionally the players per team (6):
!lobby 2 6
In this example, 2 is the number of teams, with 6 players per team. 6 is the default and does not need to be included, but any number of players > 0 is valid. Number of teams must be even, but can go as high as you'd like if you have a 4 team game, etc.
If you made a mistake opening the lobby, or need to change settings/reset, use the close command:
!close
Getting team captains
Players can then volunteer as team captain by typing the following in a voice channel:
!volunteer
Once enough captains are set, voice channels are created for each captain and picking can begin. Captains will alternate picking players, and any players in the Pug Lobby channel are eligible.
Picking players
To pick a player, they can use the pick command, where PLAYER is a mention of the user they'd like to pick. As players are picked, they are moved to the correct channels.
!pick @PERSON
After all players are picked, the team captains will be moved to their channels, and you may setup the game however you'd like!
Ending the game
After the game is complete and you'd like to move the players back to their lobbies, and clean up the channels, use the end command, which can only be used by either team captain or the players on the teams.
!end
That's it!