############################
BattleBot 1.05 Documentation
############################

IMPORTANT NOTE
==============

I don't want to waste any more time replying to stupid questions about the bot.

As of NOW no mails regarding how to use the bot will be answered. If you can't make it work
after reading this text and looking at the BOT.CFG that goes with the bot then ask somebody
else.

The mails regarding the bot will be read and if they are relevant the questions asked will 
be added to the FASQ section in this file.

There has been only one interesting question about the bot and that was from a person that
wanted some help to program one for himself.

Pukealot/The Warfalcons

==============

We had no idea that the bots would become this popular and that so many people would ask so many
stupid questions. We would like to spend some time on battle.net without having to help people
sorting this stuff out, so here goes the "manual" for using BattleBots.

We fully understand why Blizzard didn't want to support this bot. 
We learned it the hard way - most people think that they are advanced users when they can tell
the Windows 95 Explorer from Internet Explorer 4.0(use Netscape instead).

Have fun

The Warfalcons

#######
History
#######


13.04.98 v1.00 - Initial release with some quirks in the parsing of BOT.CFG
		 Features: userdefinable commands, word recognition, people recognition(join), 
		 people recognition(speakers)
		
	
19.04.98 v1.01 - Fixed the userdefinable commands, fixed some of the quirks in the parser.
		 New features: Ignore people.(eg. fLaKeY because he is always making my bots 
		 flood out)
19.04.98 v1.02 - Added a [Server] section that lets the user choose whether to use an IP address
		 or just plain Battle.Net

26.04.98 v1.03 - Made the Stop Spamming message optional. Look at the [Spam] section.
		 Made the bot print out everything that is going on in its window.
		 (Send your bot to battle.net without being there yourself but look at what he
		 is doing)

30.04.98 v1.04 - Included wildcard option in [OnJoin] and [Speakers]
		 Rearranged some of the code - Nothing that would interest you people.		 		 

17.05.98 v1.05 - Added the ability to chat directly through the bot in the bot window.
		 Added freely configurable hotkeys for chat.
		 The bot cannot be flooded anymore - Thanks to HellsBells for telling me 
		 the timing of Battle.Nets flood check.
		 Now the bot will tell the owner which channel it is in upon entering a new
		 channel (this also makes the bot tell you where it is when it enters b.net)		
		 [OnJoin] and [Speakers] now work in a slightly different way. The names you
		 type in just need be a part of the name of the person who enters.
		 eg. 

		 [OnJoin]
		 SxS
		 reply %s hey fellow member

		 Will make the bot reply to all members of the SxS guild if they have SxS in
		 their names. (if such a guild was to exist)


########
CHATTING
########

Any key that is not configured as a hotkey will let you type in one line of text that will 
be "spoken" by the bot. You can't use any of the hotkeys as the first character but you can
use them any other place in the text.
The other chat functions behave exactly as if you were logged on to b.net through Diablo or Starcraft. 
When people whisper the bot it is represented on the screen as 
::W:: <speaker> text


###################
BOT.CFG Explanation
###################

BOT.CFG is read by BattleBot when you execute BattleBot. If you change BOT.CFG you have to 
restart BattleBot.exe in order to make your bot respond correctly. Make sure that BOT.CFG
is placed in the same directory as BattleBot.exe


You will need to know the 3 basic keywords in BOT.CFG to be able to use it:

say TEXT	This will make your bot perform the simple action of saying the TEXT
		eg. say Bel is a bot.
		
reply %s TEXT   This will make your bot say the name of the person it is responding to and the TEXT
		you can use %s up to 4 times in one reply.
		eg.  reply %s is a Bot
text %s TEXT %s This will make your bot respond with the name of the person it is responding to
		and add the text the speaker wrote. 
		eg. text %s just told me this %s can you believe that happy crappy????

The format for these commands are:
Person/Word that should be recognized. Keep in mind that the comparison is case-sensitive.
Action

