DarkBot

From S23Wiki
Jump to: navigation, search

http://www.darkbot.org/mambo/

Runs on Windows and Unix , Low memory usage, Small size program and easy to configure.

Multi-lingual - English, French, Spanish, Dutch, Latin, Arabic, Greek, Ebonics, Pig Latin, Russian- KOI8 encoding, Russian - CP1251 encoding, Portuguese, German, Italian, Chinese, Swedish, Norwegian, Romanian.

Dozens of commands and aliases, controlling functions of Darkbot Administration, Database Management, Channel Operation, User Access, Utilities, Status and Information.

Robot administration with commands to change online Darkbot's nickname, user id, virtual host, default channel and it's command character prefix; change servers, restart session or deactivate it; a sleep mode to temporarily stop reacting to channel text; it also has a command to send raw messages or notices to the server, channels or users.

Database controlled online or/and offline with dozens of commands making it possible to give strait or random answers to key-words or phrases, in human style, picking words from users and displaying them in the replies with a tokenized mechanism, output of replies with more than one line of text, or commands at a time; management of it's database with functions to add, delete, replace, display and backup topics/replies; use of wildcards on it's topics; several pre-defined but flexible variables that can be inserted on replies; a fast internal search engine permitting look for words in the database.




Commands
ABOUT
ACCESS
ADD
ADDUSER
ALARM
ALARMCLOCK
AUTOTOPIC
BACKUP
BAN
BANLIST
CALC
CHANINFO
CMDCHAR?
CYC
CYCLE
DATASEARCH
DATE
DEL
DELBAN
DELETE
DELUSER
DEOP
DEV
DEVOICE 	DFIND
DIE
DISPLAY
DOWN
DSEARCH
DV
DVOICE
FIND
FORGET
HELP
HLIST
HUSH
IDLE
ILC
INFO
INFO2
J
JOIN
JOINS?
JUMP
K
KICK
L
LANG 	LANGUAGE
LEAVE LENGTH
LOCATE
LOCATION?
LOGIN
LOOK
MASK
MATH
MEM
N
NAIL
NICK
OP
OS
P
PART
PASS
PASSWD
PASSWORD
PERMBAN
PERMBANS?
PING
QUE?
QUIT
RAM 	RAM?
RANDOMSTUFF
RANDOMSTUFF?
RANDSTUFF
RANDSTUFF?
RAW
RDB
REHASH
REMEMBER
REMOVE
REPEAT
REPLACE
RESTART
SAVE
SEARCH
SEEN
SENDQ?
SERVER
SETCHAN
SETCHAR
SETINFO
SETNICK
SETUSER
SHITLIST 	SLEEP
STORE
T
TEASEOP
TELL
TEMPBAN
TIME
TIMER
TO
TOPIC
UNIXTIME
UP
UPTIME
USERLIST
V
VARIABLES
VHOST
VOICE
WACK
WAKEUP
WHAT
WHERE
WHO

