-# Revised: 19991109.
-# Author: xk
+# Revised: 20050224
+# Author: Tim Riker <Tim@Rikers.org>
###
main: I learn mainly by observing declarative statements such as "x is at http://www.xxx.com", and then reply when people ask things like "where can i find x?"
dollar variables: $Fquestion - ...
dollar variables: $Fupdate - ...
dollar variables: $channel - channel from which the factoid was requested
-dollar variables: $date - current date
+dollar variables: $date - current date (GMT)
+dollar variables: $day - day of week (full name, locale)
dollar variables: $factoids - factoid count
dollar variables: $host - hostname of factoid requester
dollar variables: $ident - bot nick
dollar variables: $rand - random number, also $rand100.2
dollar variables: $randnick - random nick
dollar variables: $startTime - start time
-dollar variables: $time - current time
+dollar variables: $time - current time (GMT)
dollar variables: $uptime - ...
dollar variables: $user - username of factoid requester
dollar variables: $who - nick of factoid requester
reply: There is a special tag, <reply>, that is used to override the usual response. Usually, a response is "X is Y", but it can be made "Y" by making the entry "X is <reply> Y".
# now the commands...
+
+adduser: D: Administrative command to add new user to the .users file
+adduser: U: ## <user> <mask>
+adduser: E: ## bloot bloot!bloot@example.com
+
addressing: It is a good idea if I stay in REQUIRE mode so that I won't yell out random crap if I listen in too hard. Currently there is no way to turn this off on-the-fly. (REQUIRE mode requires me to be addressed by name if I am to respond)
babelfish: D: Frontend to babelfish translating service provided by http://babelfish.altavista.com/ Note that utf8 is used for non-ascii characters.
+ban: E: ## *!*@*microsoft.com STOOPID
+ban: E: ## MoronMan
+botmail: D: Send someone botmail
+botmail: U: ## {for <who>[:] <message>}|stats|check|read
+botmail: E: ## for infobot: you rock!
+botmail: E: ## stats
+botmail: E: ## check
+botmail: E: ## read
+
-chan: D: Leave a channel permanently
-chan: U: ## -#channel
-chan: E: ## -#botpark
chanset: E: ## #c +test
chanset: E: ## #c -test
chanset: E: ## #c test
+chanset: E: ## #c test 0
chanset: E: ## #c test testing123
chanunset: D: remove a variable from a channel
chanunset: E: ## #c
chanunset: E: ## #c test
-chattr: D: Change flags on a user (see @regFlagsUser in source)
+chattr: D: Change flags on a user (see "help flags")
chattr: U: ## <user> [flags]
chattr: E: ## bloot +nmo
chattr: E: ## bloot -ot
crypt: It's good that you thought about encryption. I can do it for you.
crypt: U: ## <salt> <string>
crypt: E: ## 69 changeme
+crypt: E: ## $1$abcde changeme
cycle: D: Causes me to cycle in the channel it's said, or in the named channel
cycle: U: ## [channel]
dbugs: D: Show the current count of release critical bugs (latest versions)
dbugs: U: ##
+deluser: D: Administrative command to remove a user from the .users file
+deluser: U: ## <user>
+deluser: E: ## bloot
+
ddesc: D: Search the Description: lines in Debian packages
ddesc: U: ## <string> [dist]
ddesc: E: ## mule
ddesc: E: ## mule potato
-dict: D: DICT Protocol Client
-dict: U: ## <query>
-dict: E: ## AI
-dict: E: ## 1 linux
-
dfind: D: Debian Packages (fallback to Contents) search
dfind: U: ## <string> [dist]
dfind: E: ## strings.h
dfind: E: ## x11amp potato
+dict: D: DICT Protocol Client - likely dicts: elements web1913 wn gazetteer jargon foldoc easton hitchcock devils world02 vera
+dict: U: ## [entry num] <query>[/dict]
+dict: E: ## linux
+dict: E: ## 33 set/wn
+
+dns: D: Query DNS
+dns: U: ## <host|ip>
+dns: E: ## debian.org
+dns: E: ## 3.1.33.7
+
+do: D: operator command to do things in a channel
+do: U: ## <chan> <what>
+
dstats: D: Show basic stats on the current size of the Debian distros
dstats: U: ## [dist]
dstats: E: ##
httpdtype: U: ## <hostname>
httpdtype: E: ## example.com
-ignore: D: FIXME:
+ignore: D: ignore list management
ignore: E: ## [mask chan expire comment]
+ignore: E: addignore guu!*@*
ircstats: ircstats dumps some status information on the bot's IRC connection
lart: E: ## lenzo infobot's bugginess
lart: E: ## #perl everyone perl \=\= lamerville
+lc: D: lower case a given string
+lc: U: ## <string>
+lc: E: ## When will blootbot achieve world domination?
+
listauth: D: Search the factoid extension db by creator
listauth: U: ## <search>
listauth: E: ## xk
listvalues: U: ## <regex>
listvalues: E: ## blootbot
-literal: used to get a raw factoid contents
-literal: U: ## <factoid>
+literal: used to get a raw factoid contents. Use _default to ignore factoidSearch path.
+literal: U: ## [_default|prefix] <factoid>
literal: E: ## blootbot
lobotomy: I can be given a lobotomy ([o] is required) if people start to abuse me. To bring me back to life, give me an unlobotomy
lock: N: By default, only registered "ops" on the bots or factoids matching the user's nick are able to lock factoids.
lock: N: Requires factoid extension (extra) support enabled.
+md5: D: calculates the md5sum of a given string
+md5: U: ## <string>
+md5: E: ## When will blootbot achieve world domination?
+
mode: set modes for a channel
mode: U: ## <#chan> <mode>
mode: E: ## #botpark +t
nickometer: E: ## unknown_lamer
nickometer: E: ## #botpark
-nslookup: D: Query DNS
-nslookup: U: ## <host|ip>
-nslookup: E: ## debian.org
-nslookup: E: ## 3.1.33.7
+onjoin: D: get/set OnJoin message (needs chan option +OnJoin)
+onjoin: U: ## [#chan|_default] [-]<nick> [message]
+onjoin: E: ## blootbot Hey! It's another blootbot!
ord: D: Convert ascii to decimal
ord: U: ## <single character>
ord: E: ## c
+page: D: Send someone a pager message
+page: U: ## <who> <message>
+page: E: ## infobot you rock!
+page: NOTE: this uses the "<who>'s pager" factoids for the From: and To: addresses of the format "example's pager" is "mailto:me@example.com"
+
part: D: Leave a channel (DCC only)
part: U: ## <#channel>
part: E: ## #botpark
part: NOTE: /kick is an alternative
+piglatin: D: translates english text into piglatin
+piglatin: U: ## <string>
+piglatin: E: ## When will blootbot achieve world domination?
+
quote: D: Frontend to yahoo's online stock market share listing
quote: U: ## <query...>
quote: E: ## RHAT,MSFT
rename: U: ## 'from' 'to'
rename: E: ## 'infobot' 'blootbot'
-rot13: D: ROT13's the given string
+reverse: D: reverses a given string
+reverse: U: ## <string>
+reverse: E: ## When will blootbot achieve world domination?
+
+rot13: D: ROT13's a given string
rot13: U: ## <string>
rot13: E: ## guvf vf n ynzr rknzcyr
+say: D: operator command to say things in a channel
+say: U: ## <chan> <what>
+
+scramble: D: scrambles a given string
+scramble: U: ## <string>
+scramble: E: ## When will blootbot achieve world domination?
+
search: U: ## <engine> for <string>
search: E: ## google for blootbot
status: status dumps general status information
tell: D: Tell someone about a factoid or command
-tell: U: tell <who> -?about <what>
-tell: E: tell me about blootbot
-tell: E: tell someone -about testing
+tell: U: ## <who> -?about <what>
+tell: E: ## me about blootbot
+tell: E: ## someone -about testing
topic add: D: Add your own topic
topic add: U: ## <topic>
topic mod: D: Search and replace strings in the topic
topic mod: U: ## <REGEX>
-topic mod: E: s/test/TEST/
-topic mod: E: s#msg test#/msg test#g
+topic mod: E: ## s/test/TEST/
+topic mod: E: ## s#msg test#/msg test#g
topic mv: D: Move subtopics around.
topic mv: U: ## <#> <before|after|swap> <#>
topic: NOTE: commands can be preceeded? with '-' in order not to enforce changes to topic.
topic: End of help.
+uc: D: upper case a given string
+uc: U: ## <string>
+uc: E: ## When will blootbot achieve world domination?
+
unforget: If a factoid has been forgotten, "unforget x" will cause me to unerase it.
unlobotomy: Not possible in real life, an unlobotomy will bring me back to life in the case of a lobotomy.
wantnick: If someone's taken my nick (I hope not) and I'm using some temporary nick, I can change back to my original nick if it's not taken (again).
--host: D: FIXME:
+wikipedia: D: Frontend to the Wikipedia at http://www.wikipedia.org/wiki/ Note that utf8 is used for non-ascii characters.
+wikipedia: U: ## <topic>
+wikipedia: U: wiki <topic>
+wikipedia: E: wiki irc
+
+wtf: D: Interface to the BSD wtf command
+wtf: U: ## <abbreviation>
+wtf: E: ## iirc
+
+-host: D: admin command to remove hostmask from a user account
-host: U: ## [user] <mask>
-host: E: ## *!*@owns.org
-host: E: ## owner leet!leet@*.heh.org
-+host: D: FIXME:
-+host: U: ## [user] <mask>
++host: D: admin command to list or add hostmasks to a user account
++host: U: ## [user] [<mask>]
++host: E: ## owner
+host: E: ## *!*@owns.org
+host: E: ## owner leet!leet@*.heh.org
+
+flags: D: Flags for chattr command
+flags: D: "A" - bot administration over /msg (default is only via DCC CHAT)
+flags: D: "O" - dynamic ops (as on channel). (automatic +o)
+flags: D: "T" - add topics.
+flags: D: "a" - ask/request factoid.
+flags: D: "m" - modify factoid. (includes renaming)
+flags: D: "n" - bot owner, can "reload"
+flags: D: "o" - master of bot (automatic +amrt)
+flags: D: - can search on factoid strings shorter than 2 chars
+flags: D: - can tell bot to join new channels
+flags: D: - can [un]lock factoids
+flags: D: "r" - remove factoid.
+flags: D: "t" - teach/add factoid.
+