eg.
=-BELGARATH-=
say Bel is a bot

will make the bot respond to =-BELGARATH-= with the words: Bel is a bot

Further examples will be given in the explanation of the specific BOT.CFG sections.

The [Server] is a new addition because everybody was saying that the gateway was closed and our
bot was banned. In the server section you can either type battle.net or one of the IP addresses
found in [HKEY_LOCAL_MACHINE\SOFTWARE\Battle.net\Configuration] in regedit in "Server List".
These were those I found in mine. To check whether you can log on to the server start a dos 
session and type:

ping 203.120.73.33 <enter>
to check whether 203.120.73.33 is working.

Here are the ones I found in my registry.
209.67.31.200
203.120.73.33
206.79.254.204
209.67.136.171
207.69.194.99
206.79.254.192
206.165.111.251
209.67.136.170
exodus.battle.net

examples:

[Server]
203.120.73.33

[Server]
battle.net

[Server]
exodus.battle.net

The [Channel] section lets you define which channel your bot will start in.
Always use lower case - it seems to give the best result.
Sometimes the bots can't enter the channel you want and will instead show up in Blizzard Chat 1.
If you can't find your bot anywhere else - look in the Blizzard Chat 1 channel.

[Channel]
bounty hunters

The [Name] section let's you define the name of your bot. Change this if and only if you have
created a unique name in Starcraft. If you change the name and the new name does not exist the
bot can't log on to Battle.Net.

[Name]
Guest

The [Password] section let's you define the password of your bot. The password is the one you
used when you created the unique name in Starcraft. If you don't have a unique name to use then
don't change it.

[Password]
Guest

The [Owner] section must hold the correct name of the character you want to control the bot.
If it is misspelled the bot will not recognize you and will not accept your defined commands.

[Owner]
Pukealot



The [Commands] section lets you automate actions eg. 
spam
say I am a BattleBot I am a BattleBot I am a BattleBot I am a BattleBot I am a BattleBot I am a BattleBot

When you whisper the bot the word spam. It will say I am a BattleBot a lot of times.
There are 2 built-in commands in the bot:
go TEXT
This will make the bot change channels to TEXT if the channel exists.
say TEXT
This will make the bot say TEXT. Use this to make your bot reply in an intelligent way.

The commands are used by whispering to the bot eg:
/w Guest say *****FART*****
/w Guest go bounty hunters
/w Guest <your commands>


[Commands]
shout
say SHUT UP!!!!!!!!!!
fart
say *********farts**********
bel
say Hey Bel you lowlife spammer

The [Words] section is where you make your bot respond to certain words.
The format is as always first one line with the keyword then one line with the responding action.

[Words]
cheat 
reply If you want real cheats you should go to warfalcons.base.org %s!!!
hack
reply %s Don't you think hacking is fun?
battle.not
say Probably the best dat file in the world
bot
reply %s talk to my creator if you are pissed at me
creator
reply %s if you want to know who made - then /whois me

The [HotKeys] section will let you configure specific ascii chars that will act as a hotkey.
The format is as always first one line with the hotkey then one line with the responding action.
[HotKeys]
1
Hey Lamers
2
Sod off you fools
3
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
4
Hahahahahhahaahahahahahahahahahah
5
Does anybody want to join my incredibly lame guild?? we are legit pk'ers who really suck!!! Honourable members are: ME!
6
SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM 
7

The [OnJoin] section lets you define which people the bot should respond to when they enter the
channel your bot is currently in. 
The format is as always first one line with the keyword then one line with the responding action.
If you make the first entry in the [OnJoin] section a * and a reply to that - the reply will chosen if
none of the the names below the * are matched.


[OnJoin]
*
reply hey %s
=-BELGARATH-=
say bel is a bot
=:{AB}:=
say bel is a bot
Guest
reply %s: Oh no another bot
Jilocasin
say Hey Jilo
Atilla
reply %s: Hello creator!!
Pukealot
reply %s: Welcome Master

