rev. 02/17/2003
 Unix Configuration 

In order to have your Darkbot online you only need to download it, install it in your system and run ./configure. All steps during the configuration process are self-explanatory. Most of the main settings can also be changed online with a few commands, all covered by this document and explained in detail in the Command List Document.

Basic Configuration
: (./configure)
Offline Configuration Settings
(userlist.db 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 to your shell compressed archive from

ex: lynx

De-compress the downloaded archive
(tar -zxvf *.tar.gz)
tar -zxvf darkbot-6f6-r6.tar.gz

- Change to the newly created directory (darkbot6f6)
cd darkbot6f6

- Check if there is a newer version

Starting configuration process.

You do need to run ./configure - Darkbot don't build itself into your system without that step.
We are not going into detail and repeating the instructions shown when you run ./configure because they are self-explanatory.
Most of the doubts and frequent asked questions on that only resides on linux and not Darkbot matters. For instance, the default text editor is pico but you can use any other text-mode editor that comes with your distribution, like vi, less, Emacs, XEmacs, NEdit or other. "That stripping thing" on the end of compilation process - it shrinks a lit bit the size of the executable because some extra and non necessary codes are removed; makes no difference on Darkbot's performance so do whatever you want with it.
At any point during the configuration process you can abort (by pressing CTRL + C or other way your system or editor allows) and start again.
If for some reason you have an error and the compilation process is not completed, correct the error and after saving your changes type 'make'.
If you want to run Darkbot after answering 'no't to run on the end of compilation process just type 'darkbot'.
Have this in mind: Darkbot should work if you follow ./configure instructions. So, if isn't working, try again and read those carefully.

If you want to personalize more or change specific items to your Darkbot after ./configure you have to choices: run 'configure' again or you can edit the 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.

(follow the samples in the files and don't leave any empty lines)

How to do it.

[userlist.db] Adding users to Darkbot's user list.
Open darkbot\dat\userlist.db and check this sample line: '#* *user@* 3 0 mypass I need to use SETINFO' with your information.

#* = (with asterisk) adds user to all channels; #channel1 adds user to channel1
*user@* = is the mask of the user to add

3 = user level -- You should always be Darkbot's 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].

0 = number of times Darkbot saw that user on the default channel

mypass = If you want to define a password for you can do it replacing 'mypass' with user's one.

'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 '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)

(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)

[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, command character prefix and seen users switch. 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.
'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 you set Darkbot's default channel. If you want to add more channels use perform.ini.
'CMDCHAR= ' to set Darkbot's command prefix to trigger most of it's commands.

[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
PRIVMSG :login #darkbot blahblah
- to authenticate on Undernet's CService
PRIVMSG :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

[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 :login username password
PRIVMSG X :op username
PRIVMSG :login #darkbot blahblah
chanserv op #channel_here Darkbot
PRIVMSG Eggdrop_nick :op password #channel

[servers.ini] Changing or adding servers to Darkbot.
By default Darkbot connects to one of SuperChat servers 6664 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.

[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.

Write on yor shell 'darkbot' in order to have it connect to the Internet.
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 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 )

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 has been updated.

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.

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 mesage.

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

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

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

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,

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 for complete Darkbot information.

Set virtual host
If you want to set a virtual host to Darkbot type


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)

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
YourBotNick ADD hello hello N~
(now type 'hello' and Darkbot will reply 'Hello YourNick')
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'
YourBotNick DELETE hello
(Darkbot deletes the topic 'hello'. If you type hello he don't answer)

Darkbot Command List and all help documents.

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

info2.db - This is the information your darkbot learns and replys to when asked questions. 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.


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

(A) - Before proceed:

- Turn off your Darkbot by isuing command 'kill' (do ps x to see Darkbot's process id and kill -9 pidNumber or killall darkbot)

(B) -  Always make a backup of the file you want to work with before any change or make a copy of Darkbot's folder using command 'cp'. Leave the file or 'Copy of darkbot' as a safe backup in case you need any eventual information you already have in it.

(C) - Use linux text editors if you can to edit Darkbot files. If you can't use another text editor; 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 Windows Notepad and file userlist.db extension after editing and saving is userlist.db.txt rename it to userlist.db.

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


I  can't read and edit some files that have kind of strange black squares. Is that Code Black virus?
My Darkbot don't connect at all
My Darkbot don't recognizes me when I /msg Darkbot login mypassword.
My Darkbot don't connect to the servers I want.
My Darkbot is not giving me the greeting message (setinfo).
My Darkbot is not accepting commands if I repeat them in a short period of time.
My Darkbot  is not answering when someone asks the same question.
I'm stuck... I don't know how to turn off my Darkbot


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. Looks like you are editing those files in Windows so use Wordpad. You can also use Notepad but in some files you need to reconstruct the lines in a way of having each command line on a separated line. Never leave empty lines.

My Darkbot don't connect at all.
- Run Darkbot with minimal configuration (no hand editing at all) to see if connects to and goes to channel #darkbot. If you go there, Darkbot should react with a short answer if you write it's nick.
- 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.

My Darkbot don't recognizes me when I /msg Darkbot login mypassword.
- 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.
- 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'.
- if not, follow procedures on A, B, C and D.
- if Darkbot is still not accepting your login 
- Open your darkbot\dat\userlist.db
On the sample line '*user@* 3 0 mypass I need to use SETINFO'  You only need to overwrite  *user@* and 'mypass' in order to get your Darkbot online and access to it.
The mask *user@* 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 in 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. 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:
you shoud add as *
- if your IP looks like this: myident@
you should add as *myident@

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

My Darkbot don't connect to the servers I want.
Write on darkbot directory AddServer and follow instructions
- 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 6667' and NOT' . Save and connect.

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.

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. 

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. 

I'm stuck... I don't know how to turn off my Darkbot
You can use command !die online or
on your shell kill -9 pidNumber after doing 'ps x' do check it's pid, or killall darkbot.