Administration
Nickname Change 	[3]
Changes for seconds Darkbot's current nickname to the one specified.
Command 	N | NICK
Syntax 	!NICK <newnick>
Example 	BotUser: !nick test123
-DB- Attempting to /nick test123
*** DB is now known as test123
*** test123 is now known as DB
Related Messages 	(if the user is not registered, logged in or type Darkbot's command character by mistake):
-DB- Try /nick Nick-dork.

(if no nick is specified):
-DB- Specify a nick!
See also: Set Nickname

=== top ===
Quit IRC 	[3]
Makes Darkbot log off IRC and shut down.
Command 	DIE | QUIT
Syntax 	!DIE
Example 	(with default reason):
BotUser: !die
*** Quits: DB (Killed (BotUser (cause I say so!)))

(with reason):
BotUser: !die hard
*** Quits: DB (Killed (BotUser (hard)))
Obs. 	'cause I say so' is the default reason. You can specify yours instead of that one
See also: Restart Session  

=== top ===
Raw Input 	[3]
Instructs Darkbot to send raw information directly to the server. You can use !raw privmsg #channel or nick and !raw notice #channel or nick followed by :text
Command 	RAW
Syntax 	!RAW <data>
Example 	BotUser: !raw privmsg #darkbot :I'm a help robot
DB: I'm a help robot

BotUser: !raw notice #darkbot :test
-DB:#darkbot- test

=== top ===
Repeat Data 	[3]
Repeats a given raw input command a number of times with a delay.
Command 	REPEAT | TIMER
Syntax 	!REPEAT <number> <delay in seconds> <privmsg | notice> <nick | #channel> <:data>
Example 	BotUser: !repeat 3 1 privmsg #darkbot :test
DB: test
DB: test
DB: test
Related Messages 	(if no parameters are specified):
-DB- Syntax: REPEAT <number> <delay> <raw-data>
See also: Raw Input  

=== top ===
Restart Session 	[3]
Restarts Darkbot with any changes saved to the configuration.
Command 	REHASH | RESTART
Syntax 	!RESTART
Example 	BotUser: !restart
*** Quits: DB (Restarting Darkbot6f6 ...)
*** Joins: DB
See also: Quit IRC  

=== top ===
Server Jump 	[3]
Makes Darkbot switch to another IRC server.
Command 	JUMP | SERVER
Syntax 	!SERVER <irc.server> [port]
Example 	BotUser: !jump irc.superchat.org
*** Quits: DB (Jumping to irc.superchat.org:6667)
*** Joins: DB
Related Messages 	(if no parameter set):
-DB- Syntax: JUMP <server> [port]
Obs. 	if no port is specified DB defaults to 6667

=== top ===
Set Channel 	[3]
Sets the Darkbot's default channel.
Command 	SETCHAN
Syntax 	!SETCHAN <#channel>
Example 	BotUser: !setchan #darkbot
-DB- Default channel: #darkbot
Related Messages 	(if no parameter set):
-DB- Syntax: SETCHAN <new channels>

=== top ===
Set Command Character 	[3]
Sets Darkbot's command character (by default, it is "!").
Command 	SETCHAR
Syntax 	!SETCHAR <command_character>
Example 	BotUser: !setchar >
-DB- New command char now: >
Related Messages 	(if no parameter set):
-DB- Syntax: SETCHAR <new command char>

=== top ===
Set Nickname 	[3]
Changes Darkbot's default nick to the new one specified
Command 	SETNICK
Syntax 	!SETNICK <newDB>
Example 	BotUser: !setnick HelpBot
***  is now known as HelpBot
Related Messages 	(if no parameter set):
-DB- Syntax: SETNICK <newnick>

=== top ===
Set UserID 	[3]
Changes Darkbot's userid.
Command 	SETUSER
Syntax 	!SETUSER <userid>
Example 	!setuser botident
-DB- Default userid now: botident
Related Messages 	(if no parameter set): -DB- Syntax: SETUSER <new userid>
Obs. 	requires a restart

=== top ===
Set Vhost 	[3]
Changes Darkbot's virtual host.
Command 	VHOST
Syntax 	!VHOST <new Vhost>
Example 	!Vhost VirtualHost.com
-DB- Default Vhost now: VirtualHost.com
Related Messages 	(if no parameter set): -DB- Syntax: !VHOST <new Vhost>
Obs. 	requires a restart

=== top ===
Sleep (deactivate) 	[3]
Prevents Darkbot from listening to topic queries or commands for 120 seconds (default).
Command 	SLEEP | HUSH
Syntax 	<DB> SLEEP
Example 	BotUser: DB sleep
*** DB falls asleep... ZzzZZzzZZzz
Related Procedures 	Check defines.h file [#define SLEEP_LEVEL] if you want to change the level at which user's can make Darkbot shut up (aka hush) (default is 3)
Modify  [#define SLEEP_TIME 400] if you want to change the default sleep time from the default 400 seconds
Modify [#define GOSLEEP_ACTION "1ACTION falls asleep... ZzzZZzzZZzz1"] if you want to change the default message for SLEEP.
Obs. 	This command is useful for help channels when is necessary to make Darkbot stop 'talking' while something important is being addressed in the chan.
See also: Wakeup 

=== top ===
Wake Up (reactivate) 	[3]
Reactivates Darkbot after being in sleep mode.
Command 	WAKEUP
Syntax 	<DB> WAKEUP
Example 	BotUser: DB wakeup
*** DB wakes up from a snooze.
Related Procedures 	Check defines.h file [#define WAKEUP_ACTION "1ACTION wakes up from a snooze..1"] if you want to modify the default message for wake up.
See also: Sleep (deactivate) 

=== top ===

Database Management
Adding Random Stuff 	[2]
Adds a string of text to be randomly displayed in the channel
Command 	RANDOMSTUFF | RANDSTUFF
Syntax 	<DB> RANDOMSTUFF <text>
Example 	BotUser: DB randomstuff test123
DB: BotUser, done. There are now 128 randomstuffs.
Related Messages 	(if no randomstuff is added): BotUser, what do you want to add?
Related Procedures 	Check defines.h file  [#define RANDOM_STUFF] if you want to enable or disable RANDOM_STUFF
If you want to change the required access level at which user's can on-line add Random Stuff (default is 2) change in [#define RAND_LEVEL 2]
To define the time in seconds you want Darkbot to say something in home channel when no one says anything modify [#define RAND_IDLE] (this will override the RAND_STUFF_TIME counter (default is 10 min).

=== top ===
Add Topic Reply 	[1]
Adds a topic and corresponding reply to Darkbot's database.
Command 	ADD | REMEMBER | SAVE | STORE
	simple topic/reply
	Syntax 	<DB> ADD <topic> <reply>
	Example 	<BotUser>: DB add test This is a simple topic and reply
<DB>: Okay
<BotUser>: DB, test
<DB>: BotUser, This is a simple topic and reply
	multiple word topic
	uses '+' as words separator
	Syntax 	<DB> ADD <topic+topic> <reply>
	Example 	<BotUser>: DB add word1+word2 This is a multiple word topic test
<DB>: Okay
<BotUser>: DB, word1 word2
<DB>: BotUser, This is a multiple word topic test
	Topic with wildcards
	uses '?' to substitute 1 character and '*' for anything in that place of the word or phrase
	Syntax 	<DB> ADD <topic|*|?> <reply>
	Example 	<BotUser>: DB add wil?card This is a wildcard topic example using ?
<DB>: Okay
<BotUser>: DB, wildcard
<DB>: BotUser, This is a wildcard topic test using ?

<BotUser>: DB add *wildcard This is a wildcard topic example using *
<DB>: Okay
<BotUser>: DB, show me wildcard
<DB>: BotUser, This is a wildcard topic example using *
	reply with variables
	uses Darkbot's data variables
	Syntax 	<DB> ADD <topic> <data-N~|C~|T~|B~|Q~|R~|!~|S~|P~|V~|W~|
H~|h~|t~|BAN|TEMPBAN>
	Example 	<BotUser>: DB add variables Hi N~, welcome to C~. I'm glad you asked now (T~) about "Q~" as R~ witnessed. I can tell you that I'm running V~ on server S~, port P~ and you can learn how this can be done at W~ or by typing !~Q~ and me, B~, will display Q~
<DB>: Okay
<BotUser>: DB, variables
<DB>: Hi BotUser, welcome to #darkbot. I'm glad you asked now (Sun Jul 1 02:41:56 2001) about "variables" as UserABC witnessed. I can tell you that I'm running Darkbot 6.f.6 on server irc.superchat.org, port 6667 and you can learn how this can be done at http://darkbot.org or by typing !variables and DB will display variables
	action reply
	uses a '+' right before the reply
	Syntax 	<DB> ADD <topic> <+><data>
	Example 	<BotUser>: DB add test +reply with an action
<DB>: Okay
<BotUser>: DB, test
*DB reply with an action
	user's action reply
	uses '?action' right before the topic and '?' or '*' right after the topic to match on those places regular IRC CTCP action sufix and prefix
	Syntax 	<DB> ADD <?><action><topic><?|*> <reply>
	Example 	<BotUser>: DB add ?action+test? topic must start with ?action+ and finish with a wildcard (* or ?)
<DB>: Okay
*BotUser test
<DB>: BotUser, topic must start with ?action+ and finish with a wildcard (* or ?)
	raw IRC commands reply
	uses raw IRC commands PRIVMSG, NOTICE, TOPIC, KICK, BAN and MODE prefixed by "-"
	Syntax 	<DB> ADD <topic> <-><Raw IRC command> <N~ | C~> <:><data>
	Example 	(full examples/replies are not shown here, so add the instructions and try yourself)

<BotUser>: DB add test -PRIVMSG N~ :this is a reply using prefix '-' and IRC command PRIVMSG which sends a private message to the user

<BotUser>: DB add test -NOTICE C~ :this is a reply using prefix '-' and IRC command NOTICE which sends a notice to all users in the channel

<BotUser>: DB add test -TOPIC C~ :this is a reply using prefix '-' and IRC command TOPIC which changes channel's topic

<BotUser>: DB add test -KICK C~ N~ :this is a reply using prefix '-' and IRC command KICK which applies a kick to the user on the channel

<BotUser>: DB add test -BAN C~ N~ :this is a reply using prefix '-' and IRC command BAN which applies a ban to the user on the channel

<BotUser>: DB add test -MODE C~ :+tn (this is a reply using prefix '-' and IRC command MODE which changes channel's modes - needs to be defined in defines.h) (DO NOT USE THIS COMMAND. Not active)
	PRIVMSG data reply as action
	uses $char(01) right before ACTION. To do _ type a space followed by $chr(01) and press key TAB - delete the space afterwards
	Syntax 	<DB> ADD <topic> <-><PRIVMSG> <N~ | C~> <$chr(01)><ACTION> <data>
	Example 	<BotUser>: DB add test -PRIVMSG C~ :.ACTION (to do the code before ACTION type a space followed by $chr(01) and press TAB. Delete the space afterwards)
	multiple replies
	uses '|' (pipe) to separate multiple instructions of raw IRC commands PRIVMSG, NOTICE, TOPIC, KICK and MODE. First instruction must be prefixed by "-"
	Syntax 	<DB> ADD <topic> <-><Raw IRC command> <N~|C~> <:><data> <|> <Raw IRC Command> <N~|C~> <:><data>
	Example 	<BotUser>: DB add test -PRIVMSG C~ :1st line needs '-' before the redirection command | PRIVMSG C~ :line2
<DB>: Okay
<BotUser>: test
Related Messages 	(if no topic is added):
DB: Add what, BotUser?

(if no reply is added):
DB: BotUser: What info to be added for test1?

(if already exists an entry for the topic):
DB: Sorry, there is an existing entry under keyword test1

(if there is an error opening info2):
DB: Unable to open dat/info2.db :(
Related Procedures 	Check defines.h file [#define REQ_ACCESS_ADD] if you want to change the required user access level to add help topics (default is 1)
The max length of each reply in info2.db (default is 400 characters) can be changed in darkboc.c [#define MAX_DATA_SIZE 400] (if you are loading your data from ram and the replies are all less than 400 chars you can save some ram).
You can also change the max topic length in [#define MAX_TOPIC_SIZE] (default is 50 characters); Modify [#define EXISTING_ENTRY "Sorry, there is an existing entry under keyword"] if you want to change the default message for existing entries in topics.
See also: Replace Reply - Recall Topic - Delete Topic/Reply - variables

=== top ===
Add Tokenized Replies 	[1]
It's a function that makes Darkbot to pick a word out of a phrase by it's corresponding string number.
Command 	basically the same commands for adding topics ADD | REMEMBER | SAVE | STORE and tokens 1~ 2~ 3~...
Syntax 	<DB> ADD <topic> <reply>
Example 	BotUser: DB ADD darkbot* 3~ 4~ 2~ 1~
DB: Okay, BotUser :)
UserABC: Darkbot is the best

DB: the best is darkbot
BotUser: DB ADD give+me+* +gives N~ 3~ big 4~
DB: Okay, BotUser :)
UserABC: give me a kiss
*** DB gives UserABC a big kiss

=== top ===
Backup Database 	[3]
Backs up the Darkbot database (dat/info2.db file).
Command 	BACKUP
Syntax 	!BACKUP
Example 	BotUser: !backup
DB: Backed up database.
Obs. 	Execute this command regularly so you have a copy of your topics in case of any data loss

=== top ===
Delete Topic/Reply 	[1]
Deletes a topic that has been stored in Darkbot's database.
Command 	DEL | DELETE | FORGET | REMOVE
Syntax 	<DB> DELETE <topic>
Example 	BotUser: DB delete test123
DB: BotUser: I have deleted topic #2, test123.
Related Messages 	if there is no topic test123 the answer will be:
DB: BotUser: I was unable to find the topic test123. Delete failed.
Related Procedures 	Check defines.h file [#define REQ_ACCESS_DEL] if you want to change the required user access level to delete help topics (default is 1)
Modify [#define CANT_FIND "Was unable to find"] if you want to change the default unable to find message.
See also: Display Topic Syntax - Replace Reply

=== top ===
Display Topic Syntax 	[0]
Displays the syntax of a topic's reply; also, will tell what file is being linked to when done with Random Topic's Replies commands
Command 	DISPLAY
Syntax 	<DB>DISPLAY <topic>
Example 	BotUser: DB display sup
DB: Raw data for sup is: ~sup

BotUser: DB display test123
DB: Raw data for test123 is: 123
Obs. 	This command is useful when you have a similar topic such as "hi" and "hello", you don't want to waste time by making two rdb files for each, just ask Darkbot what it's using for one, and link it in the other.

=== top ===
ILC 	[1]
ILC = Is Lamer Channel. This function is implemented to give channel helpers, operators or IRC operators a way of having a quick and brief background information about a given channel, as well as the date and mask of who wrote it. (Check Obs.)
Command 	ILC
Syntax 	<DB> <ADD|REMEMBER|SAVE|STORE> <ILC><+>[#]<channel> <description>
Example 	BotUser: DB add ilc+#channelABC known for spamming bots.
DB: Okay BotUser :)
UserABC: ILC #channelABC
DB: UserABC, ([Thu Sep 13 08:47:40 2001] BotUser!ident@host.domain.org): known for spamming bots.
Related Messages 	(if there is no ILC in Darkbot's database): 'DB: BotUser, I found no matching ILC for that channel.'
Obs. 	As more people is using Darkbot for purposes other than a robot to support general help channels, some commands can be adapted to accomplish different tasks without the need of changing the code. It's a matter of BotUser's imagination. For instance, because you can perform ILC without '#' prefix, you can register information about users; rename in your mind ILC's acronym for Identity Lamer Check and add user information instead of channel.

Example:
BotUser: DB ADD ILC+UserABC UserXYZ did a mass flood to #mychannel
DB: Okay BotUser :)
UserABC: ILC UserXYZ
DB: UserABC, ([Thu Sep 13 08:47:40 2001] BotUser!ident@host.domain.org): UserXYZ did a mass flood to #mychannel

=== top ===
Random Topic/Replies 	[2]
(RANDOMFILE commands) Adds topics that give random replies. These topics start with ~.
Command 	basically the same commands for managing single topics and randomstuffs plus rdb status commands.
Explanation 	How it works? Lets say instead of having only one reply for each keyword (topic) you want to have several ones. For instance, you want DB to randomly reply to 'hi" with 'Hi Nick ;)', 'Hello Nick ;)' and 'Hey Nick ;)'. First is necessary to create a topic with the correspondent link to the rdb file. Ex: DB add hi ~hi. (DB adds an entry 'hi ~hi' to dat/info2.db and creates a file hi.rdb in /dat directory). Next you need to add random replies. Ex: 'DB randstuff ~hi Hi N~ ;)', 'DB randstuff ~hi Hello N~ ;)' and 'DB randstuff ~hi Hey N~ ;)'. (DB will add those entries in hi.rdb). When someone writes 'Hi', DB will read from dat/info2.db which file is linked to 'Hi' (hi ~hi = hi.rdb), picks randomly one of the 3 entries from hi.rdb and displays it to the user. You can link more topics to the same random reply file, display, delete and see status of rdb files..
	To add random topic/files
	Commands 	ADD | REMEMBER | SAVE | STORE
	Syntax 	<DB> ADD <random_topic> <~random_link_entry)
	Example 	BotUser: DB add hi ~hi
DB: Okay, BotUser :)
	Related Messages 	-(if there are no replies set for that topic):
DB: Sorry, I cannot answer that topic because DB random text file (rdb) "dat/hi.rdb" was not found.
	To add random replies
	Commands 	RANDSTUFF | RANDOMSTUFF
	Syntax 	<DB> RANDSTUFF <~random_link_entry> <reply>
	Example 	BotUser: DB randstuff ~hi Hi N~ ;)
DB: Done, there is 1 topic under dat/hi.rdb

BotUser: DB randstuff ~hi Hello N~ ;)
DB: BotUser, done. There are now 2 randomstuffs

BotUser: DB randstuff ~hi Hey N~ ;)
DB: BotUser, done. There are now 3 randomstuffs.

(now DB replies randomly (Hi N~, Hello N~ and Hey N~) to hi)
	To link more topics to random file
	Commands 	ADD | REMEMBER | SAVE | STORE
	Syntax 	<DB> ADD <random_topic> <~random_link_entry>
	Example 	BotUser: DB add hello ~hi
DB: Okay, BotUser :)
(now DB uses the same reply of ~hi to hello)
	To delete random files
	Commands 	DELETE | REMOVE | FORGET | DEL
	Syntax 	<DB> DELETE <~random_link_entry>
	Example 	BotUser: DB del ~hi
