2 # Author: Tim Riker <Tim@Rikers.org>
3 # Contributors: Simon C., Tim M., others (see AUTHORS)
7 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?"
9 action: This is used to override the usual response. "x is <action> does the hokey-pokey". When asked about x, the bot does this "* infobot does the hokey-pokey"
11 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)
13 alternation: The || symbol in an entry causes an infobot to choose one of the replies at random. "X is Y||Z" will produce "X is Y" or "X is Z" randomly.
15 author: oznoid (mailto:lenzo@ri.cmu.edu) is my original author.
17 babelfish: D: Frontend to babelfish translating service provided by http://babelfish.altavista.com/ Note that utf8 is used for non-ascii characters.
18 babelfish: U: x <fromLang> <toLang> <words>
19 babelfish: U: translate <fromLang> <toLang> <words>
20 babelfish: E: x en de your cars rock
23 bandel: U: ## <mask|user>
24 bandel: E: ## *!*@owns.org
25 bandel: E: ## MoronMan
28 banadd: U: ## <mask|user> [chan] [time] [reason]
29 banadd: E: ## *!*@owns.org #bots 60 stop flooding.
30 banadd: E: ## *!*@*microsoft.com STOOPID
31 banadd: E: ## MoronMan
33 botmail: D: Send someone botmail
34 botmail: U: ## {for <who>[:] <message>}|stats|check|read
35 botmail: E: ## for infobot: you rock!
40 chanadd: D: Join a channel permanently
41 chanadd: U: ## #channel
42 chanadd: E: ## #botpark
44 chandel: D: Leave a channel permanently
45 chandel: U: ## -#channel
46 chandel: E: ## -#botpark
48 chaninfo: D: Display channel statistics on Op, Ban, Deop, Unban, Part, Join, SignOff, PublicMsg, Kick and Topic
49 chaninfo: U: ## [#channel]
51 chaninfo: E: ## #botpark
53 chanset: D: set a variable for a channel
54 chanset: U: ## [#chan] [what] [val]
55 chanset: E: ## #c +test
56 chanset: E: ## #c -test
57 chanset: E: ## #c test
58 chanset: E: ## #c test 0
59 chanset: E: ## #c test testing123
61 chanunset: D: remove a variable from a channel
62 chanunset: U: ## <#chan> [what]
64 chanunset: E: ## #c test
66 chattr: D: Change flags on a user (see "help flags")
67 chattr: U: ## <user> [flags]
68 chattr: E: ## bloot +nmo
69 chattr: E: ## bloot -ot
72 chnick: D: rename a nick (user) entry
73 chnick: U: ## [nick] <new-nick>
75 chnick: E: ## owner eleet
77 chpass: D: Change a user's password
78 chpass: U: ## [user] <pass>
80 chpass: E: ## testing test0R
82 contents: D: Debian Contents search only (no Packages)
83 contents: U: ## <string> [dist]
84 contents: E: ## strings.h
85 contents: E: ## x11amp potato
87 convert: D: Convert from one unit to another
88 convert: U: ## [number] <units> to <units>
89 convert: E: ## 55 degF to degC
90 convert: E: ## 60 mph to kph
91 convert: E: ## 60 miles per hour to km/hour
92 convert: E: ## gallons to cm^3
94 cookie: I can feed your appetite with random factoids.
96 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.
97 corrections: you can append stuff to a factoid with "also". "x is also at ..."
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
104 crypt: E: ## $1$abcde changeme
106 cycle: D: Causes me to cycle in the channel it's said, or in the named channel
107 cycle: U: ## [channel]
109 cycle: E: ## #botpark
111 dauthor: D: Find Debian package maintainers, and list the packages they maintain
112 dauthor: U: ## <string> [dist]
113 dauthor: E: ## Wichert
114 dauthor: E: ## Wichert potato
116 dbugs: D: Show the current count of release critical bugs (latest versions)
119 ddesc: D: Search the Description: lines in Debian packages
120 ddesc: U: ## <string> [dist]
122 ddesc: E: ## mule potato
124 dfind: D: Debian Packages (fallback to Contents) search
125 dfind: U: ## <string> [dist]
126 dfind: E: ## strings.h
127 dfind: E: ## x11amp potato
129 dict: D: DICT Protocol Client - likely dicts: elements web1913 wn gazetteer jargon foldoc easton hitchcock devils world02 vera
130 dict: U: ## [entry num] <query>[/dict]
132 dict: E: ## 33 set/wn
136 dns: E: ## debian.org
139 do: D: operator command to do things in a channel
140 do: U: ## <chan> <what>
142 dollar variables: D: To be used in factoids
143 dollar variables: $Fdunno - ...
144 dollar variables: $Fquestion - ...
145 dollar variables: $Fupdate - ...
146 dollar variables: $channel - channel from which the factoid was requested
147 dollar variables: $date - current date (GMT)
148 dollar variables: $day - day of week (full name, locale)
149 dollar variables: $factoids - factoid count
150 dollar variables: $host - hostname of factoid requester
151 dollar variables: $ident - bot nick
152 dollar variables: $lastspeaker - ...
153 dollar variables: $memusage - ...
154 dollar variables: $rand - random number, also $rand100.2
155 dollar variables: $randnick - random nick
156 dollar variables: $startTime - start time
157 dollar variables: $time - current time (GMT)
158 dollar variables: $uptime - ...
159 dollar variables: $urlchannel - html encoded channel from which the factoid was requested
160 dollar variables: $user - username of factoid requester
161 dollar variables: $who - nick of factoid requester
163 dstats: D: Show basic stats on the current size of the Debian distros
168 factinfo: D: View statistical information about a particular factoid.
169 factinfo: U: ## <factoid>
172 factstats: D: Display statistical data (max of 15) about factoids.
173 factstats: U: ## <type>
174 factstats: == author -- top author of factoids.
175 factstats: == deadredir -- ??
176 factstats: == duplicate -- duplicate factoids.
177 factstats: == listfix -- ??
178 factstats: == locked -- locked factoids.
179 factstats: == new -- recent addition of factoids.
180 factstats: == nullfactoids -- ??
181 factstats: == partdupe -- initial partial duplicate factoids.
182 factstats: == profanity -- possibly offensive factoids.
183 factstats: == redir -- redirection in factoids.
184 factstats: == reqrate -- ??
185 factstats: == requested -- most requested factoids.
186 factstats: == requesters -- most requested factoids.
187 factstats: == seefix -- ??
188 factstats: == toolong -- factoid {key|value} exceeding specified length.
189 factstats: == tooshort -- factoid {key|value} shorter than specified length.
190 factstats: == total -- ??
191 factstats: == unrequest -- unrequested factoids.
192 factstats: == vandalism -- ??
195 flags: D: Flags for chattr command
196 flags: D: "A" - bot administration over /msg (default is only via DCC CHAT)
197 flags: D: "O" - dynamic ops (as on channel). (automatic +o)
198 flags: D: "T" - add topics.
199 flags: D: "a" - ask/request factoid.
200 flags: D: "m" - modify all factoids. (includes renaming)
201 flags: D: "M" - modify own factoids. (includes renaming)
202 flags: D: "n" - bot owner, can "reload"
203 flags: D: "o" - master of bot (automatic +amrt)
204 flags: D: - can search on factoid strings shorter than 2 chars
205 flags: D: - can tell bot to join new channels
206 flags: D: - can [un]lock factoids
207 flags: D: "r" - remove factoid.
208 flags: D: "t" - teach/add factoid.
209 flags: D: "s" - Bypass +silent on channels
211 forget: If I have an old/redundant factoid x, "forget x" will cause me to erase it.
213 freshmeat: D: Frontend to www.freshmeat.net
214 freshmeat: U: ## <query>
215 freshmeat: E: ## infobot
217 google: D: What Is: Google Search frontend
218 google: D: Configuration: "chanset [_default or channelname] +Google"
219 google: U: ## google <query>
220 google: E: ## google infobot
222 hex: D: Convert ascii to hex
226 hex2ip: D: Convert Hex idents for some gateways to an IP address
227 hex2ip: U: ## <8 char hex value>
228 hex2ip: E: ## AabBcC12
230 hostadd: D: admin command to list or add hostmasks to a user account
231 hostadd: U: ## [user] [<mask>]
233 hostadd: E: ## *!*@owns.org
234 hostadd: E: ## owner leet!leet@*.heh.org
236 hostdel: D: admin command to remove hostmask from a user account
237 hostdel: U: ## [user] <mask>
238 hostdel: E: ## *!*@owns.org
239 hostdel: E: ## owner leet!leet@*.heh.org
241 httpdtype: D: Get httpd server software version / configuration
242 httpdtype: U: ## <hostname>
243 httpdtype: E: ## example.com
245 identify: D: identify in a PRIVATE message with infobot to add new mask to user account
246 identify: E: ## <password>
248 ignore: D: ignore list management
249 ignore: E: ## [mask chan expire comment]
250 ignore: E: addignore guu!*@*
252 ircstats: ircstats dumps some status information on the bot's IRC connection
254 join: U: ## <#chan> [key]
256 join: E: ## #botpark rules
258 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?". Karma updates must be in a channel, not private.
260 kernel: D: Frontend to linux.kernel.org's finger response.
263 kick: U: ## <nick> [#chan] [message]
265 kick: E: ## larne #botpark
266 kick: E: ## john #foo go away!
268 lart: D: Luser Attitude Readjustment Tool
269 lart: U: ## [#chan] <who>
270 lart: E: ## lenzo infobot's bugginess
271 lart: E: ## #perl everyone perl \=\= lamerville
273 lc: D: lower case a given string
275 lc: E: ## When will infobot achieve world domination?
277 listauth: D: Search the factoid extension db by creator
278 listauth: U: ## <search>
281 listkeys: D: Search the factoid database by key (factoid)
282 listkeys: U: ## <regex>
283 listkeys: E: ## infobot
285 listvalues: D: Search the factoid database by value (description)
286 listvalues: U: ## <regex>
287 listvalues: E: ## infobot
289 literal: used to get a raw factoid contents. Use _default to ignore factoidSearch path.
290 literal: U: ## [_default|prefix] <factoid>
291 literal: E: ## infobot
293 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
295 lock: D: Factoid locking to prevent removal by others
296 lock: U: ## <factoid>
298 lock: N: By default, only registered "ops" on the bots or factoids matching the user's nick are able to lock factoids.
299 lock: N: Requires factoid extension (extra) support enabled.
301 math: D: math expresions can be evaluated. This uses Perl syntax.
307 math: ** - to the power
313 md5: D: calculates the md5sum of a given string
315 md5: E: ## When will infobot achieve world domination?
317 mode: set modes for a channel
318 mode: U: ## <#chan> <mode>
319 mode: E: ## #botpark +t
320 mode: E: ## #botpark -i
322 news: D: News functions
323 news: U: ## [chan] <add,del,mod,set,latest,read,help>
325 news add: D: Add news items
326 news add: U: news [chan] add <title>
327 news add: E: news add This is a test
328 news add: see _news set Text_ aswell
330 news set: D: Set stuff for news item
331 news set: U: news [chan] set <item> <what> [value]
332 news set: valid <what>: Expire, Text
333 news set: E: news set 1 Text ok, this works
334 news set: E: news set test Text and this is a test
335 news set: E: news set test Text
337 news set expire: D: Set expire for news item
338 news set expire: U: news [chan] expire <what> <value>
339 news set expire: value can be: Xd Xh Xm Xs
340 news set expire: value can be: never
341 news set expire: news expire 1 3days
342 news set expire: news expire 2 +20d
343 news set expire: news expire Test 30d 20h 10m 5s
344 news set expire: news expire TEST never
346 news del: D: Delete news item (requires +o or be author)
347 news del: U: news [chan] del <item>
348 news del: E: news del 1
349 news del: E: news del test
351 news mod: D: Modify a news item (todo: modify Text aswell)
352 news mod: E: news [chan] mod <item> s/<from>/<to>/[g]
353 news mod: E: news mod 1 s/test/Test/
354 news mod: E: news mod test s/test/Test/g
356 nickometer: D: Measures the lame-ness of a nick or channel
357 nickometer: U: ## {nick,channel}
358 nickometer: E: ## unknown_lamer
359 nickometer: E: ## #botpark
361 onjoin: D: get/set OnJoin message (needs chan option +OnJoin)
362 onjoin: U: ## [#chan|_default] [-]<nick> [message]
363 onjoin: E: ## infobot Hey! It's another infobot!
365 ord: D: Convert ascii to decimal
366 ord: U: ## <single character>
369 page: D: Send someone a pager message
370 page: U: ## <who> <message>
371 page: E: ## infobot you rock!
372 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"
374 part: D: Leave a channel (DCC only)
375 part: U: ## <#channel>
377 part: NOTE: /kick is an alternative
379 piglatin: D: translates english text into piglatin
380 piglatin: U: ## <string>
381 piglatin: E: ## When will infobot achieve world domination?
383 quote: D: Frontend to yahoo's online stock market share listing
384 quote: U: ## <query...>
385 quote: E: ## RHAT,MSFT
387 redirection: If a factoid x contains simply "<reply> see y", then when asked for x, I will deliver factoidor command result y instead.
389 rename: D: Factoid renaming
390 rename: U: ## 'from' 'to'
391 rename: E: ## 'infobot' 'infobot'
393 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".
395 reverse: D: reverses a given string
396 reverse: U: ## <string>
397 reverse: E: ## When will infobot achieve world domination?
399 rot13: D: ROT13's a given string
400 rot13: U: ## <string>
401 rot13: E: ## guvf vf n ynzr rknzcyr
403 say: D: operator command to say things in a channel
404 say: U: ## <chan> <what>
406 scramble: D: scrambles a given string
407 scramble: U: ## <string>
408 scramble: E: ## When will infobot achieve world domination?
410 search: U: ## <engine> for <string>
411 search: E: ## google for infobot
413 seen: D: Report last seen time for somebody
417 slashdot: D: News for nerds, Stuff that matters. [tm] (shows the headlines)
420 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.
422 status: status dumps general status information
424 tell: D: Tell someone about a factoid or command
425 tell: U: ## <who> -?about <what>
426 tell: E: ## me about infobot
427 tell: E: ## someone -about testing
429 topic add: D: Add your own topic
430 topic add: U: ## <topic>
431 topic add: E: ## This is a test
433 topic del: D: Delete one or two subtopics
436 topic del: E: ## 1-3,5
437 topic del: E: ## last
439 topic mod: D: Search and replace strings in the topic
440 topic mod: U: ## <REGEX>
441 topic mod: E: ## s/test/TEST/
442 topic mod: E: ## s#msg test#/msg test#g
444 topic mv: D: Move subtopics around.
445 topic mv: U: ## <#> <before|after|swap> <#>
446 topic mv: E: ## 1 after 2
447 topic mv: E: ## first before last
449 topic restore: D: Restores the topic to an earlier version
450 topic restore: U: ## <#>
451 topic restore: E: ## 3
453 topic: Usage for 'topic [#chan] <params>':
454 topic: ---------------- __Subtopic__:
455 topic: add <TOPIC> - Append <TOPIC> to topic.
456 topic: del <#> - Remove subtopic <#> from topic.
457 topic: list - Display subtopics.
458 topic: mod s/old/new/ - Search and replace topic.
459 topic: mv <ARGS> - 'topic mv'.
460 topic: shuffle - Randomly organize subtopics.
461 topic: ---------------- __Topic__
462 topic: history - Show previous topics.
463 topic: restore <#> - Restore topic to <#>.
464 topic: rehash - Rehash changes to topic.
465 topic: info - Who and time info.
466 topic: ---------------- __Misc__
467 topic: about - Read the file :)
468 topic: help - This screen.
470 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.
471 topic: NOTE: commands can be preceeded? with '-' in order not to enforce changes to topic.
474 uc: D: upper case a given string
476 uc: E: ## When will infobot achieve world domination?
478 unforget: If a factoid has been forgotten, "unforget x" will cause me to unerase it.
480 unlobotomy: Not possible in real life, an unlobotomy will bring me back to life in the case of a lobotomy.
482 unlock: D: Factoid unlocking to allow removal by others.
483 unlock: U: ## <factoid>
486 upsidedown: D: display a string in pseudo upside down unicode text
487 upsidedown: U: ## <string>
488 upsidedown: E: ## When will infobot achieve world domination?
490 uptime: D: Show the current uptime, and the top 3 uptimes recorded
493 useradd: D: Administrative command to add new user to the .users file
494 useradd: U: ## <user> <mask>
495 useradd: E: ## SomeAccount SomeAccount!someguy@example.com
497 userdel: D: Administrative command to remove a user from the .users file
498 userdel: U: ## <user>
499 userdel: E: ## SomeAccount
501 verstats: D: Commnd to CTCP VERSION the specified channel for client statistics
502 verstats: U: ## <channel>
503 verstats: E: ## #infobot
504 verstats: E: < infobot> IRC Client versions for #infobot (2): unknown/cloak - 3 (75%) ;; irssi - 1 (25%).
506 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).
508 whois: D: List available information for an account on the bot
509 whois: U: ## <account>
510 whois: E: ## SomeAccount
512 wikipedia: D: Frontend to the Wikipedia at http://www.wikipedia.org/wiki/ Note that utf8 is used for non-ascii characters.
513 wikipedia: U: ## <topic>
514 wikipedia: U: wiki <topic>
515 wikipedia: E: wiki irc
517 wtf: D: Interface to the BSD wtf command
518 wtf: U: ## <abbreviation>
521 rssfeeds: D: rssfeeds is used to control the RSS Feed tracking module
522 rssfeeds: U: rssfeeds [command]
523 rssfeeds: E: rssfeeds flush
524 rssfeeds: D: flush - Will erase the cache file. (Must be chattr +o)
525 rssfeeds: D: update - Force a manual update of the feeds. (Must be chattr +o)
527 # vim:ts=4:sw=4:expandtab:tw=80