- For these examples we will assume the bot's nick is Pbotty
- Accessing factoids: What is X?
You can ask an Infobot about something in a number of different ways, including
"what is X?", "where is X?", or just plain "X?".
For example what is ppp? where is ppp? or just ppp?
You can also prefix it with the bots nick like botnick what is ppp? botnick
where is ppp? or botnick ppp?
You can also use these commands via /msg to botnick
Example: /msg botnick what is ppp? /msg botnick where is ppp? or /msg
botnick ppp?
- Have the bot tell someone else something: using tell
The syntax is: Pbotty tell nick about term
Example: Pbotty tell asdw about linux
This will send asdw the definition/URL of the term linux and also send
a notice letting the sender know that it was sent.
You can also use this command via msg
Example: /msg Pbotty tell asdw about ppp
- teaching data: X is Y
Saying something like "X is Y" somewhere that the infobot can see it will cause
the bot to store the data, unless X is already
defined. It sets the value of X to Y.
- altering data: s/A/B/
if you just want to change a part of a term/definition, use the s///operator.
you have to address the bot or use a private medium to do this.
Pbotty, X =~ s/A/B/
will change the first occurence of A to B in the database called X.
- appending to existing entries: also
One can extend an existing term/definition using the keyword also
poink is also a silly word
- replicating a term:
You can tell Pbotty that X = Y for replication
Example if you have a term called test with the definition this is a test, then
you can do
Pbotty test2 = test
That will add the term test2 to the database with the same definition that test has.
- erasing a term: forget
A term can easily be deleted by using
Pbotty, forget poink
- changing a term: no, ...
you can change the entry for a term completely using
no, Pbotty, x is wugga wugga.
which deletes the prior entry (if possible) and replaces it with the new one.
- random responses with |
You can set a list from which to pick a random response by using | when adding
a term
x is a|b|c|d
When x is asked about, Pbotty will randomly choose from the |-spearated list.
- message unit - Thanks to Simon Cozens
Pbotty can now store messages for you to a user, when the user logs on and
says something he/she will get the message from the bot.
syntax /msg pbotty message for foo: Call me ASAP
Pbotty will /msg foo Hi, Foobar; you have 1 new botmail messages
(/msg me with `botmail next' to read)
You can also do /msg pbotty botmail check
Note: When the bot dies or is restarted it loses its messages it
was holding
- ignoring users: ignore nickname, ignore *.a.com
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.
- die
If the bot owner (+O, Owner) says this or messages it to the bot, it will kill
itself.
- Rehash
If the bot owner (+O, Owner) says this in a message to the bot, it will rehash
itself. It is better to .die the bot if any changes have been made to the
source.
- shutup or shut up This puts the bot in REQUIRE addressing mode which means
the bots nick must be used before it will respond.
- wakeup or wake up This puts the bot back in optional mode which means
his nick does not need to be typed before it will respond
- say
Users with the +o flag can make the bot say things in channel
syntax is /msg botnick say #channel text you want bot to say
- Joining an allowed channel: join #Pbotty
On IRC, you can tell the Pbotty to join a channel that it's allowed to join
with
Pbotty, join #Pbotty
If it is allowed to (in its paramter settings), it will try to join the
channel.
- Leaving a channel: part #Pbotty
This causes the bot to leave the given channel
Pbotty, part #Pbotty
leave is a synonym for part.
- The < reply >term tag.
Normally, when the Pbotty replies to "What is X", it says "X is Y". This form
makes it just reply "Y".
X is < reply > Y
- The < action > term tag (as of 0.43.5)
This causes the bot to respond as with except as an ACTION.
X is < action > Y
- backwacking
Use \ to protect items from evaluation.
x is y is y
will normally set x =is=> y is y, but
x \is y is y
will set
x is y =is=> y
The 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.
- The $who variable
Contains the nickname person currently addressing the bot. It can be used
effectively in replies.
nice day is < reply > you betcha, $who.
- The $date variable
Contains the current date and time, at the bot's host.
- literal foo
returns the value without the usual post-processing.
- change 100 USD to DEM
converts currency. Retrieves the current exchange rates from the
net. Requires LWP.
< rss="http://www.foo.com/summary.rss" >
looks up the RSS file (RDF Site Summary) and returns it in-place
where the tag is. Requires XML::RSS and LWP.
- Ignoring users: ignore nickname, ignore *.a.com
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.
- op on channel
The 'p' (oP) flag in the userfile allows this to work. You'll need to
set a hostmask. See files/infobot.users Also uses a crypted password.
/msg < bot > < password > op
- Statistics
Syntax: Pbotty status
This will give you a reply like
< Pbotty > Since Mon Dec 27 12:38:56 1999, there have been 2 modifications and
7 questions. I have been awake for 1 hour, 31 minutes, 38 seconds
this session, and currently reference 43200 factoids. Addressing is
in optional mode.
- seen
Syntax: seen asdw
This will give a reply like:
< Pbotty > asdw was last seen on IRC 1 hours, 20 minutes and 35
seconds ago, saying: `TQ: linux fdisk [Mon Dec 27
12:34:40 1999]
- search
You can search the internal database terms for factoids by issuing a command like
Pbotty search for ppp
It will then message you up to the first 15 matches found.
- find
You can search the internal database definitions for factoids by issuing a command like
Pbotty find me linux
It will then message you up to the first 15 matches found.
- Google Searches
You can do web based searches using Dejanews, Google, Gopher, Excite,
Infoseek, HotBot, Lycos, AltaVista, Magellan, PLweb, SFgate, and Verity.
Syntax: google for term
Example: google for linux
google can be replaced by any of the above listed search engines. This command
can also be used via /msg to the bot using the same syntax in a /msg.
- nickometer, by Adam Spiers. Guages how 'lame' a nickname is, as a
percentage!
Syntax: nickometer nick
Example: nickometer l33t
You will get a reply like 'l33t' is 91.69% lame, asdw
- slashdot headlines, originally from Chris Tessone, current version
from Rahga.
Syntax: slashdot headlines
This will give you all the latest headlines on slashdot like:
Slashdot -
Updated 1999-12-27 19:42:00 | IceWM 1.0.0 released | PCWeek on the Influence of
the PC and the Internet | Why is BSD Not As Popular As Linux? | Second "Bonus"
Interview: Jon "maddog" Hall
- weather
Syntax: weather 4-digit metar code
Example: weather ktys
ktys is the metar code for Knoxville, TN you can find your metar code
HERE
The bot will message you output that looks like:
Knoxville,
McGhee Tyson Airport, TN, United States; (KTYS) 35-49-05N 083-59-09W 302M;
last updated: Dec 27, 1999 02:53 PM EST; Dew Point: 6.1 F (-14.4 C);
Precipitation last hour: A trace; Pressure (altimeter): 29.89 in. Hg (1012
hPa); Relative Humidity: 21%; Sky conditions: clear; Temperature: 43.0 F (6.1
C); Visibility: 10 mile(s); Weather: Light snow; Wind: from the WSW (250
degrees) at 11 MPH (10 KT); Windchill: -7 F (-22 C)
- nslookup
performs DNS lookup or reverse-lookup on the hostname or IP.
Syntax: nslookup ipaddress
Example: nslookup vic.com
Example Output: vic.com is 206.31.139.10
- traceroute gets the traceroute results from the bot's machine to the
target machine. Summary only
Syntax: traceroute ipaddress
Example: traceroute vic.com
Example Output: 7
gatekeeper.vic.com (206.31.139.10) 53.037 ms 76.323 ms 43.573 ms
- imdb, websters, foldoc outputs a well-formed url for a search of
IMDB (the Internet Movie DataBase), the Webster's 1913 dictionary.
Websters Syntax: websters term
Example: websters sex
Example Output: sex may be
sought at http://work.ucsd.edu:5141/cgi-bin/http_webster?sex
IMDB Syntax: imdb movie title
Example: imdb happy hooker
Example Output: happy hooker
can be found at
http://www.imdb.com/M/title-substring?title=happy+hooker&type=fuzzy
- excuse gives you an excuse from the excuse server
Syntax: give me an excuse
Example Output: < Pbotty > asdw: Please excuse me, I have to circuit an AC line
through my head to get this database working.
- insult You can have it insult you or someone else in the channel.
Syntax: insult me
Someone Else Syntax: insult nickname
Example Output: < Pbotty > You are nothing but a penguin-molesting thimbleful of
squishy Sun IPC manuals.
- karma karma for a concept may be incremented or decremeted using ++
and --. You can get the current karma 'score' for something by asking for it.
Syntax: nick++ or nick-- (to add or decrease karma)
Example: asdw++ (adds to asdw's karma)
karma for asdw
- Personality Naturally the bot has some personality or it just
wouldn't be much fun right? Addressing the bot in certain ways will make it
respond in kind, here are just a few examples of AI triggers for personality.
Greetings: hi, hello, howdy, hey, hola, salut, bonjour
Praise:
Pbotty you rock
Pbotty you rule
Pbotty you are so cool
Manners: Pbotty thank you
- spelling is a spell checker that uses ispell
Syntax: spelling of term
Example: spelling of linux
Example Output: Possible spellings for linux: Linus
- zippy Gives zippy quotes
Syntax: be zippy
Example Output: Here we are in America ... when do we collect unemployment?
- 8Ball the magic 8ball (divine)
Syntax: 8ball question
Example: 8ball does people like me?
Example Output: Pbotty/#linuxhelper shakes the psychic purple sphere...
< Pbotty > It says 'That's ridiculous,' asdw
- purldoc perl documentation lookup DMasque++, HJ++
Syntax: purldoc term
Example: purldoc cgi
Example Output: < Pbotty > perlfaq3, question 14: How can I generate simple menus
without using CGI or Tk?
< Pbotty > perlfaq3, question 20: How can I make my CGI script more efficient?
< Pbotty > perlfaq3, question 27: Where can I learn about CGI or Web
programming in Perl?
Note: Pbotty loads a help file each time it is started that can be accessed
by doing
/msg pbotty help
That will message the user all the features and examples of how to use them