summaryrefslogtreecommitdiff
path: root/rbot/ircbot.rb
AgeCommit message (Collapse)Author
2005-07-26 * Prevent multiple plugin registrations of the same nameTom Gilbert
* reworking the config system to use yaml for persistence * reworking the config system key names * on first startup, the bot will prompt for the essential startup config * new config module for configuring the bot at runtime * new config module includes new configurables, for example changing the bot's language at runtime. * various other fixes * New way of mapping plugins to strings, using maps. These may be familiar to rails users. This is to reduce the amount of regexps plugins currently need to do to parse arguments. The old method (privmsg) is still supported, of course. Example plugin now: def MyPlugin < Plugin def foo(m, params) m.reply "bar" end def complexfoo(m, params) m.reply "qux! (#{params[:bar]} #{params[:baz]})" end end plugin = MyPlugin.new # simple map plugin.map 'foo' # this will match "rbot: foo somestring otherstring" and pass the # parameters as a hash using the names in the map. plugin.map 'foo :bar :baz', :action => 'complexfoo' # this means :foo is an optional parameter plugin.map 'foo :foo', :defaults => {:foo => 'bar'} # you can also gobble up into an array plugin.map 'foo *bar' # params[:bar] will be an array of string elements # and you can validate, here the first param must be a number plugin.map 'foo :bar', :requirements => {:foo => /^\d+$/}
2005-07-20Add new httputil object to the bot object, to be used by plugins etc thatTom Gilbert
wish to make http requests. It sets up all the proxies etc for them according to bot config.
2005-07-16various fixes by me, plus most of Rene's patch (#1).Tom Gilbert
2005-07-14Rudolf Polzer pointed out (a while ago, I forgot to apply this fix) an issueTom Gilbert
with rbot's string handling. Most ircds are pretty liberal about lines ending in various combinations of \r, \n, etc. We need to be careful about strings we pass to the ircd that may have come from users/untrusted sources (such as the output of the wserver plugin), and sanitize their line endings so that raw commands can't be sneaked through to the ircd.
2005-07-14Webrick functionality is now in a pluginTom Gilbert
2005-03-10fix http usage, other tweaksTom Gilbert
2004-10-09initial import of rbotTom Gilbert