rev. 02/17/2003
 Windows configuration 

In order to have your WIN32 Darkbot online you only need to download it, install it in your Windows system, add yourself as an administrator on userlist.db and eventually editing servers.ini, perform.ini and deop.ini. After that most of the configuration settings can be changed online with a few commands, all covered by this document and explained in detail on Command List Document.
However, you can also setup your Darkbot offline by editing the configuration files within darkbot\dat directory as you can see on this document.


Download
Installation
Basic Configuration
: (userlist.db)
Offline Additional Configuration Settings
(setup.ini perform.ini deop.ini servers.ini random.ini)
Going Online
: (darkbot.exe password login)
Online Additional Configuration Settings
(setinfo setnick setuser setchan setchar autotopic vhost)
Start Adding Topics
You Must Read
Other Files
: (info2.db randomstuff.ini permbans.db seen.db)
Something Wrong


Follow the order of events described here and you'll have your Darkbot up and running!

DOWNLOAD

(1) Download WIN32 self-extracting file from
   http://darkbot.sourceforge.net/win32.html

INSTALLATION

(2) Start the installation process into your Windows system by double clicking on the file's  icon and extracting it's contents to [ c:\ ] or the directory you specify.
Go to the directory where the extracted files are located [ c:\darkbot ].
You'll see several files in there as well as some sub-folders.

BASIC CONFIGURATION

This tutorial will start with minimal configuration.
If you just want to check if it connects to IRC go ahead and do it by clicking on darkbot.exe (opens a Ms-DOS window so you can see connection progress and status) or darkbot-nonconsole.exe (launches Darkbot on the background). By default Darkbot is ready to connect to irc.superchat.org with NICK=Darkbot, USERID=Darkbot, CHAN=#Darkbot REALNAME=Download @ http://darkbot.sourceforge.net, CMDCHAR=!, AUTOTOPIC=0 and VHOST=0. (point your IRC client to same server and channel to see your Darkbot)

In order to personalize your Darkbot you need to hand edit some files. All files on darkbot\dat\ are offline hand editable and all have basic syntax examples in it. Do not leave empty lines and disconnect your Darkbot from IRC before editing configuration files.

To start controlling Darkbot add yourself as an administrator (level 3) on your darkbot\dat\userlist.db [Level 3 is the highest, allow you to control all Darkbot functions; level 2 gives access to channel operation commands plus level 1 commands; level 1 only permits to manage Darkbot's database - it's the so called helper level; all other commands are public, meaning everyone can perform them].

