The infobot connects to an Internet Relay Chat (IRC) server, joins some channels (maybe), and begins accumulating factoids. To run one, download the source, uncompress it, untar it, edit the config files, and it up.
Interacting with the bot is pretty straightforward. Most of the commands and variables available to users are listed below. The bot will interact via message or on-channel.
Saying something like "X is Y" somewhere that the infobot can see it will cause the bot to store a factoid, unless X is already defined. It sets the value of X to Y.
You can ask an infobot about something in a number of different ways, including "what is X?", "where is X?", or just plain "X?".
if you just want to change a part of a factoid, use
the s///
operator. you have to address the bot
or use a private medium to do this.
MyBot, X =~ s/A/B/
will change the first occurence of A to B in the factoid called X.
also
One can extend an existing factoid using the
keyword also
poink is also a silly word
forget
A factoid can easily be deleted by using
infobot, forget poink
no, ...
You can change the entry for a factoid completely using
no, infobot, x is wugga wugga.
which deletes the prior entry (if possible) and replaces it with the new one.
tell
A user can ask an infobot to tell someone else something.
infobot, tell fimmtiu about no web
karma for a concept may be incremented or decremeted using
++
and --
. You can get the
current karma 'score' for something by asking for it.
oznoid++
oznoid--
karma for oznoid
status
infobots reply to status requests.
[url!infobot@ALF5.SPEECH.CS.CMU.EDU] Since Fri Mar 26 06:42:27 1999, there have been 409 modifications and 2604 questions. I have been awake for 5 days, 4 hours, 24 minutes, 18 seconds this session, and currently reference 47529 factoids.
join #infobot
On IRC, you can tell the infobot to join a channel that it's allowed to join with
infobot, join #infobot
If it is allowed to (in its paramter settings), it will try to join the channel.
part #infobot
This causes the bot to leave the given channel
infobot, part #infobot
leave
is a synonym for part
.
|
You can set a list from which to pick a random response by
using |
x is a|b|c|d
When x is asked about, the infobot will randomly choose from
the |
-spearated list.
<reply>
factoid tag.
Normally, when the infobot replies to "What is X", it says "X is Y". This form makes it just reply "Y".
X is <reply> Y
<action>
factoid tag (as of 0.43.5)
This causes the bot to respond as with
Use
will normally set
will set
The
Contains the nickname person currently addressing the bot.
It can be used effectively in replies.
Contains the current date and time, at the bot's host.
returns the value without the usual post-processing.
Users with the P (oP) flag can tell the bot
to ignore people or hostmasks. And 'unignore'.
use 'ignorelist' to get the current list of ignored masks,
if you have the P flag.
The 'p' (oP) flag in the userfile allows this
to work. You'll need to set a hostmask. See
If the bot owner (+O, Owner) says this or messages it to the bot,
it will kill itself.
X is <action> Y
\
to protect items from evaluation.
x is y is y
x =is=> y is y
, but
x \is y is y
x is y =is=> y
forget
and no
(update) operators apply before checking
for this. This is also useful for getting around the
dereferencing of "i" and "me" and so on.
$who
variable
nice day is <reply> you betcha, $who.
$date
variable
literal foo
op
on channel
files/infobot.users
Also uses a
crypted password.
/msg <bot> <password> op
die
update_db
This takes a flat ascii file and inserts it into a DBM file. It creates a new DBM if it didn't exist.
scripts/update_db factpacks/code_to_country.txt infobot-is
will add the factoids in code_to_country.txt
to the infobot-is
DBM.
dump_db
The converse. It dumps out the DBM file to a flat ascii file. Note there is no extension on the DBM name, even though the system may use one.
scripts/dump_db infobot-is
Note there is no extension on the DBM name, even though the
system may use one (like .pag
and
.dir
or .db
).