INTRODUCTION
------------
In September of 2016, I forked this project, which hadn't been
developed in about 16 years.
While this project is labeled as C++, very little of C++'s advanced
features are used. The only usage of new C++ features in this code is
simple class structure, the new operator and C++'s iostream library for
file io.
Blitzed IRC Trivia web page: https://git.io/vi04F
Any questions about installation and configuring can be sent to
[email protected] or using the contact methods listed on the home page.
Please see the NEWS file for notes about required changes that need to
be made to your existing installation of Blitzed, if any.
This README is based from current development. To view the README from the
last release, use the link below.
https://github.com/andy5995/blitzed-irc-trivia/blob/v0.8.11/README
INSTALLATION
------------
- Run Configure (./configure)
- make
- ./src/trivia trivia.conf.sample
Note: It will compile the binary program to ./src/trivia. You can
move this file, your trivia.conf file and your question.db
file to any directory of your choice to run the bot in.
The question database MUST be in the same directory from which
'trivia' run.
COMMANDS
--------
channel:
.start - start the game
.version - show version
.uptime - give uptime
.status - give status (display how the game is configured)
.list - list players
.help - display help
privmsg:
stop <admin password>
Stop the game
set <admin password> <nick> <points>
Manually set someone's points (0 for remove)
force <admin password>
Force a question to be asked immediately.
list <admin password>
List nicknames structures and information (team/score)
load <admin password> <file>
Load config file
config <admin password> <parameter> <new value>
Alter config parameters in real time
Ex: config mypass GAME_SaveState 1
die <admin password>
Gracefully shutdown
ignore <admin password> <command>
Command can be:
+host <add regexp host to ignore list>
-host <remove regexp host from ignore list>
If no command is given, the list of ignores
currently in place will be given.
QUESTION.DB
-----------
Format:
type;question;answer1;answer2;answer3;
type:
1: Use phonetic matching algorithm
0: Literal matching only
question:
Full question including question mark
Answers:
answer1 is required and is the 'display answer'
This is the answer that will be displayed as the final answer.
For instance if the answer to a question is May 5th 1945, this
will be the "May 5th 1945"
answer2 is optional and is the 'hint answer'
This is the answer that the random hint will be generated from.
If this answer is missing, the first answer will be used.
All other answers are other combinations you can think of...
It will allow as many combinations of answers as possible.
The last answer must be followed by a closing ;
HOW ANSWER MATCHING WORKS
-------------------------
type 0:
Answers (and answer provided by player) are stripped
down of all non alphanumeric characters including spaces.
Example:
Joe Bob's House
becomes
JoeBobsHouse
The player's answer is then matched against every answer
in the database, literal matching only. Capitalisation does
not matter
type 1:
Same as above except that after literal matching is done,
further phonetical matching is done.
Bleep is the same as Bleepe.. etc
Chalk is the same as Chawlk.. etc
Take note that if your answers contain excessive amounts
of vowels it might be best to keep that individual question
type 0. The phonetic algothrim is very very tolerant to
vowels.
This file last updated 2016-09-21