Age | Commit message (Collapse) | Author | |
---|---|---|---|
2005-07-29 | Fri Jul 29 13:07:56 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk> | Tom Gilbert | |
* Moved some stuff out of util.rb into the plugins that actually need them. Those methods didn't belong in util as they were plugin-specific. * moved a few more plugins to use map() where appropriate * made the url plugin only store unique urls | |||
2005-07-28 | Thu Jul 28 23:45:26 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk> | Tom Gilbert | |
* Reworked the Timer module. The Timer now has a smart thread manager to start/stop the tick() thread. This means the timer isn't called every 0.1 seconds to see what needs doing, which is much more efficient * reworked the ircsocket queue mechanism to use a Timer * reworked the nickserv plugin to use maps * made server.reconnect_wait configurable * added Class tracing mechanism to bin/rbot, use --trace Classname for debugging | |||
2005-07-26 | * Prevent multiple plugin registrations of the same name | Tom 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-21 | Wed Jul 20 23:30:01 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk> | Tom Gilbert | |
* Move some core plugins to use the new httputil * fix wserver's redirection handling for relative (i.e. broken) redirects * fix tube plugin's html parsing | |||
2005-07-20 | update ChangeLog | Tom Gilbert | |
2005-07-16 | update ChangeLog | Tom Gilbert | |
2005-03-10 | fix http usage, other tweaks | Tom Gilbert | |
2004-10-10 | Nickserv fixes | Tom Gilbert | |
2004-10-09 | initial import of rbot | Tom Gilbert | |