
General Information :
---------------------------

BBQ Bot was written by Marko & Kennie
http://www.gamedesign-online.com/
current version: 1.0

Support @ http://www.gamedesign-online.com/forums/


Requirements :
---------------------------

- You will need an ET Server with Punkbuster enabled in order to run this bot
- You will need to have logs enabled in your server config AND the "log sync" will have to be set to 1 otherwise 
stats will only be printed at end of rounds
- The INSTALL.txt file provided with the BBQ bot archive details the installation steps you need to follow.

Bot Features :
---------------------------


BBQ bot is a server side application developed by Marko & Kennie to help in server administration. It runs directly 
on the game server and analyses the game output on a regular basis. It then parses the output to either send actions 
back to the server, or sends information to and IRC channel.

The bot can run under windows and linux.

Features :
- close to real-time analysis of the game output in order to act or send information to an IRC channel with very 
short delays
- low performance hit on the game server due to extremely light code
- IRC interface to print server events and remotly control the bot
- Anti swear system to strike when players swear and automatically kick them after 3 swears
- alert system, to customize text strings that have to be found in player chats to call alerts in the IRC channel 
(lets players report spawn killers, bad players, uneven teams and any server problem when admins aren't available)
- direct rcon commands to the server via IRC interface. This feature is password protected and the bot control 
password can be changed easily
- trace game events such as players connecting / disconnecting, name changes, map changes, frags, referee login...
- bot control via IRC to change the IRC behaviour of the bot (toggle events to display in IRC, send messages to 
players on the server...)
- servers stats generated on a regular basis and displayed directly to the players on the server
- auto reconnect on PART or KICK from IRC channel
- manual striking from IRC channel in case you see a swear/insult the bot dosen't come across
- client kicking / banning directly via IRC 
- Bot stats function (players on the server, total strikes given, total players kicked....)
- non IRC feature to ran in standalone looping back directly with the server
- IRC config file to execute a set of commands each time the bot joins a channel



Thanks for testing BBQ Bot. Please report any bugs, ideas or suggestions on http://www.gamedesign-online.com/


Credits :
---------------------------

Marko & Kennie would like to thank all the fP & 7Co clan guys for their help testing this bot, especially Kat, 
Flak, Pants & Burniole



=========================================  EXTENDED INFORMATION  ===============================================

Swear Word configuration :
---------------------------
- the swears.txt file located in the config directory lets you configure the list of swears you want players 
to be struck for
- deleting all the lines of the file removes the swear feature of BBQ bot
- type the swears in lower case letters, since all chats are converted to lower case before being analysed


Alerts configuration :
---------------------------
- the alert system looks for a group of words in a player chat and sends an alert to IRC if those words are found 
in the same order
- the alerts.txt file located in the config directory lets you configure the groups of words the bot has to look 
out for
- alert syntax: <word to look for>/<message to send to IRC channel if alert found>


Verbose configuration :
---------------------------
- the verboseLevels.txt file located in the config directory lets you configure the verbose settings
- the Verbose settings let you reduce the amount of information outputted by the bot and therefore the spam it 
could produce
- verbose levels let you toggle the reporting of frags, player events, swears, map changes, chats and alerts ON / OFF


IRC startup configuration :
---------------------------
- the startup.txt file located in the config directory lets you configure the IRC channel join options
- the goal of this file is to let the user have customized commands sent to the IRC server when the bot joins 
(e.g login to Q bot on quakenet or send login to IRC server)
- every non commented line in this file (line not starting with the '~' caracter) is parsed and sent as raw data 
to the IRC server



=========================================  BOT COMMANDS  ===============================================


# !!info :  List general information about BBQ bot in the IRC channel

# !!commands : Displays this list of commands in the IRC channel

# !!rcon : Sends an rcon commands to the server. Syntax is
!!rcon [botpassword] [command]

# !!toggle : This function lets you toggle reporting events ON / OFF. You can therefore decide not to have 
player frags or alerts displayed in IRC anymore. This is very handy if you have an anti-spam bot in your 
IRC channel (indeed, BBQ can output a large amount of information on large scale servers). You can list the 
different toggle elements with the following command: !!toggle list. It will ouput something as follows:
Toggles: Frags|Swears|playerEvents| Chats|Alerts|Maps [ -OFF / -ON ]
In the example above, you can see that only the Swears are turned on, meaning only swear strike alerts will 
be printed in IRC channel. All other events will be ignored...
Changing a toggle is quite easy. All you need is to use the following syntax:
!!toggle [botpassword] [eventname]
(eventname is one of the different toggles, written in lower case: frags, swears, chats, playerEvents....)

# !!chpass : Changes the BBQ bot administration password. Syntax is
!!chpass [botpassword] [new botpassword]

# !!msg : Sends a direct chat message to the server via RCON.
!!msg [message]

# !!testSwear : Lets you test a swear with BBQ. This is usefull to see if BBQ finds swears in certain text 
strings. It's mainly there to test the bot efficiency and to improve the swear list...
!!testSwear [test text]

# !!botstats : Reports global stats on BBQ bot, such as the number of strikes given, the number of players 
kicked, the number of players on the server...

# !!strike : If you see someone swearing on the server or directly through the IRC output and that strike is 
not dealt with by BBQ bot, you can give him a swear manually with this command. The second parameter in this 
function is the name of the player. Note that you do not need to type the entire name... On the other hand, 
if more than one player is found, strike won't be casted. Syntax is:
!!strike [botpassword] [name] [swear]

# !!kick : This function lets you kick a player manually via the IRC console. Just like the !!swear function, 
you do not need to type the entire player name... but if more than one player is found, the kick won't take 
place. Syntax is
!!kick [botpassword] [name] [reason]

# !!powerkick : This function lets you kick a player manually for a certain amount of minutes via the IRC 
console. Just like the !!swear function, you do not need to type the entire player name... but if more than 
one player is found, the kick won't take place. Syntax is
!!powerkick [botpassword] [name] [kick time] [reason]

# !!ban : This function lets you kick a player minually via the IRC console. Just like the !!swear function, 
you do not need to type the entire player name... but if more than one player is found, the kick won't take 
place. Syntax is
!!ban [botpassword] [name] [reason]

# !!pstats : This function will display the stats of a specific player. Just like the !!swear function, 
you do not need to type the entire player name... but if more than one player is found, the player stats 
won't be printed out. Syntax is
!!pstats [player name]
