Need an IRC Bot, that connects to a channel on Quakenet, then sets up and manages games and users.
Basic functions:
Connects to and auths with Quakenet
Interacts with authed users that match a list
Keep stats on users
Needs to be able to run multiple games at the same time
Must be coded in Java and will be run on a Windows based VPS.
Please read Detailed Requirements section of this project.
## Deliverables
Functions:
* Connects to and auths with an IRC server
* Ability to add authed users to a "vouched" list
* Interacts with users on the vouched list
* Keep stats on users (Points, games played, won, loss, win %) which are on the vouched list, and automatic updating of these stats based on the results (team 1 win/team 2 win)
* Users start at 1000 points and gain points when they win a game and lose points when they lose a game. The amount of points won or lost should be determined by the difference/ratio between the total points of Team 1 and 2.
* Ability to give users on the vouched list "captain" permissions, which allow them to challenge other captains
* When a challenge is accepted, a game is started and vouched users are able to "sign in", which allows them to be picked by the captains. The challenged captain is team 1 and the challenger team 2. The captains takes turns to pick a total of 4 vouched users (team 2 have first pick) each which have "signed in" (pick phase).
* Captains should have the ability to remotely sign in users.
* The results of a game (team 1 win/team 2 win) will be declared by the users in that game (2 players from each team confirm) or a captain of one of the teams (whichever is first)
* Captains must have the ability to prematurely end a game using "abort"
* Must be able to print the Top 10 users with the most points in the IRC channel chat.
* Needs to be able to run multiple games at the same time, however only 1 game can be in the pick phase at a time (rest are queued, first come first serve).
Other functions:
* Needs to be able to Op/Semi-op/Voice users which are authed with the IRC server
* Basic Ban/Unban/Kick/MOTD functions
* Only Ops can "vouch" authed users.
* Needs a "roll" function which generates an random number between