Thank you for playing on #scobowl. Here are the rules:
You can download the zipped source for TriviaBot here.
List of user commands:
| Commands | Explanation | ||||||||||||||||||||||||||
| !start | Starts a regular 30 round game with a maximum of five people per teams. Default team names are Home and Away. | ||||||||||||||||||||||||||
| !start (String team1, String team2, int rounds, int maxNumberofPlayersPerTeam, String allowedQuestions, String unallowedQuestions, String set) |
Starts a game. All of the parameters are optional; however, if you only want to modify one parameter (for exapmle, rounds), then you must still put in commas. Examples: !start - starts a 30-round game with teams Home and Away. 5 people can play on each team, and all questions are allowed. The set currently loaded is the one played. !start Alpha, Beta, 20, 1, .*, Biology, acf - Starts a 20-round game with teams Alpha and Beta. 1 person can play on each team, and all questions except Biology ones are allowed. This game uses the acf set. !start ,,,,Literature - Starts a regular game with only Literature questions. !join (String teamname)
|
Joins the team. During the joining period, you can switch teams. If you haven't played in the game yet, you can also join a team. | !random
|
Joins a random team. It has the same restrictions as !join. | !stop
|
Stops the game. Abuse of this command will result in a ban! | !score
|
Returns the score of the current game. | !help
|
Gives you some basic information. Useless if you're reading this. | !teams
|
Displays the list of teams available to join, and the players on each team. | !size
|
Returns the size of the question set. | !size (String category)
|
Returns the size of the question set for that category. Example: !size Art | !comment (String comment)
|
Comment an error or suggestion. If you are commenting on a question error, please include the question ID in the comment. | !team (String player)
|
Shows what team a player is on. | !stats (String player)
|
Shows the overall stats for that particular player. The command is case-sensitive. | !curstats (String player)
|
Shows the stats for that particular player in the current game. The command is case-sensitive. | !get (String variableName)
|
Retrieves one of the following variables: | negs rounds teams delay minMVP gameswoReload limwoReload comment players allPlayers allowedQ unallowedQ version breakBtwQ showCategory answerDelay messageDelay gamemaster playersPerTeam askBySent numWordsPerLine freq (String search_term) timeToJoin sets setsInPlay |
Operator/Gamemaster only commands
| Commands | Explanation |
| !reload | Reloads the question set. |
| !loadset (String theSet) | Loads the set theSet. For example, "!loadset acf" will load the acf set. |
| !correct (String player) (int score) | Gives the player and the team points. Add 10 if they did not neg, 15 if they did neg when negs are turned on. |
| !incorrect (String teamname) (int score) | Takes away points from the player and the team. Subtract 10 if they would not have negged, and 15 if they would have negged when negs are turned on. |
| !clearcom | Clears the !comment list. |
| !get q (int ID) or !get question (int ID) | Retrieves the question in the set with the given ID. |
| !set (value) |
Sets the variable to the new value. The variables that can be affected by this are: negs delay minMVP gameswoReload limwoReload allowedQ unallowedQ showCategory breakBtwQ answerDelay messageDelay askBySent rounds playersPerTeam timeToJoin numWordsPerLine |
| !exit | Forces the bot to quit. Do not use unless it's necessary. |
Version history:
1.00 -Release 1.01 -Fixed the buzzing at the same time bug (use answerDelay) -Brought bag MATHRND -Trimmed the text for spaces -Added response strings to !comment and !request -Shows stats at end of game -Made an upper boundary for number of questions -The "10 seconds left" only happens if answerDelay == 0 -addToTeam(),deVoiceTeam(), and giveVoice() added 1.02 -Keeps track of nick changes -Doesn't give hints right after a person answers -deVoiceTeam() method fixed -Added getPlayerFromAllPlayers() and HashSet allPlayers -Changed !stats to use allPlayers instead of players -Fixed !dummy code -Increased answerDelay to 11 -Added "Parsing error" if the question cannot be parsed correctly 1.03 -Voicing stopped -Allow people to switch between teams during joining period -Fixed questionNum bug -Fixed joining bug -Allow people to join game during gameplay if they have not played in that game yet 1.04 -Used regular expressions to store answers -Got rid of the seconds variable in Question -Changed URL in !help 1.05 -Fixed !stats bug -Tells players when there are 5 seconds left. -2nd Team doesn't get renamed with !start Team1, Team2 fixed -Only shows score when there's a game going on -Added !teams/!team commands 1.06 -Fixed bug where you could buzz in after the round was over if nobody answered. -Question automatically adds period to end of question if there is no period/question mark at the end of it. -!comment and !request attach the sender to the message. 1.07 -Added !correct (team) to list of commands. Somewhat buggy. -Fixed "only 1 team can guess" bug in round 1 -Filename bug gone - abc and ABC will no longer share the same stats file -Added MVP/LVP stats -Changed Team.setGuessed() so that !correct could work 1.08 -Saves LVP/MVP stats -Clears player stats when they use !stop -!teams shows the players on the team -Replaced the way the bot calculates MVP/LVP -Add !mvp command -Fixed !correct -Added !remove command, but it does not seem to work in this version. -The bot now trims any whitespace before it displays a sentence -!delay and !reload now send messages confirming that the desired action occurred. -Replaced the Player toString() method: it now only shows the name. 1.09 -Shows size of set after a reload -Fixed exploit in !get (using !get with any number lower than 0 would cause an error) -Fixed LVP code -Changed MVP/LVP formula to 15 * correct - 5 * guessed 1.10 & 1.11 -Fixes "still playing if !start fails" bug -You can now answer with decimals -Questions can now have decimals in them -Dummy automatically joins a game if there's only one player playing -Changed !dummy code so that it would be more efficient -Changed the askQuestion() code so that it could support decimals -Added !random command -Added !load command 1.12 -Got rid of "double game" bug -!correct code fixed -!nummvp added. -Changed !load to !loadset, added !loadplayer -Buzzing in after question finishes bug should be fixed. 1.13 -!correct fixed some more -!incorrect command added? -!start updated (now !start Team1,Team2,numRounds,numPlayersPerRound,allowedQ,unallowedQ ) -Added !negs and !setnegs command -Added negs -The set no longer reloads itself after every game; it is now variable. Default is set to 3. -Added code to handle ties (when there are no more questions left in the set) 1.14 -Changed onDisconnect() code; TriviaBot should now properly reconnect if it's nick still exists on the channel. -Made various code changes, such as -Adding write() method so that TriviaBot could log errors disconnect errors (Added Date class to make error-logging easier) -Restructuring code so that it would use for-each loops instead of iterators -Eliminating the Arrays and Iterator import -Making the ArrayList questions only accept questions in the ArrayList -Changed hashCode() method in Player so that players could be added and retrieved more quickly -Various other code-restructuring changes -Eliminated !topic, !add, !getreq, !clearreq, and !request commands because it's never used, -Eliminated !delay, !mvp, !minMVP, !get, !negs, and !getcom --> now replaced by !get (variable) and !set (variable) -Changed !correct and !incorrect to make it much more lenient and flexible -Neg bug fixed 1.15 -Added Gamemaster -Ability to hide category title -Add answerDelay to !get/!set [old answerDelay renamed to answerTime to clarify the variables] -Add an option file for the default values -Got rid of loading the topic at startup -No ID on timed-out question fixed. -Break between questions now a variable (breakBtwQ) -Add a set parameter to !start (so it's now !start Team1, Team2, numRounds, numPlayersPerRound, allowedQ, unallowedQ, set) -Fixed bug where set would keep reloading a set that didn't contain a category in allowedQ -Fixed "no neg after time runs out" bug -Fixed major bug where the last letter of a word was optional (thanks to ikillkenny) -Fixed bug where you could make two teams with the same name? -Changed code in Question so that you only needed to put things in parantheses to make parts optional (instead of needing ?? at times) 1.160x -Added simple prompts -Loading sets now very different; each set is built up of smaller sets -Added several variables to !get/!set