DB: I have unlinked dat/hi.rdb.
	Related Messages 	(if the file doesn't exist): DB: BotUser, hi.rdb does not exist.
	Obs. 	This command only removes the dat/*.rdb file. You might want to delete also the corresponding topics-links from dat/info2.db (in this case 'hi' and 'hello'). If not, users will get the error message "Sorry, I cannot answer that topic because DB random text file (rdb) "dat/hi.rdb" was not found".
	To display random (rdb) files -- Informs witch file is being linked to the topic. This command is useful if you have a similar topic an don't want to waste time by making two rdb files for each one. Ask Darkbot what is using for one and link it in the other.
	Commands 	DISPLAY
	Syntax 	<DB> DISPLAY <random_topic>
	Example 	BotUser: DB display hi
DB: Raw data for sup is: ~hi

BotUser: DB display hello
DB: Raw data for hello is: ~hi
	Related Messages 	(if there is no topic associated with the query): DB: BotUser, I do not know of any topic named hi.
	To inform the number of rdb files in database
	Commands 	RDB
	Syntax 	<DB> RDB
	Example 	BotUser: DB rdb
DB: 1 1 11 (number of files = 1 = ~hi)
	To inform rdb file's creation date and author as well as linked rdb file
	Commands 	Command: RDB
	Syntax 	<DB> RDB <random_topic>
	Example 	BotUser: DB rdb hi
DB: -rw-rw-r-- 1 botuser botuser 33 Nov 29 00:06 dat/hi.rdb
Related Messages 	(if the syntax is not correct):
DB: BotUser, rdb files are made up of letters and or numbers, no other text is accepted.'
Related Procedures 	Check defines.h file [#define RAND_LEVEL 2] if you want to change the required access level at which user's can on-line add Random Topic Replies (default is 2)
See also: Add Topic/Reply - Delete Topic/Reply - Display Topic Syntax

=== top ===
Recall Topic 	[0]
Displays an entry stored in Darkbot's database. This is not really a command but the main objective of Darkbot - the ability to reply to any channel text if that text is matched by any of the topics (keywords) stored in it's database.
Syntax 	<DB> <topic> or (if GENERAL_QUESTIONS is enabled) <topic>
Example 	BotUser: DB, test123
DB: BotUser: 123

(if GENERAL_QUESTIONS is enabled)
BotUser: test123
DB: BotUser, 123
Related Messages 	(if Darkbot's nick is mentioned but no topic specified): DB: hmmm?

(if Darkbot don't have a reply for the query) DB: BotUser, *shrug*
Related Procedures 	Check defines.h file [#define GENERAL_QUESTIONS] if you want Darkbot to answer questions only whenDarkbot nick is specified before the topic (not recommended) (it's enabled by default)
Modify [#define WHUT "hmmm?"] and [#define DONNO_Q "*shrug*"] if you want to change those default messages.
Obs. 	Darkbot can be triggered when addressed in the following formats: DB, DB: DB: and DB ....
See also: Recall Topic Human Style

=== top ===
Recall Topic human style 	[0]
Triggers Darkbot with an interrogative human style sentence that begins with an interrogative adverb or pronoun (presently who, what, where) followed by any transitory word (usually a verb) and a topic
Command 	WHO | WHAT | WHERE
Syntax 	<DB> < WHAT | WHERE | WHO > <any_transitory_word> <topic>
Example 	BotUser: DB, who is test123
DB: Last I heard, 123

BotUser: DB what is test123
DB: BotUser: rumor has it, 123

BotUser: DB, where is test123
DB: BotUser heh, 123
Obs. 	The use of the transitory word is mandatory
See also: Recall Topic

=== top ===
Replace Reply 	[0]
Replaces a topic's reply to Darkbot's database
Command 	REPLACE
Syntax 	<DB> REPLACE <topic> <new_reply>
Example 	...first add a topic ...
BotUser: DB add test123 123
DB: Okay, BotUser :)
...
BotUser: DB replace test123 123456
DB: BotUser: I have deleted topic #7, test123.
DB: BotUser, test123 has been updated.
... now topic test123 replies 123456 instead of 123
Related Messages 	(if topic not found):
DB: I was unable to find entry: test123
Related Procedures 	Check defines.h file [#define NO_ENTRY "I was unable to find entry:"] if you want to modify the default message for no entry found.in topics.
See also: Add Topic - Display Topic Syntax - Delete Topic

=== top ===
Search in Topics 	[0]
Searches Darkbot's database for any replies that matches the string you enter.
Command 	FIND | LOOK | SEARCH
Syntax 	<DB> SEARCH <data>
Example 	BotUser: DB search darkbot
DB: I found one match, BotUser: darkbot
Related Messages 	-(if no itens found):
DB: Sorry, I don't have any entry for item_searched.. ## entries searched.

-(if more than ## matches):
DB: Found more than ## matches, please narrow down your search: (followed by the fist ## matched topics)

-(if no search string specified when used SEARCH):
DB: What should i be searching for, BotUser?;

-(if no search string specified when used FIND):
DB: What am I trying to find, BotUser?
Related Procedures 	Check defines.h file [#define NO_TOPIC "Sorry, I don't have any entry for"] if you want to modify the default message for no entry found in replies and topics.
Modify [#define TRY_FIND "What am I trying to find"] if you want to change default message for no entry found in replies and topics when command FIND is used..
See also: Search in Replies

=== top ===
Search in Replies 	[0]
Searches Darkbot's database for any topics that matches the string you enter.
Command 	DATASEARCH | DSEARCH | DFIND
Syntax 	<DB> DSEARCH <data>
Example 	BotUser: DB dsearch darkbot
DB: I found one match, BotUser: darkbot
Related Messages 	-(if no itens found):
DB: Sorry, I don't have any entry for item_searched.. ## entries searched.

-(if more than ## matches):
DB: Found more than ## matches, please narrow down your search: (followed by the fist ## matched topics)

-(if no search string specified):
DB: What should i be dsearching for, BotUser?
Related Procedures 	Check defines.h file [#define NO_TOPIC "Sorry, I don't have any entry for"] if you want to modify the default message for no entry found in topics and replies.
See also: Search in Topics

=== top ===
Tell User 	[0]
Displays a topic in reference to the person specified
Command 	TELL and [ABOUT]
Syntax 	<DB> TELL <nick> [ABOUT] <topic>
Example 	BotUser: DB tell UserABC about Darkbot
DB: UserABC: Information about darkbot can be obtained at http://darkbot.net
Related Messages 	-(if missing user and topic):
BotUser: DB tell
DB: Tell who, BotUser?

-(if missing topic):
BotUser: DB tell UserABC
DB: BotUser: What do you want me to tell UserABC?

-(if missing topic):
BotUser: DB tell UserABC about
DB: BotUser, Tell user about what?
Obs. 	transition word ABOUT is facultative
See also: Recall Topic

=== top ===
Variables 	[0]
Displays a list of variables to use with Darkbot.
Command 	VARIABLES
Syntax 	!VARIABLES
Example 	BotUser: !variables
DB: BotUser, data variables are: N~ (Nick), C~ (Chan), T~ (Time/date) B~ (Botnick), Q~ (Question asked), R~ (random nick), !~ (command char), S~ (current Server), P~ (current port) V~ (botVer), W~ (db WWW site), H~ (u@h), h~ (user's u@h without the suffix ~ if present), t~ (unixtime), BAN (sets a ban), TEMPBAN (bans for 60 sec)
See also: Add Randomstuff - Random Topic/Replies - Add Topic/Reply

=== top ===

Channel Operation
BAN 	[2]
IRC raw command permitting to ban users from the channel.
Command 	BAN
Syntax 	<DB> <ADD> <topic> <-><PRIVMSG> <C~> :text | BAN
Example 	BotUser: DB add ban+me -PRIVMSG C~ :okay N~. | BAN
Obs. 	It takes no parameters. Just "BAN" (all caps). The topic must be a raw one (starts with a - prefix). A kickban can be done using this syntax:
BotUser: DB add kickban+me -KICK C~ N~ :get out! | BAN
See also: Permban User - Delete Permban - Ban List - TEMPBAN

=== top ===
Ban List 	[1]
Lists permbans in Darkbot's database.
Command 	BANLIST
Syntax 	!BANLIST
Example 	BotUser: !banlist
-DB- *@poste*.ulaval.ca:0
-DB- End of PERMBAN list; 1 ban found.

(if ban list is empty)
-DB- End of PERMBAN list; 0 bans found.
See also: Permban User - Delete Permban - BAN - TEMPBAN

=== top ===
Channel Autotopic 	[3]
Automatically cycles channel's topic every 30 minutes. To turn autotopic off, use "0" (zero) in place of the topic.
Command 	AUTOTOPIC
Syntax 	!AUTOTOPIC <topic>
Example 	BotUser: !autotopic This is a test topic
-DB- AUTOTOPIC @ #channel ON: This is a test topic

BotUser: !autotopic 0
-DB- Autotopic on #darkbot is now OFF
Related Messages 	-(if no parameters are specified):
-DB- SYNTAX: !AUTOTOPIC <topic> (set to "0" to turn off)
Related Procedures 	Check defines.h file [#define AUTOTOPIC_TIME 1800] if you want to change the time interval in the cycle (default is 30 min)
Obs. 	DB needs to be +op

=== top ===
Channel Information 	[0]
Displays users totals in channel and slots allocated in ram.
Command 	CHANINFO
Syntax 	!CHANINFO
Example 	BotUser: !chaninfo
DB: BotUser, I see 2 users in #darkbot (2 user slots allocated in ram)

=== top ===
Channel Topic 	[2]
Changes channel's topic
Command 	T | TOPIC
Syntax 	!TOPIC <newtopic>
Example 	BotUser: !topic For help visit Darkbot page at http://darkbot.org
*** DB changes topic to 'For help visit Darkbot page at http://darkbot.org'
Obs. 	DB needs to be +op
See also: Channel Autotopic

=== top ===
Cycling Channel 	[2]
Parts/Rejoins a channel to resynchronize information
Command 	CYC | CYCLE
Syntax 	!CYCLE [#channel]
Example 	BotUser: !cycle #darkbot
DB: Cycling #darkbot
*** Parts: DB
*** Joins: DB
Obs. 	Command can be called from/to a different channel

=== top ===
Delete Permban 	[2]
Removes a u@h entry from Darkbot's permban database
Command 	DELBAN
Syntax 	!DELBAN <*user@*.host>
Example 	BotUser: !delban *@poste*.ulaval.ca.
-DB- Deleted permban #1, *@poste*.ulaval.ca.
Related Messages 	(if no bans in the list)
-DB- No such ban.
See also: Permban User - Ban List - BAN - TEMPBAN

=== top ===
Deop User 	[2]
Takes away channel ops from the person specified.
Command 	DEOP
Syntax 	!DEOP <nick>
Example 	BotUser: !deop BotUser
*** DB sets mode: -o BotUser
Related Messages 	(if no given nick):
DB: Specify a nick!
Obs. 	DB needs to be +op
See also: Op User - Up (op) BotUser - Down (deop) BotUser - Simulate Op

=== top ===
Devoice User 	[1]
Takes voice (-v) away from the specified nick
Command 	DEV | DEVOICE | DV | DVOICE
Syntax 	!DEVOICE <nick>
Example 	BotUser: !devoice BotUser
*** DB sets mode: -v BotUser
Related Messages 	(if no nick given):
Specify a nick/chan!
Obs. 	DB needs to be +op
See also: Voice User

=== top ===
Down (deop) BotUser 	[2]
Takes away your ops
Command 	DOWN
Syntax 	!DOWN
Example 	BotUser: !down
*** DB sets mode: -o BotUser
Obs. 	DB needs to be +op
See also: Op User - Deop User - Up (op) BotUser

=== top ===
Join Channel 	[2]
Tells Darkbot to join the channel you specify.
Command 	JOIN | J
Syntax 	!JOIN <#channel>
Example 	BotUser: !join #channel
DB: Joining #channel
See also: Leave Channel

=== top ===
Kick User 	[2]
Kicks someone off the channel. You can also use commands !nail or !wack
Command 	K | KICK | NAIL | WACK
Syntax 	!KICK <nick> or !KICK <#chan> <nick> [reason]
Example 	(with default reason):
BotUser: !kick UserABC
*** UserABC was kicked by DB (kick'ed: Requested!)

(with reason specified):
BotUser: !kick UserABC ReasonGoesHere
*** UserABC was kicked by DB (kick'ed: ReasonGoesHere)
Related Procedures 	Check defines.h file [#define DEFAULT_KICK "Requested!"] if you want to modify the default kick message.
Obs. 	DB needs to be +op

=== top ===
Leave Channel 	[2]
Tells Darkbot to leave the current channel or the one you specify.
Command 	L | LEAVE | P | PART
Syntax 	!LEAVE [#channel]
Example 	BotUser: !part #channel
DB: Leaving #channel
See also: Join Channel

=== top ===
Op User 	[2]
Gives the person specified channel ops.
Command 	OP
Syntax 	!OP <User>
Example 	BotUser: !op BotUser
*** DB sets mode: +o BotUser
Related Messages 	(if no nick specified):
Specify a nick!
Obs. 	DB needs to be +op
See also: Deop User - Up (op) BotUser - Down (deop) BotUser - Simulate Op

=== top ===
OPERATING SYSTEM INFO 	[0]
Displays information about the Operating System in use
Command 	OS
Syntax 	<DB> <OS>
Example 	BotUser: DB OS
DB: I am running Linux
(W)arning 	command not active in Windows versions

=== top ===
Permban User 	[3]
Sets a permanent ban in Darkbot's permban database
Command 	PERMBAN | SHITLIST
Syntax 	!PERMBAN <user@*.host> [reason]
Example 	(with default reason):
BotUser: !permban test@host.domain.net
-DB- Added in permban #1, test@host.domain.net; reason: Permbanned!

(with reason specified):
BotUser: !permban test@host.domain.net reason of the ban
-DB- Added in permban #2, test@host.domain.net; reason: reason of the ban
Obs. 	DB needs to be +op
See also: Ban List - Delete Permban - Mask - BAN - TEMPBAN

=== top ===
Simulate Op/Deop 	[2]
Tease someone by simulating OP and DEOP
Command 	TEASEOP | TO
Syntax 	!TEASEOP <UserABC>
Example 	(if user is not op):
BotUser: !teaseop UserABC
*** DB sets mode: +o-o+o-o+o-o UserABC UserABC UserABC UserABC UserABC UserABC

(if user is +op):
BotUser: !teaseop UserABC
*** DB sets mode: -o+o-o+o-o UserABC UserABC UserABC UserABC UserABC
Obs. 	DB needs to be +op;
This command never gives +op but deops if user is +o
See also: Op User - Deop User

=== top ===
TEMPBAN 	
IRC raw command permitting to temporarily ban users from the channel.
Command 	TEMPBAN
Syntax 	<DB> <ADD> <topic> <-><PRIVMSG> <C~> :text | TEMPBAN
Example 	BotUser: DB add tempban+me -PRIVMSG C~ :okay N~. | TEMPBAN
Obs. 	Works the same way as BAN with the difference Darkbot will unban the user in 60 seconds (using DBTIMERS). It takes no parameters. Just "TEMPBAN" (all caps). The topic must be a raw one (starts with a - prefix). A kickban can be done using this syntax:
BotUser: DB add kickban+me -KICK C~ N~ :sure, came back in 60s! | TEMPBAN
See also: Permban User - Delete Permban - Ban List - BAN

=== top ===
Up (op) BotUser 	[2]
Gives you OP.
Command 	UP
Syntax 	!UP
Example 	BotUser: !up
*** DB sets mode: +o BotUser
Obs. 	DB needs to be +op
See also: Op User - Deop User - Down (deop) BotUser

=== top ===
Voice User 	[1]
Gives voice (+v) to the person specified.
Command 	V | VOICE
Syntax 	!VOICE <User>
Example 	BotUser: !voice UserABC
*** DB sets mode: +v UserABC
Related Messages 	(if no nick given):
Specify a nick/chan!
Obs. 	DB needs to be +op
See also: Devoice User

=== top ===

Status and Information
COMMAND CHARACTER INFO 	[0]
Displays information about the command character in use (default is !)
Command 	CMDCHAR?
Syntax 	<DB> <CMDCHAR?>
Example 	BotUser: DB CMDCHAR?
DB: BotUser, my command char is: !simple topic/reply
See also: Set Command Character

=== top ===
CODE STATUS 	[0]
Displays information about darkbot.c file; total number of lines it has and when was last compiled as well as number of lines processed during the session.
Command 	INFO2
Syntax 	<DB> <INFO2>
Example 	BotUser: DB INFO2
DB: BotUser, src: darkbot.c (5590 lines of code), compiled @ Dec 13 2001. I have processed 469 lines of text since startup...

=== top ===
DATABASE STATUS 	[0]
Displays information about Darkbot's version, amount of topic/replies in info2.db, session uptime in hours and minutes, database activity (questions asked, topic additions and topic deletions) and processing time period of this command.
Command 	INFO
Syntax 	<DB> <INFO>
Example 	BotUser: DB INFO
DB: Running Darkbot6f6. I have 1 topics in my database, Uptime: 2 hours, 3 mins, There have been 4 questions asked, 1 topic additions, and 1 topic deletions. Process time: 0 secs
(W)arning 	Darkbot's version on Windows machines will show up 'Win'. ex: Darkbot6f6-Win

=== top ===
JOINS STATUS 	[0]
Displays information about how many joins Darkbot witnessed in the channel during it's session
Command 	JOINS?
Syntax 	<DB> <JOINS?>
Example 	BotUser: DB JOINS?
DB: I have seen 15 joins thus far.

=== top ===
LANGUAGE INFO 	[0]
Displays the current language setting
Command 	LANG | LANGUAGE
Syntax 	!LANG
Example 	BotUser: !lang
DB: BotUser, I speak English.
Related Procedures 	Check defines.h file [#define LANG 1] if you want to change the default language (default is English). Available languages are English, French, Spanish, Dutch, Latin, Greek, Ebonics, Pig Latin, Russian- KOI8 encoding, Russian - CP1251 encoding, Portuguese, German, Italian, Chinese, Swedish, Norwegian, Romanian.
More will be available soon. E-Mail play janson@superlink.net if you want to help add other langs.

=== top ===
MEMORY STATUS 	[0]
Displays information about how much memory is in use by darkbot.c
Command 	MEM | RAM
Syntax 	<DB> <MEM>
Example 	BotUser: DB MEM
DB: BotUser 13419 0.0 0.8 1496 264 ? S 15:39 0:04 ./darkbot
(W)arning 	command not active in Windows versions

=== top ===
PERMBANS INFO 	[0]
Displays information about how many permanent bans are loaded into ram
Command 	PERMBANS?
Syntax 	<DB> <PERMBANS?>
Example 	BotUser: DB PERMBANS?
DB: There are 2 permbans loaded into ram.
See also: Permban User - Delete Permban - BAN - TEMPBAN

=== top ===
QUE STATUS 	[0]
Displays information about how many items Darkbot has ready to be displayed.
Command 	QUE? | SENDQ?
Syntax 	<DB> <QUE?>
Example 	BotUser: DB SENDQ?
DB: BotUser, There is currently 0 items in Que.

=== top ===
RAM STATUS 	[0]
Displays information about if Darkbot is accessing dat/info2.db via direct disk or ram and the amount used.
Command 	RAM?
Syntax 	<DB> <RAM>
Example 	BotUser: DB RAM?
DB: I am accessing dat/info2.db via direct disk.
(W)arning 	command not active in Windows versions
See also: Sleep (deactivate)

=== top ===
RANDSTUFF STATUS 	[0]
Displays information about how many seconds are left to be displayed next random reply in randomstuff.ini
Command 	RANDOMSTUFF? | RANDSTUFF?
Syntax 	<DB> <RANDSTUFF?>
Example 	BotUser: DB RANDOMSTUFF?
DB: BotUser, 350 seconds left till randstuff
See also: Addind Random Stuff

=== top ===
SERVER STATUS 	[0]
Displays information about how many servers are in the server.ini file and what # server is in use
Command 	LOCATION?
Syntax 	<DB> <LOCATION?>
Example 	BotUser: DB LOCATION?
DB: There is 5 servers in my server list. I am currently on server #1.
Obs. 	server order is counting from last line in the file (#1 is the last line).
See also: Server Jump

=== top ===
UPTIME STATUS 	[0]
Displays information about Darkbot's unix computer time, system's uptime in days hours and minutes, how many users logged in the shell and load averages.
Command 	UPTIME
Syntax 	<DB> <UPTIME>
Example 	BotUser: DB UPTIME
DB: Uptime: 5:01PM up 305 days, 5:22, 1 user, load averages: 0.19, 0.38, 0.43
(W)arning 	command not active in Windows versions

=== top ===

User Access
Add User 	[3]
Adds someone into Darkbot's access list.
Command 	ADDUSER
Syntax 	!ADDUSER <#chan | #*> <*user@*.host> <level> [pass]
Example 	BotUser: !adduser #darkbot *jason@*.superlink.net 3 HisPassword
-DB- Added user: *test@*.test.net - level 3
Related Messages 	(if any parameter is missing):
-DB- Syntax: ADDUSER <#chan> <*user@*.host> <level> <pass>. ie; ADDUSER #darkbot *jason@*.superlink.net 3 hisPasswd ...
Obs. 	-Use #* if you want to give access to all channels.
-The default password is 0 (zero)
-Use command MASK if you are in doubt what User@host to use
See also: Delete User - Mask - Login - Password

=== top ===
Delete User 	[3]
Removes someone from Darkbot's access list
Command 	!DELUSER
Syntax 	!DELUSER <*user@*.host>
Example 	BotUser: !deluser *test@*.test.net
-DB- Deleted user: *test@*.test.net [3:0]
Related Messages 	(if no user is specified):
-DB- Enter the u@h to delete!
See also: User List - Add User

=== top ===
Join Greets 	[1]
Sets the string of text that is displayed when you join a channel if you are on Darkbot's access list. Adding a "+" (plus) in front of the message will turn it into an ACTION rather than a PRIVMSG. First time shows DB: 6!BotUser: I need to use SETINFO. To turn function off use !setinfo 0
Command 	!SETINFO
Syntax 	!SETINFO < message | 0 >
Example 	BotUser: !setinfo Welcome!!
-DB- Updated #1: [*janson*@*SuperChat.Org] info: Welcome!!
DB: 11!BotUser: Welcome!!

BotUser: !setinfo +feels happy to see ^!! wow,,, % times I see this $ in & :)
-DB- Updated #1: [*janson*@*SuperChat.Org] info: +feels happy to see ^!! wow,,, % times I see this $ in & :)
*** DB feels happy to see BotUser!! wow,,, 10 times i see this *janson*@*SuperChat.Org in #darkbot :)

BotUser: !setinfo 0
-DB- Updated #1: [*janson*@*SuperChat.Org] info: 0
Related Messages 	(If no parameters are specified):
-DB- My !setinfo variables are: ^ nick, % Number of joins, & Channel, $ user@host. Example: !setinfo ^ has joined & % times!! (also, if you make the first char of your SETINFO a "+" the setinfo will be shown as an ACTION)

=== top ===
Login BotUser 	[1]
Enables you to use Darkbot's commands.
Command 	LOGIN
Syntax 	/msg <DB> LOGIN <password>
Example 	BotUser: /msg DB login mypassword
-DB- Verified: #channel[1]
Related Messages 	(if is the first time you access DB):
You have not set a password, to set a pass: /msg DB PASS <oldpass> <newpass> (since this is your first time setting a pass, use '0' as your old pass)
See also: Password

=== top ===
Mask 	[0]
Outputs given user's user@*.host. Use this if you don't know what to put in the Add User or Permban command.
Command 	!MASK
Syntax 	!MASK <user@host>
Example 	BotUser: !mask test@user-123.test.domain.com
DB: BotUser, test@*.domain.com

BotUser: !mask test@12.34.56.78
DB: BotUser, This is an unresolved host (IP address), just delete the last section and replace with a *, ie; user@125.34.12.44 would be user@125.34.12.*
Related Messages 	(when no user@host specified):
DB: BotUser, Specify a host!
See also: User List - Add User

=== top ===
Password 	[1]
Changes the password.
Command 	PASS | PASSWD | PASSWORD
Syntax 	/msg <DB> PASS (oldpass) (newpass)
Example 	BotUser: /msg DB pass mypass1999 mypass2000
-DB- Password for test@host.domain.net has been updated
Related Messages 	(on missed parameters):
-DB- Syntax: /msg DB PASS <oldpass> <newpass>
Obs. 	You need to login prior to use this command; Max number of pass digits = 25
See also: Login

=== top ===
Seen User 	[0]
Displays the last time/date Darkbot saw the person specified
Command 	SEEN
Syntax 	!SEEN <UserABC>
Example 	(if specified nick is found in the database):
BotUser: !seen NickABC
DB: BotUser, I last saw UserABC (userid@userhost.com) 2 hours, 30 mins ago in #darkbot

(if no user is found in the database):
BotUser: !seen UserABC2
DB: BotUser, I have not seen UserABC2 in the last week.

(if specified nick is the user who does the query):
BotUser: !seen BotUser
DB: You'd know more about that than I do, BotUser.

(if no nick is specified DB displays the total number of items in the database (seen.ini file):
BotUser: !seen
DB: BotUser, There are 1000 SEEN's in my database.
Relate Procedures 	Check defines.h file
[#define SEEN] if you want to enable or disable SEEN as well as max length to keep a lastseen

[#define MAX_LASTSEEN] (default is one week - in seconds) and the seen reply message [#define SEEN_REPLY "in the last week."].

=== top ===
User's Idle Time 	[0]
Displays the specified user's idle time.
Command 	IDLE
Syntax 	!IDLE <nick>
Example 	BotUser: !idle UserABC
DB: BotUser, UserABC has been idle 1 minutes, 3 secs
Related Messages 	-(when the command is directed to the BotUser):
DB: BotUser, don't be lame.

-(if nick isn't in the channel):
DB: BotUser, I do not see NickGiven in #darkbot.

=== top ===
User List 	[1]
Lists those who are on Darkbot's access list.
Command 	USERLIST | HLIST | ACCESS
Syntax 	!USERLIST
Example 	BotUser: !userlist
-DB- jason@NewBrunswick.NJ.US.SuperChat.Org[#*:3:6] *test@*.test.net[#darkbot:3:0] *test@*.test.net[#darkbot:3:0]
-DB- End of Helper Userlist; 3 users found.
See also: Add User - Delete User

=== top ===

Utilities
Alarm Clock 	[2]
A handy alarm clock, allowing to add in a timer in your Darkbot, which will activate at a given time. Times can be set in minutes, hours, and days. Just add the prefix of h (hour), m (minute), or d (day) before the amount of time you want it at.
Command 	ALARM | ALARMCLOCK
Syntax 	<DB> ALARM <time type: d/h/m><time duration> <reminder data>
Example 	<BotUser>: !alarmclock m1 one minute timer.
<DB>: BotUser, alarmclock set to go off in 1 minute, 0 secs
... 1 minute later ...
<DB>: ALARMCLOCK by BotUser!~userid@userhost: one minute timer.
Related Messages 	(if any parameter is missing): -DB- Syntax: <time type: d/h/m><time> <text to say>
Related Procedures 	Check defines.h file [#define DBTIMERS] if you want to enable or disable the the alarm clock function

=== top ===
Calculator 	[0]
A handy calculator. Functions are: "+" (addition); "-" (subtraction); "*" (multiplication); "/" (division).
Command 	CALC | MATH
Syntax 	<DB> CALC <value> < + | - | * | / > <value>
Example 	BotUser: DB calc 1+1
BotUser: 2.000000
Related Messages 	- (if used incorrect operator):
BotUser: Illegal operation!

-(if value is missing):
DB: BotUser: Division by zero error!
Related Procedures 	Check defines.h file [#define DO_MATH_STUFF] if you want to enable or disable the calculator.

=== top ===
Character Length 	[0]
Displays the character length of the given string.
Command 	LENGTH
Syntax 	<DB> LENGTH <data>
Example 	BotUser: DB length antidisestablishmentarianism
DB: BotUser: it was 28 chars long.

=== top ===
Date & Time 	[0]
Displays date and time of the local machine where Darkbot is running
Command 	DATE | TIME
Syntax 	<DB> DATE
Example 	BotUser: !date
DB: BotUser, Wen Dec 1 09:10:51 1999.

=== top ===
Help 	[0]
Sends a notice to the user with a brief run down on how to use Darkbot
Command 	HELP
Syntax 	!HELP
Example 	BotUser: !help
-DB- I can be triggered by various forms of speech, all which must be addressed to me, in one of the following formats: DB, DB: DB: or even DB .... In my database, you can find a topic by saying my nick, <topic> . e.g.; DB, nuke ..........to do a search on a word, or partial text, just type: <mynick>, search <text> ... eg; DB, search nuke
-DB- I can also be triggered with even more human formats: DB, who is bill gates? .. You can also phrase it in a question: DB, where is msie? ...For more info about me, visit http://darkbot.net

=== top ===
Ping Reply 	[0]
Replies "PONG" on the channel to gauge how lagged you or Darkbot is.
Command 	PING
Syntax 	!PING
Example 	BotUser !ping
DB: PONG!

=== top ===
Unixtime 	[0]
Returns the time elapsed in comparison to the current time of the box Darkbot is on. (time since 00:00:00 UTC of January 1st 1970)
Command 	UNIXTIME
Syntax 	<DB> UNIXTIME <unixtime>
Example 	BotUser: DB unixtime 90280928
DB: BotUser, -192 days, 12 mins, 93 secs
Obs. 	use command calc if you need to to convert/calculate the result
See also: Calculator 


User access management with options to add, delete, login, change password, list, greet registered users on join, check users idle time, mask and function "Seen".

Several channel operation commands, i.e. op, deop, simulate op, voice, devoice, kick, ban and temp ban; set topic and auto-topic; join, leaves and cycles channels; channel information with total number of users and seen joins.

Commands to display the status and information of the memory, ram, code, database uptime and others.
Wildcards within multi-word topics to define NLP processing.

Handy utilities, like an alarm clock, a calculator, a way of checking the length of words or phrases, display date and time, ping, and unix time calculation.

Raw IRC commands on connect giving the possibility to automatically perform tasks like any IRC client program; CTCP ping and version replies.

Many more options and functions changeable on the configuration scripts.