(3) [userlist.db] Adding yourself to Darkbot's user list.
Open darkbot\dat\userlist.db and substitute '#* *user@*.yourhostmask.com 3 0 mypass I need to use SETINFO' with your information. You only need to overwrite *user@*.yourhostmask.com'. Everything else can be done online. If you want to define a password for yourself you can do it now in place of 'mypass'. 'I need to use SETINFO' is a message Darkbot sends to newly registered users in order to remind them to define or not it's greeting message. Leave it as is or write, for example, "Hi Boss ;)". You can also replace the setinfo message with a 0 (zero) to disable it. (You can add more users from online with the !adduser command or delete with the !deluser command)
Save and close userlist.db
(see on Something Wrong help on My Darkbot don't recognizes me when I /msg Darkbot login mypassword for examples or if you have doubts or problems)
If you are not in a rush, want to see your Darkbot in action and finish configuring it online jump to (9) GOING ONLINE; if you want to keep editing offline before you launch your Darkbot follow next steps.

OFFLINE ADDITIONAL CONFIGURATION SETTINGS
(follow the samples in the files and don't leave any empty lines)

(4) [setup.ini] Open darkbot\dat\setup.ini.
This is the file you need to edit to setup your Darkbot's nickname, username, realname, default channel to join, virtual host, and command character prefix. Change the contents of the file as you need overwriting existing parameters. Do not remove anything before '='. Do not leave extra spaces or lines. Do not use carriage returns. Save and exit.
Obs.:
'VHOST= ' to set your virtual host (must be a registered domain pointed to the same computer as Darkbot and configured for IRC)
'CHAN=#ChannelHere' to set Darkbot's default channel. If you want to add more channels use perform.ini.
'CMDCHAR= ' to set Darkbot's command prefix in order to trigger most of it's commands.

(5) [perform.ini] Having Darkbot performing IRC commands automatically.
You can make Darkbot perform a list of raw IRC commands when connects to the server (as mIRC's perform function). You can make your Darkbot join other channels, perform mode changes, login to channel services with it. Depends on each network, IRC acknowledgment and your imagination the commands you can add.
Open and edit darkbot\dat\perform.ini. Write one command per line. Examples:
- to join an additional channel besides default one
JOIN #Channel_here
- to set modes
MODE #Channel +nt
- to set a topic as soon as enters a channel
TOPIC #Channel_here :this is a test topic
- to send a message to you as soon as it connects
PRIVMSG YourNick :hey... I'm here
- to send a notice to you
NOTICE YourNick :be ready to feed me :p
- to authenticate on Superchat.org
PRIVMSG serv@superchat.org :login #darkbot blahblah
- to authenticate on Undernet's CService
PRIVMSG x@channels.undernet.org :login username password
- to have bot X giving op to your Darkbot
PRIVMSG X :op #channel_here username
- to login and get Ops on a eggdrop
PRIVMSG Eggdrop_nick :op password #channel
General rule to send raw IRC messages is preceding the message with ':'. However there are situations where you might be able to perform commands without it.
- to identity your Darkbot on some servers
NICKSERV IDENTIFY darkbot_password
- for some channel services
CHANSERV OP #channel_here Darkbot

(6) [deop.ini] Changing Darkbot's behavior when is not Op.
You can have your Darkbot perform commands when loses channel Op like messaging you, automatically asking Op to the channel service or another bot or Ops. Open and edit darkbot\dat\deop.ini. Check the examples bellow. Leave this file blank if you want it to do nothing. (see also examples used on perform.ini)
PRIVMSG #channel_here :Hmm, wish I had ops...
NOTICE Your_nick : I lost Ops :(
PRIVMSG x@channels.undernet.org :login username password
PRIVMSG X :op username
PRIVMSG serv@superchat.org :login #darkbot blahblah
chanserv op #channel_here Darkbot
PRIVMSG Eggdrop_nick :op password #channel

(7) [servers.ini] Changing or adding servers to Darkbot.
By default Darkbot connects to one of SuperChat servers
irc.superlink.net 6664
irc.superchat.org 6667
Open and edit darkbot\dat\servers.ini. You can list as many servers as you want, so if it's disconnected, it'll switch to others.  Do not leave empty lines. Save and exit.

(8) [random.ini] Changing replies random prefix.
If you want to change the prefixes Darkbot uses when answers a question that uses no variables, open and edit darkbot\dat\random.ini following the syntax and instructions shown. Instructions in the file are self-explanatory. Darkbot uses randomly one of the prefixes listed on this file.

GOING ONLINE
(9) [darkbot.exe | darkbot-noconsole.exe] Connect to the Internet.
Double click on one of the two executable files within Darkbot package that needs to be launched; darkbot.exe (a MS-DOS box will open with Darkbot's initialization information) or on darkbot-noconsole.exe (it will load Darkbot into the background not opening a MS-DOS window). You can also run Darkbot by opening yourself a MS-DOS window and writing darkbot followed by 'return'. Wait a little bit and if you didn't change servers.ini in order to use another network, Darkbot will join channel #Darkbot at SuperChat network.
(To join this network type in your IRC client /server irc.superchat.org and /join #darkbot as soon as you are logged in)

If another nick Darkbot is already there, your Darkbot will take nick Darkbot0, Darkbot1 etc. (You can see witch one is yours by doing /whois and looking at the output info. Will have the same hostmask as yours or the machine where it is running).
You can have Darkbot jump to another server by performing !JUMP command.
(NOTE: Information about this Family Oriented Network administrated by Darkbot's author can be found at http://www.superchat.org/ )

(10) Setting or changing the password to access Darkbot (25 characters maximum). If you didn't change 'mypass' on userlist.db write
/msg Darkbot pass mypass my_new_pass.
After changing it you'll receive a notice like this:
-- Password for youruserid@yourhostmask.com has been updated.

(11) Login to Darkbot:
Now you have to authenticate yourself to Darkbot to perform some commands. To do so type
/msg Darkbot LOGIN YourPass
You'll receive a notice like this from Darkbot:
-- Verified: #darkbot[3]
Notes: if Darkbot is Op it'll give you Voice and Op on all channels where both are; have in mind - for security reasons - if you or Darkbot leaves the channel you have to login again when returning.

Proceed with the remaining steps if you want to change any settings or you didn't configure them offline.

ONLINE ADDITIONAL CONFIGURATION SETTINGS
All the following commands are explained in detail on the Command List Document.

 (12) Set greeting message
If you want Darkbot to greet you when you join the channel and you didn't already edited on userlist.db 'I need to use SETINFO' type, for example,
!SETINFO I think I know you ;P
(!setinfo 0 disables the function; typing !setinfo without any parameters gives you a some help about the command)
Next time you join the channel Darkbot will greet you with that message.

(13) Set Darkbot's nick name
In order to have Darkbot with a nick you like, you only need to type,
!SETNICK MyDarkbot

(14) Set userid
If you want to change Darkbot's user id type,
!SETUSER newuserid

(15) Set default channel
To instruct Darkbot what channel must be the default one, type,
!SETCHAN #YourChannel

(16) Set Command Character
If you want to change default's command prefix [ ! ] issued to Darkbot to execute some commands and, for instance, you want to use command character '>' type,
!SETCHAR > 

(17) Set auto topic
Auto-topic function makes Darkbot repeat channel's topic you specify every 30 seconds (default). To do so type, for example,
!AUTOTOPIC Visit http://darkbot.sourceforge.net for complete Darkbot information.

(18) Set virtual host
If you want to set a virtual host to Darkbot type
!VHOST your.vhost.com

--**--

YOU ARE DONE!

The remaining files within \dat folder can also been edit offline. info2.db (stores topics and corresponding replies), randomstuff.ini (stores random replies), seen.db (stores the list of users seen by Darkbot) and perbans.db (stores permanent bans)

START ADDING TOPICS
As all commands in this document YOU MUST LOGIN (/msg BotNick LOGIN yourpass) before execute any Darkbot's command)! Also, you need to read the complete command list document where you find a more detailed explanation about each one.
This is only a superficial help to get you add, modify and delete basic topic replies.
Login to your Darkbot
Type:
YourBotNick ADD hello hello N~
(now type 'hello' and Darkbot will reply 'Hello YourNick')
Type:
YourBotNick MODIFY hello Hi N~, thanks for coming to C~  
(now type 'hello' and the Darkbot's reply was modified to
'Hello YourNick, thanks for coming to #YourChannel'
Type:
YourBotNick DELETE hello
(Darkbot deletes the topic 'hello'. If you type 'hello' Darkbot don't answer)

YOU MUST READ
Darkbot's Complete Command List and all help document

Obs: If you want to have a shortcut to open Darkbot from your
desktop, right click on darkbot.exe and choose Send To | Desktop (create shortcut)


                               ------------------ " -------------------

OTHER FILES
info2.db - This is the file where topics and replies are stored, the place where Darkbot gets information to 'talk'. It's the main database. Format is:

A topic can be more than one word, but will be separated with +'s instead of spaces. If a data starts with a +, the reply will be in the form of an action. If the data starts with a -, the output can be stacked using PIPES and you can use raw data, to do things such as NOTICE, PRIVMSG and even KICK. The symbol
"^" is the $nickname variable. The ^R (reverse control char) is the $chan variable. While this may seem a bit confusing... don't worry about it, It's very simple, just hard to explain in words without SHOWING you the bot in action.
randomstuff.ini - List of random things to say. You can add more online by saying: RANDOMSTUFF where is the name of your bot, and is the information to add.
permbans.db - This is a text file, just a .db (database) file name extension. Use the !PERMBAN and !DELBAN commands from on-line to add\delete.
seen.db - This is a list of people your bot has seen. You can access it with !SEEN , seen's
over one week old are deleted.


SOMETHING WRONG


All suggestions here are proved to work on all Windows flavors and several machines. Although we believe there are no side effects to your computer or to yourself in following them, do it at your own risk. Do not blame Darkbot in case it decides not answering you.

Before proceed:
(A) - Shut down your Darkbot by closing it's MS-DOS window. Press CTRL + ALT + DEL to open task manager and make sure there is no entry with name ' darkbot' (not C:\darkbot if exists). If not, press ESC. If so, highlight it and click 'End Task'. Open Task Manager again to make sure there is no 'darkbot' process running.  At this time check also if there is an entry for ' Winoldap' (it's a System Agent related file, not a Darkbot one. Sometimes stays on even after closing a MS-DOS window). If so,   that could cause system problems and/or Darkbot malfunction so ... 'End Task' it also. Follow this procedure every time you turn your Darkbot off.

(B) -  Always make a backup of the file you want to work with before any change or make a copy of Darkbot's folder by highlighting it's name, pressing CTRL + C followed by CTRL + V. Leave the file or 'Copy of darkbot' as a safe backup in case you need any eventual information you already have in it.

(C) - In case of persistent problems try using another text editor to edit your Darkbot files. The one you are using might be adding hidden codes or changing the format of the original files. Check if file extension is the same. For instance, if you are using Notepad and file userlist.db extension after editing and saving is userlist.db.txt rename it to userlist.db. You can check that by going to your Windows Explorer and Tools | Folder Options | View | unmark 'Hide file extensions for known file types' | mark 'Show Hidden files and folders'. Undo that when you are done. It's always a good idea to delete those files and having new ones in case of suspicion of being corrupted. You can overwrite them with ones from the original compressed Darkbot file. (Wonder how to edit those files that Microsoft don't associate with any program? Right click on the file, then 'Open with ...' and choose 'notepad'.)  

(D) - Do not leave empty lines on the middle of others or on the end of the text.

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

(1)  I  can't read and edit some files that have kind of strange black squares. Is that Code Black virus?
(2) - My Darkbot don't connect at all
(3) - My Darkbot don't recognizes me when I /msg Darkbot login mypassword.
(4) - My Darkbot don't connect to the servers I want.
(5) - My Darkbot is not giving me the greeting message (setinfo).
(6) - My Darkbot is not accepting commands if I repeat them in a short period of time.
(7) - My Darkbot  is not answering when someone asks the same question.
(8) - My Computer freezes and or WINOLDAP caused a general protection fault in module USER.EXE at 0004:00001d43.
(9) - I get an 'ERROR! Aborting program. (SIG_SEGV) Uptime: 0 hours, 0 mins' and Windows error on MSWSOCK.DLL when launching my Darkbot.
(10) - I'm stuck... I don't know how to turn off my Darkbot

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

(1) - I can't read and edit some files that have kind of strange black squares. Is that Code Black virus?
Darkbot is done in a way that is very safe in all aspects not only on IRC but also on it's invulnerability to virus or trojans. So no, it's not any virus or nothing like that. Those are codes left by our editor when tabs and carriage returns are used. Use Wordpad. You can also use Notepad but in some files you need to reconstruct the lines in a way of having each command on a separated line. Never leave any empty lines.

(2) - My Darkbot don't connect at all.
(2.1) - Click on darkbot.exe and run it with minimal configuration (no hand editing at all) to see if connects to irc.superchat.org and goes to channel #darkbot. If you go there, Darkbot should react with a short answer if you write it's nick.
(2.2) - if not, install Darkbot again from the original compressed file. If problem persists your original compressed Darkbot file or some of it's contents might be corrupted so download it again from Darkbot's official site. Go to (2.1).

(3) - My Darkbot don't recognizes me when I /msg Darkbot login mypassword.
(3.1) - After following procedures on (A) add yourself to darkbot\dat\userlist.db - Save and exit - Connect Darkbot again and try to /msg Darkbot login yourpassword.
(3.2) - if Darkbot notices you as accepting your login, write on the public window 'Darkbot add test 123'. Darkbot should answer 'Okay'. Write 'test'. Darkbot should answer '123'.
(3.3) - if not, follow procedures on A, B, C and D.
(3.4) - if Darkbot is still not accepting your login 
- Open your darkbot\dat\userlist.db
On the sample line '*user@*.yourhostmask.com 3 0 mypass I need to use SETINFO'  You only need to overwrite  *user@*.yourhostmask.com and 'mypass' in order to get your Darkbot online and access to it.
The mask *user@*.yourhostmask.com should match the one you have when you connect to the same network where your Darkbot is (do /whois to_ yournick to compare it). You must use a wildcard * on all portions of the mask that change every time you connect. General concept is you should substitute all changing items on your mask with an asterisk (*).
- While connected do /whois YourNickHere and check the first line of the output. 
On the userid/ident side (the one on the left of @) you must use one * right before of it on your userlist.db entry. Do not use the format *!*myident@blah.blah.blah. If that ident has a leading ~ don't use it. ~myident@blah.blah.blah or myident@blah.blah.blah should go to userlist as *myident@blah.blah.blah. If your ident changes at times (some characters are missing like this ~myid@blah.blah.blah)  on the right side, right before @, use the wildcard on both ends, i.e., *myid*@blah.blah.blah.
On the IP address side, right of @, compare what you have with the examples bellow.

Static IPs (never changes):
- if your IP looks like this: myident@myhost123.mydomain.com
you should add as *myident@myhost123.mydomain.com
- if your IP looks like this: myident@11.222.12.123
you should add as *myident@11.222.12.123

Dynamic IPs (changes with each connection):
- if your IP looks like this: myident@myhost123.mydomain.com and if the portion that changes for every connection is '123'
you'll add *myident@myhost*.mydomain.com
- if your IP looks like this: myident@11.222.12.123 and if the portion that changes for every connection is 12.123 you'll add *myident@11.222.* 

(4) - My Darkbot don't connect to the servers I want.
- follow procedures on A, B, C and D.
- open servers.ini and remove the servers in there adding those you would like Darkbot to connect to. Syntax must be .irc.server.here 6667' and NOT irc.server.here:6667' . Save and connect.

(5) - My Darkbot is not giving me the greeting message (setinfo).
Darkbot ignores whoever rejoins a channel for a period of time. The default length of time to not recount someone when rejoins the channel is set to 60 seconds.

(6) - My Darkbot is not accepting commands if I repeat them in a short period of time.
Darkbot ignores for a certain period of time repeated commands to avoid flooding. Use one command alias or wait a couple minutes. 

(7) - My Darkbot  is not answering when someone asks the same question.
Darkbot will not reply to a topic already asked (with same syntax) during a certain period. By default  that length of time is set to 5 seconds. 

(8) - My Computer freezes and or WINOLDAP caused a general protection fault in module USER.EXE at 0004:00001d43.
When System Agent tries to shut down an MS-DOS session, the message "Windows cannot shut down this program automatically..." is normally displayed.
If this message is left open (either because it is behind a currently running program or it is ignored) and System Agent tries to shut down a second MS-DOS session, the general protection (GP) fault occurs.
Close that dialog and press CTRL + ALT + DEL and End Task 'darkbot' and 'Winodalp'.

(9) - I get an 'ERROR! Aborting program. (SIG_SEGV) Uptime: 0 hours, 0 mins' and Windows error on MSWSOCK.DLL
Check VHOST on setup.ini. You are not able to use a virtual host if it's not assigned to that computer and/or not configured to work on IRC.

(10) - I'm stuck... I don't know how to turn off my Darkbot
You can use command !die online or
click on the 'x' on the upper right corner of your MS-DOS window. If you started Darkbot from an open MS-DOS window you can also press CTRL + C. See also procedures mentioned in (A)

home
about  
help
forum
downloads