5 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?"
7 action: This is used to override the usual response. "x is <action> does the hokey-pokey". When asked about x, the bot does this "* blootbot does the hokey-pokey"
9 alternation: The || symbol in an entry causes an blootbot to choose one of the replies at random. "X is Y||Z" will produce "X is Y" or "X is Z" randomly.
11 author: oznoid (mailto:lenzo@ri.cmu.edu) is my original author.
13 dollar variables: D: To be used in factoids
14 dollar variables: $Fdunno - ...
15 dollar variables: $Fquestion - ...
16 dollar variables: $Fupdate - ...
17 dollar variables: $channel - channel from which the factoid was requested
18 dollar variables: $date - current date
19 dollar variables: $factoids - factoid count
20 dollar variables: $host - hostname of factoid requester
21 dollar variables: $ident - bot nick
22 dollar variables: $lastspeaker - ...
23 dollar variables: $memusage - ...
24 dollar variables: $rand - random number, also $rand100.2
25 dollar variables: $randnick - random nick
26 dollar variables: $startTime - start time
27 dollar variables: $time - current time
28 dollar variables: $uptime - ...
29 dollar variables: $user - username of factoid requester
30 dollar variables: $who - nick of factoid requester
32 corrections: If I come back with "...but x is at http://xx.xx.xx" or something like that, and you want to change the entry, use "no, x is at http://sdfsdfsdf". The "No," tells me to supercede the existing value.
33 corrections: you can append stuff to a factoid with "also". "x is also at ..."
35 math: D: math expresions can be evaluated. This uses Perl syntax.
41 math: ** - to the power
47 redirection: If a factoid x contains simply "<reply> see y", then when asked for x, I will deliver factoidor command result y instead.
49 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".
52 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)
54 babelfish: D: Frontend to babelfish translating service provided by http://babelfish.altavista.com/ Note that utf8 is used for non-ascii characters.
55 babelfish: U: x <fromLang> <toLang> <words>
56 babelfish: U: translate <fromLang> <toLang> <words>
57 babelfish: E: x en de your cars rock
59 chaninfo: D: Display channel statistics on Op, Ban, Deop, Unban, Part, Join, SignOff, PublicMsg, Kick and Topic
60 chaninfo: U: ## [#channel]
62 chaninfo: E: ## #debian
64 chanset: D: set a variable for a channel
65 chanset: U: ## [#chan] [what] [val]
66 chanset: E: ## #c +test
67 chanset: E: ## #c -test
68 chanset: E: ## #c test
69 chanset: E: ## #c test testing123
71 chanunset: D: remove a variable from a channel
72 chanunset: U: ## <#chan> [what]
74 chanunset: E: ## #c test
76 chattr: D: Change flags on a user
77 chattr: U: ## <user> [flags]
78 chattr: E: ## bloot +nmo
79 chattr: E: ## bloot -ot
82 chnick: D: rename a nick (user) entry
83 chnick: U: ## [nick] <new-nick>
85 chnick: E: ## owner eleet
87 chpass: D: Change a user's password
88 chpass: U: ## [user] <pass>
90 chpass: E: ## testing test0R
92 contents: D: Debian Contents search only (no Packages)
93 contents: U: ## <string> [dist]
94 contents: E: ## strings.h
95 contents: E: ## x11amp potato
97 cookie: I can feed your appetite with random factoids.
99 cpustats: cpustats dumps the bot's cpu usage this session
101 crypt: It's good that you thought about encryption. I can do it for you.
102 crypt: U: ## <salt> <string>
103 crypt: E: ## 69 changeme
105 cycle: D: Causes me to cycle in the channel it's said, or in the named channel
106 cycle: U: ## [channel]
108 cycle: E: ## #debian-bots
110 dauthor: D: Find Debian package maintainers, and list the packages they maintain
111 dauthor: U: ## <string> [dist]
112 dauthor: E: ## Wichert
113 dauthor: E: ## Wichert potato
115 dbugs: D: Show the current count of release critical bugs (latest versions)
118 ddesc: D: Search the Description: lines in Debian packages
119 ddesc: U: ## <string> [dist]
121 ddesc: E: ## mule potato
123 dict: D: DICT Protocol Client
128 dfind: D: Debian Packages (fallback to Contents) search
129 dfind: U: ## <string> [dist]
130 dfind: E: ## strings.h
131 dfind: E: ## x11amp potato
133 dstats: D: Show basic stats on the current size of the Debian distros
138 factinfo: D: View statistical information about a particular factoid.
139 factinfo: U: ## <factoid>
142 factstats: D: Display statistical data (max of 15) about factoids.
143 factstats: U: ## <type>
144 factstats: == author -- top author of factoids.
145 factstats: == deadredir -- ??
146 factstats: == duplicate -- duplicate factoids.
147 factstats: == listfix -- ??
148 factstats: == locked -- locked factoids.
149 factstats: == new -- recent addition of factoids.
150 factstats: == nullfactoids -- ??
151 factstats: == partdupe -- initial partial duplicate factoids.
152 factstats: == profanity -- possibly offensive factoids.
153 factstats: == redir -- redirection in factoids.
154 factstats: == reqrate -- ??
155 factstats: == requested -- most requested factoids.
156 factstats: == requesters -- most requested factoids.
157 factstats: == seefix -- ??
158 factstats: == toolong -- factoid {key|value} exceeding specified length.
159 factstats: == tooshort -- factoid {key|value} shorter than specified length.
160 factstats: == total -- ??
161 factstats: == unrequest -- unrequested factoids.
162 factstats: == vandalism -- ??
165 forget: If I have an old/redundant factoid x, "forget x" will cause me to erase it.
167 freshmeat: D: Frontend to www.freshmeat.net
168 freshmeat: U: ## <query>
169 freshmeat: E: ## blootbot
171 hex: D: Convert ascii to hex
175 ircstats: ircstats dumps some status information on the bot's IRC connection
177 join: U: ## <#chan> [key]
179 join: E: ## #debian rules
181 karma: Karma is a community rating system. Use "X++" to increase the karma, or "X--" to decrease it. Ask for ratings using "karma for X?"
183 kernel: D: Frontend to linux.kernel.org's finger response.
186 kick: U: ## <nick> [#chan] [message]
188 kick: E: ## larne #debian
189 kick: E: ## john #foo go away!
191 lart: D: Luser Attitude Readjustment Tool
192 lart: U: ## [#chan] <who>
193 lart: E: ## lenzo infobot's bugginess
194 lart: E: ## #perl everyone perl \=\= lamerville
196 listauth: D: Search the factoid extension db by creator
197 listauth: U: ## <search>
200 listkeys: D: Search the factoid database by key (factoid)
201 listkeys: U: ## <regex>
202 listkeys: E: ## blootbot
204 listvalues: D: Search the factoid database by value (description)
205 listvalues: U: ## <regex>
206 listvalues: E: ## blootbot
208 literal: used to get a raw factoid contents
209 literal: U: ## <factoid>
210 literal: E: ## blootbot
212 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
214 lock: D: Factoid locking to prevent removal by others
215 lock: U: ## <factoid>
217 lock: N: By default, only registered "ops" on the bots or factoids matching the user's nick are able to lock factoids.
218 lock: N: Requires factoid extension (extra) support enabled.
220 mode: set modes for a channel
221 mode: U: ## <#chan> <mode>
222 mode: E: ## #debian +t
223 mode: E: ## #debian -i
225 news: D: News functions
226 news: U: ## [chan] <add,del,mod,set,latest,read,help>
228 news add: D: Add news items
229 news add: U: news [chan] add <title>
230 news add: E: news add This is a test
231 news add: see _news set Text_ aswell
233 news set: D: Set stuff for news item
234 news set: U: news [chan] set <item> <what> [value]
235 news set: valid <what>: Expire, Text
236 news set: E: news set 1 Text ok, this works
237 news set: E: news set test Text and this is a test
238 news set: E: news set test Text
240 news set expire: D: Set expire for news item
241 news set expire: U: news [chan] expire <what> <value>
242 news set expire: value can be: Xd Xh Xm Xs
243 news set expire: value can be: never
244 news set expire: news expire 1 3days
245 news set expire: news expire 2 +20d
246 news set expire: news expire Test 30d 20h 10m 5s
247 news set expire: news expire TEST never
249 news del: D: Delete news item (requires +o or be author)
250 news del: U: news [chan] del <item>
251 news del: E: news del 1
252 news del: E: news del test
254 news mod: D: Modify a news item (todo: modify Text aswell)
255 news mod: E: news [chan] mod <item> s/<from>/<to>/[g]
256 news mod: E: news mod 1 s/test/Test/
257 news mod: E: news mod test s/test/Test/g
259 nickometer: D: Measures the lame-ness of a nick or channel
260 nickometer: U: ## {nick,channel}
261 nickometer: E: ## unknown_lamer
262 nickometer: E: ## #debian-bots
264 nslookup: D: Query DNS
265 nslookup: U: ## <host|ip>
266 nslookup: E: ## debian.org
267 nslookup: E: ## 3.1.33.7
269 ord: D: Convert ascii to decimal
270 ord: U: ## <single character>
273 part: D: Leave a channel (DCC only)
274 part: U: ## <#channel>
276 part: NOTE: /kick is an alternative
278 quote: D: Frontend to yahoo's online stock market share listing
279 quote: U: ## <query...>
280 quote: E: ## RHAT,MSFT
282 rename: D: Factoid renaming
283 rename: U: ## 'from' 'to'
284 rename: E: ## 'infobot' 'blootbot'
286 rot13: D: ROT13's the given string
287 rot13: U: ## <string>
288 rot13: E: ## guvf vf n ynzr rknzcyr
290 search: U: ## <engine> for <string>
291 search: E: ## google for blootbot
293 seen: D: Report last seen time for somebody
297 slashdot: D: News for nerds, Stuff that matters. [tm] (shows the headlines)
300 spell: You've guessed it right, I'm a spell checker. Give me any word and I can confirm whether it's good or bad.
302 status: status dumps general status information
304 tell: D: Tell someone about a factoid or command
305 tell: U: tell <who> -?about <what>
306 tell: E: tell me about blootbot
307 tell: E: tell someone -about testing
309 topic add: D: Add your own topic
310 topic add: U: ## <topic>
311 topic add: E: ## This is a test
313 topic del: D: Delete one or two subtopics
316 topic del: E: ## 1-3,5
317 topic del: E: ## last
319 topic mod: D: Search and replace strings in the topic
320 topic mod: U: ## <REGEX>
321 topic mod: E: s/test/TEST/
322 topic mod: E: s#msg test#/msg test#g
324 topic mv: D: Move subtopics around.
325 topic mv: U: ## <#> <before|after|swap> <#>
326 topic mv: E: ## 1 after 2
327 topic mv: E: ## first before last
329 topic restore: D: Restores the topic to an earlier version
330 topic restore: U: ## <#>
331 topic restore: E: ## 3
333 topic: Usage for 'topic [#chan] <params>':
334 topic: ---------------- __Subtopic__:
335 topic: add <TOPIC> - Append <TOPIC> to topic.
336 topic: del <#> - Remove subtopic <#> from topic.
337 topic: list - Display subtopics.
338 topic: mod s/old/new/ - Search and replace topic.
339 topic: mv <ARGS> - 'topic mv'.
340 topic: shuffle - Randomly organize subtopics.
341 topic: ---------------- __Topic__
342 topic: history - Show previous topics.
343 topic: restore <#> - Restore topic to <#>.
344 topic: rehash - Rehash changes to topic.
345 topic: info - Who and time info.
346 topic: ---------------- __Misc__
347 topic: about - Read the file :)
348 topic: help - This screen.
350 topic: NOTE: #chan arg is only required if command is sent over private message to nick, otherwise it is not needed if sent to the channel.
351 topic: NOTE: commands can be preceeded? with '-' in order not to enforce changes to topic.
354 unforget: If a factoid has been forgotten, "unforget x" will cause me to unerase it.
356 unlobotomy: Not possible in real life, an unlobotomy will bring me back to life in the case of a lobotomy.
358 unlock: D: Factoid unlocking to allow removal by others.
359 unlock: U: ## <factoid>
362 uptime: D: Show the current uptime, and the top 3 uptimes recorded
365 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).
368 -ban: U: ## <mask|user>
369 -ban: E: ## *!*@owns.org
373 -host: U: ## [user] <mask>
374 -host: E: ## *!*@owns.org
375 -host: E: ## owner leet!leet@*.heh.org
378 +ban: U: ## <mask|user> [chan] [time] [reason]
379 +ban: E: ## *!*@owns.org #bots 60 stop flooding.
380 +ban: E: ## *!*@*microsoft.com STOOPID
384 +host: U: ## [user] <mask>
385 +host: E: ## *!*@owns.org
386 +host: E: ## owner leet!leet@*.heh.org