summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-08-01gemspec file for rbot (WIP)Tom Gilbert
2005-07-31Sun Jul 31 02:20:08 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>Tom Gilbert
* Updated docgen to generate rdoc again with the new repo structure * added new restart command to the core bot, quits irc and reexecs the bot, to pick up new code/libraries etc.
2005-07-30Sat Jul 30 22:33:36 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>Tom Gilbert
* Config items are now objects, various types are available. * The config wizard will now use registered config items if :wizard is set to true for those items. It will ask questions in the order they were registered. * The config module now works for doing runtime configuration. * misc refactoring
2005-07-30Sat Jul 30 01:19:32 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>Tom Gilbert
* config module for configuring the running bot via IRC * BotConfig.register method for various modules and any plugin to register bot configuration which the new config module will expose for them. * various other tweaks as I continue to refactor..
2005-07-29Fri 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-29rename to opmeTom Gilbert
2005-07-29rename to opmeTom Gilbert
2005-07-28Thu 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-27remove previous help method, it's not ideal for the commandlineTom Gilbert
2005-07-27this packaging stuff seems to actually be workingTom Gilbert
2005-07-27post config script to persist configuration from the scriptTom Gilbert
2005-07-27more work on packaging, use Irc::Config module for storing configuration setTom Gilbert
by install.rb
2005-07-27more packaging workTom Gilbert
2005-07-27rework various modules to use the installed directoriesTom Gilbert
2005-07-27move language files to data dirTom Gilbert
2005-07-27move rbot into lib - still rearranging for packaging/installationTom Gilbert
2005-07-27rearrange repo for packagingTom Gilbert
2005-07-27version updateTom Gilbert
2005-07-26set a name to avoid spamming help with all the optionsTom Gilbert
2005-07-26use new maps apiTom Gilbert
2005-07-26allow failed requirements tests to fall back to defaults and continueTom Gilbert
2005-07-26switch fortune to use new mapsTom Gilbert
2005-07-26switch the fish plugin to use the new map mechanismTom Gilbert
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-21bit of error checking/reportingTom Gilbert
2005-07-21fix up the new http util to work properly with GET'sTom Gilbert
2005-07-21Wed 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-21rework the tube plugin's html parser a bit, to enable it to work properlyTom Gilbert
with tricky station names, such as hammersmity & city.
2005-07-20update ChangeLogTom Gilbert
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-19enable in-channel usageTom Gilbert
2005-07-19at some point over the last couple of years, the ruby http library startedTom Gilbert
throwing timeout exceptions from .new, wheras they used to come from .get. This means timeouts kill the bot so I've moved all the http code into the begin block.
2005-07-17starting on an http interface for configuring the botTom Gilbert
2005-07-16update ChangeLogTom Gilbert
2005-07-16that wasn't idealTom Gilbert
2005-07-16typoTom Gilbert
2005-07-16various fixes by me, plus most of Rene's patch (#1).Tom Gilbert
2005-07-16added karmastats to the karma pluginTom Gilbert
2005-07-16german language file submitted by ReneTom Gilbert
2005-07-16autoop plugin submitted by Rene Nussbaumer, tweaked by me.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-14this is a common errorTom Gilbert
2005-07-14Webrick functionality is now in a pluginTom Gilbert
2005-07-11fix for new xml formatTom Gilbert
2005-04-25fixyTom Gilbert
2005-03-10fix http usage, other tweaksTom Gilbert
2004-10-10Nickserv fixesTom Gilbert
2004-10-09keyword searchingTom Gilbert
2004-10-09initial import of rbotTom Gilbert