The [Speakers] section is much like the [OnJoin] section. The actions are triggered whenever the 
listed person is saying something in the channel the bot is currently in.
If you make the first entry in the [Speakers] section a * and a reply to that - the reply will chosen if
none of the the names below the * are matched.
[Speakers]
*
reply eeeh did anyone ask for your opinion %s???
=-BELGARATH-=
say bel is a bot
=:{AB}:=
say bel is a bot
Atilla
say Atilla is right!
Jilocasin
say Jilo is a fake.

The [Ignore] section will make your bot ignore the listed people whenever they talk.
People often will make your bot flood out(Say more than accepted by Battle.Net)
Add these people to the [Ignore] section and have no more trouble with them.

[Ignore]
fLaKeD
fLaKeY
Gothic_Rose

The [Spam] section will allow you to customize the Stop Spamming message.
If you type in a lower case y the bot will reply the next line. It is by default a reply command.
if you type in anything else than y it will not respond to spam.
[Spam]
y
%s stop spamming lamer!!!

will make the bot reply 

=-BELGARATH-= stop spamming lamer!!!

whenever =-BELGARATH-= is typing in more text than accepted by the bot.


[Spam]
n
%s stop spamming lamer!!!

will never respond to spammers

The [Ends] section does nothing at all - except for saving me some time with programming the 
BOT.CFG parser. Let it rest peacefully at the end of the file.

[Ends]


#############################################
The FASQ: (Frequently asked stupid questions)
#############################################

Believe it or not - but these questions really have been asked!! One day you might find this
in Ripley's!!

Q:	How do I use the commands in my bot?
A:	Whisper your bot what you want him to do. If you have typed the Owner in correctly
	It will do as you tell it. eg. 
	/w Guest say ****farts**** 
	will make you bot say ****farts****

Q:	I am not sure how to use a bot, could you explain it to me?
A:	NO - read this file dammit.

Q:	Flooding / Spamming?
A:	Some people make the bot say more than is allowed by Battle.Net. This will make the bot
	"flood out". The exact same thing that happens to users when they spam too much.
	The bot will try to reconnect to Battle.Net. If it does not succeed within a couple of
	tries it will be disconnected and you will have to restart it.
	The [Ignore] list is really useful in this case.

Q:	How do I stop my bot?
A:	Press <ctrl>-c in the dos-window to terminate the bot.

Q:	What is a bot?
A:	bot is short for Robot. It is a small program that logs on through a text gateway and
	can be programmed to suit peoples purpose. Basically it is triggered by events like:
	People enter the channel, people talk, people whisper it etc.
	BattleBot has the advantage over most other bots that it can be relatively easliy
	configured by the user, and does not have to be reprogrammed just to add a word to
	its responses. Furthermore you can talk directly through battle.bot.

Q:	You wrote that BOT.CFG has to be placed in the same directory as BattleBot.exe.
	That's fine - but what is a directory?
A:	Get the fuck out of here!

Q:	How do I edit BOT.CFG?
A:	Use notepad.

Q:	Should I have saved the changes?
A:	Yes stupid

Q:	How do I change the name of the bot?
A:	If you don't want your bot to be called Guest##, you should:
	1) Create a Starcraft account with the name you want your bot to have.
	   If you do not create this account your bot can't enter Battle.Net with other names
	   than Guest.
	2) Type the name in the [Name] section in BOT.CFG.
	   (Delete the original name in bot.cfg)
	3) Write the password in the [Password] section in BOT.CFG.
           (Delete the original password in bot.cfg)
	
Q:	You wrote that I had to have Starcraft to name my bot. Isn't there any other way?
A:	Dammit fool - If there was any other way I would have told you.

Q:	How come my Bot does not greet me when it enters the channel I am in?
A:	It works the other way around - type /rejoin when the bot has entered the channel,
	then it will greet you.	Remember that your characters name must be typed correctly in
	the [Owner] section in BOT.CFG.