From: Tim R. <tim...@us...> - 2004-08-12 22:54:58
|
Update of /cvsroot/infobot/infobot/conf/dist In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24368/conf/dist Added Files: infobot.config infobot.help infobot.users-dist Log Message: conf/*-dist files are now in conf/dist/ --- NEW FILE: infobot.config --- # parameter settings file for the infobot # kevin lenzo (le...@cs...) # note: # '$var' means a parameter that has been named; it is interpolated. # By convention, things with '.ext' (extensions) are text files, and # things with hyphens in them are DBM file prefixes, used for run-time # learning or state maintenance. # # Nota Bene: Comment out attributes you don't want. Note that the # word "false" is actually a true value! use 0 or comment # out options you don't want. # the internal name for this bot ident i-bot # the nickname we want wantNick $ident # the prefix of the dbm files dbname $ident # where to put logging info logfile $dbname.log # plusplus, an idea hijacked from CMU zephyr community, # and dkindred++ in particular. Otherwise known # as 'karma'. this is persistant between shutdowns. plusplus $dbname-karma # persistant "seen" db seen $dbname-seen # do we have an ignore database? uncomment this if not. ignore $dbname-ignore # should we ALWAYS sync dbm on update? # some systems don't do commitment until quit. # shared DBMs always sync after every update. # # 0 => never force sync # 1 => force sync on every update # N => force sync every Nth update commitDBM 5 # Explicitly set the database module. The default is AnyDBM_File. #DBMModule DB_File # Specify an extension which should be added to all database names. By # default this is empty. #DBMExt .db # Specify which databases will be shared among multiple infobots on the # same machine, and so require locking. By default none are shared. # This can be a list of database names, or /all (which means every # database), or /all-but-ignore (which means every database except the # ignore list). # # As of this writing, the databases are: # # is main database, for singular factoids # are main database, for plural factoids # ignore ignored nicks and user/host patterns # plusplus karma # seen last seen info for each nick #sharedDBMs is are plusplus #sharedDBMs /all #sharedDBMs /all-but-ignore # If you're sharing your seen database, you should set ircNetName. # It's prepended to the channel name ("Foo was last seen on EFNet/#perl # ..."). #ircNetName Somenet # X is Y # max length of X (the key, # the 'left hand side' (LHS) of an assignment, # or the first argument) maxKeySize 50 # max length of Y (value or data, the 'right hand side', or 2nd argument) maxDataSize 400 # REQUIRE, OPTIONAL, REJECT for different behaviour with URLs # REQUIRE means it will need to be a url type (e.g. file:, http:) # OPTIONAL will take anything # REJECT will not accept any urls. this makes it easy to # run 2 with different nicks and styles. acceptUrl OPTIONAL # IRC-related params ircuser $ident realname $ident server irc.infobot.org port 6667 allowed_channels #infobot #$ident #test # channels to join # use #channel,key (thanks to tile++) for keyed channels join_channels #infobot #$ident # server password, if needed # server_pass myserverpassword # vhost support... if you have a vhost, you can use this, # otherwise it won't work. # inm++, elph++ for this :) # vhost_name f00.bar.org # nickServ_pass foo # chanServ_pass bar # addressing is when you name the bot. if this is REQUIRE, # the bot should only speak when spoken to. BUT it may listen. # anything else will mean it can barge in when it thinks it # knows something. # "shutup" determines whether you can switch modes on the # fly with the bot. if you use REQUIRE for addressing, you # probably want to comment out the shutup line. addressing OPTIONAL # shutup TRUE # use shortened seen messages (requires that you have # Time::Duration installed for this to do anything) short_time 1 # If you want then 'seen' function to return a timezone # too, put it below: # timezone GMT-7 # If you've set addressing to optional, you might start # triggering lots of long factoid recitals from the bot, # so the crop value below, if you uncomment it, # allows you to limit how much the bot will spew if it's # unaddressed. # crop 90 # ansi screen control is available from 0.32 onwards # value of 1 means to use ANSI, 0 means generic bold ansi_control 1 # things we may or may not want to allow. 1 = allow, 0 otherwise. # do you want to be a desktop calc? perlMath 1 # do you want to allow DNS lookup/Internic/Traceroute? allowDNS 1 allowTraceroute 1 allowInternic 1 # ord/chr etc allowConv 1 # tell so-and-so about such-and-such allowTelling 1 # let any old joe update stuff. if this is 0, you'll have to # either change some code, do everything with e.g. update_db, # or do something else arcane to get factoids in. allowUpdate 1 # How much verbage to display on the console VERBOSITY 1 # the magic hack word to unignore everyone unignoreWord unignore-everyone # where configuration and help files and such live, the default is the # conf subdir of the main directory. Setting it to simply "conf" here # means to use the conf subdir of the current directory instead. #confdir conf # my help file. this will get confdir prepended # you may want to change this to $ident.help helpfile infobot.help # within how long of getting the same reply should # we not respond (irc mode only). in seconds. repeatIgnoreInterval 8 # in what contexts do we let people make the bot leave a # channel (this is an or'd list; public private) allowLeave public # our user list default file (in confdir) # you may want to change this to $ident.users userList infobot.users # channel list, specifies options which differ from the defaults, by # channel. channelList infobot.channels # default quit message quitMsg regrouping; bbiab # how long does something have to be before we'll just volunteer # the answer without a question mark, question, or being addressed minVolunteerLength 8 # other bots to ask for help # friendlyBots url purl script mrapi # sane defines that ALWAYS overwrite existing values at startup # this is a prefix for the files (sane-is.txt, sane-are.txt) sanePrefix sane # allow weather and METAR lookups, respectively. These should # actually be turned into a user modes. mendel++. Require # LWP and metar requires Geo::METAR. weather true metar true # babelfish translator. jdf++. requires LWP, not included. babel true # slashdot headlines. requires LWP, not included. get it from CPAN. slash true # insult and excuse servers insult true excuse true # # < Web Search Config > # # There are lots of things to configure here, if you want # to have your bot searching the interweb using popular # search-engines... # # We use WWW::Search as our front-end, which means you need # it installed if you want this to work. # # By default, if you search for something, get results, and # a factoid doesn't exist for that something, the results # will be added as a factoid. Changing the below value # to 'force' will set the factoid regardless of if there # already existed one. wwwsearch update # Assuming you want to search Google, you need to use their # SOAP::Lite interface. This requires that you have the very # latest WWW::Search::Google installed (the one that requires # SOAP::Lite). You will be wanting a Key from Google too # which you can get at: http://www.google.com/apis/ and which # you'll wanna paste below instead of those nasty x's. googlekey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # If you want the title of Search results printed, uncomment # the lines below. You can alter max_summary to change the # maximum length of a summary (this is a soft-limit)... # search_summaries TRUE # max_summary 10 # This number sets the max number of results you'll get from the # search engine. Anything above ten is silly, and most won't # get printed. If you have summaries turned on, anything above # three is silly for the same reason. Stick with three. search_count 3 # </ Web Search Config > # general headline-getter. uses RDF. (LotR++) rss true # purldoc perl documentation lookup DMasque++, HJ++ purldoc true purldoc_trigger purldoc purldoc_max_public 3 # speller. requires the ispell program. ispell true #zippy quotes (infobot, yow or infobot, be zippy) zippy true # zappa quotes (be zappa) zappa true # the magic 8ball (divine) magic8_answers $confdir/magic8.txt # exchange rates (exchange 233 DEM to USD) exchange true # stock quotes stockquotes true # ebay auction status ebay true # convert between units like units(1) convert true # gender lookups and name-statistics gender true # IMDB Lookups... imdb true # Clever RSS (EXPERIMENTAL) #clever_rss true --- NEW FILE: infobot.help --- main: Hi, I'm an infobot. 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?". author: oznoid (mailto:le...@ri...) is my author. 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. corrections: You can add to an entry with "also". "X is also at ..." status: Ask me "status" to get a status report on this session. 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". reply: This is a good way to prevent me from learning a factoid for a particular entry; use "X is <reply>" with nothing after it. 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. alternation: You can weight alternate entries; "X is Y|<3>Z" is three times more likely to return "Z" than it is "X". forget: To make me forget a factoid X, tell me "forget X". 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?" tell: You can ask me to send someone a message. To have me send the factoid "X" to the user "Y", say "tell Y about X". rss: I can look up RSS headlines and insert them in the middle of a factoid. Use the <rss> tag: 'use Perl headlines is <rss="http://use.perl.org/useperl.rdf">'. download: You can download your own infobot from <http://www.infobot.org/>. action: You can make me reply with an action (/me) with the <action> tag. For example, if you tell me "jump is <action> jumps high", then I will do "/me jumps high" when you say "jump". seen: I keep track of who I see speaking on-channel, and who sends me private messages. To find out when someone was around last, ask me "seen nickname". dns: I can look up hostnames, do traceroutes, and check InterNIC's whois database. Use "dns foo.com", "traceroute foo.com", or "internic foo.com". spell: To have me look up the spelling of a word, tell me to spell it the way you think it is spelled. For example, "spell cammel". magic8ball: Ask me to divine the future ("divine Will I get a raise?") and I'll tell you what my Magic 8 Ball says. exchange: To have me look up exchange rates, tell me the currency symbols and the amount: "change 25.52 USD to GBP" will tell you that $25.52 US dollars is (some number of) British pounds. exchange: If you don't know the currency symbol, ask me "currency country-name". stockquote: To get a (delayed) stock price quotation, ask me "quote SYMBOL". purldoc: To search the table of contents of the Perl FAQ, ask me "purldoc KEYWORD". translate: I can translate between English and one of Spanish (es), German (de), French (fr), Italian (it), or Portuguese (pt). To translate from English to French, tell me "x to fr good morning!", and I will tell you "bon matin!". translate: To translate from German to English, tell me "x from de ich bin ein Berliner" and I will tell you "I am a jelly donut". ebay: To look up the status of an eBay auction, ask me "ebay auction-number". convert: To convert between two types of measurement, give me the types and the quantity: "convert 2 ml to gallons" will tell you that 2 ml makes 0.0005 gallons. convert: For more information on how to describe units to me (such as "cubic inches per foot-pound-second", see the manual page for units(1) on a Unix system. zippy: YOW! It's ZIPPY the PINHEAD! (If you have to ask, you wouldn't understand.) metar: For current aerodrome weather observations, ask me "metar ICAO-CODE". For information on decoding METAR observations, see <http://www.avweb.com/toc/metartaf.html>. Also see 'help weather'. taf: For a current terminal area forecast, ask me "taf ICAO-CODE". For information on decoding TAF forecasts, see <http://www.avweb.com/toc/metartaf.html>. great-circle: The 'great-circle' command takes two airport identifiers and returns the great circle distance and heading between them. For example, try "great-circle CYHU KJFK" to find out how far it is from Montreal St Hubert to New York JFK International. tsd: To solve time/speed/distance problems, substitute 'x' for the unknown value in 'tsd TIME SPEED DISTANCE'. For example, 'tsd 3 x 200' will solve for the speed in at which you can travel 200 mi in 3h. zulutime: zulutime returns the current Zulu (UTC) time in DDHHMM format. airport: To find the ICAO code for an airport, ask me "airport code for CITY". To find the airport for an ICAO code, ask me "airport name for ICAO-CODE". insult: For a random insult, ask me to insult someone or something: "insult FORTRAN". Also, try "insult COBOL in german". (See 'help translate' for languages.) excuse: You can ask me for a random excuse: "excuse for writing FORTRAN". weather: Ask me "weather ICAO-CODE" for a human-readable current weather observation. For ICAO codes, see 'help airport'. google: I can search Google; ask me "google for SEARCH TERMS". nickometer: For a subjective 0-to-100 rating of the lameness of a nickname, ask me "nickometer NICK". --- NEW FILE: infobot.users-dist --- # # User File (c) 1998 Infobot & Associates # # FLAGS # ---------------------- # i Ignored Flag # f MLF Usage Allowed # t Teaching Allowed # r Removing Allowed # m Modifying Allowed # c Part/Join Allowed # s Searching Allowed (possibly computationally expensive) # S user can make bot Say things # e Extra Privs [ not implemented robustly: AVOID ] # p oP on channel by public request # ---------------------- # o Owner Flag # ---------------------- # # recommended default user flags: +trmc UserEntry default { flags +trmcs; } # here's an example entry UserEntry oznoid { name "Tim Riker"; title "that new guy"; flags +ftrmcsSope; pass xxfxfIfoJHdYg; mask timriker!ti...@ri...; } UserEntry oznoid { name "Kevin A. Lenzo"; title "that guy"; flags +ftrmcsSope; pass rrmrxB6U4ryRk; mask *!lenzo@*.speech.cs.cmu.edu; } UserEntry plonk { name "Eep Malloy" title "that guy II"; flags +trmcspo; pass rrmrxB6U4ryRk; mask *!*@*.static.telerama.com } |