diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 258 |
1 files changed, 258 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..f59fe521 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,258 @@ +Fri Oct 08 00:40:07 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk> + + * fixed insult plugin + * fixed excuse plugin + +Thu Oct 07 23:28:05 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk> + + * searching for urls in the url plugin + * roshambo (rock/paper/scissors) plugin from Hans Fugal <hans@fugal.net> + +Sat Apr 17 20:56:50 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk> + + * Oh, found new tv plugin in my inbox from ages ago, but it's still not + working so I guess it changed again since then + * New eightball plugin from Daniel Free + +Sat Apr 17 20:44:43 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk> + + * Fixed the babelfish parser so translate works again. + * Misc other fixes + * Note some plugins are broken (excuse,insult) because the server they use + went away. I don't know of a replacement right now. + * tv plugin seems broken, perhaps the html changed. + +Thu Jan 15 21:37:38 GMT 2004 Tom Gilbert <tom@linuxbrit.co.uk> + + * Fixes for ruby 1.8 + +0.9.8 +* new plugin from Alan Third <alan@idiocy.org>, allows you to search and list + UK TV programmes. + +0.9.7 +* various plugin updates +* fix (again) for C to F temp conversion in weather plugin +* channel topic patch from Peter Suschlik, gives plugin better access to topic + changes and related information + +0.9.6 +* changes to layout of slashdot plugin output +* freshmeat plugin, show latest updates or search +* fix to C to F temp conversion in weather plugin +* status command returns some bot status +* fortune plugin +* using BDB::Btree everywhere now, instead of BDB::Hash, because the Btree api + allows me to set my own key comparison function. This is needed to keep + supporting case insensitivity (vital for IRC), which was sadly broken in + 0.9.5 :( All existing dbs will be upgraded automatically. +* roulette plugin - play russian roulette :) also keeps game stats. +* new config option, NO_KEYWORD_ADDRESS. If set to "true", the bot will always + respond to keywords it knows even when not addressed and the message doesn't + start with '. Message must end with "?" however. +* hopefully fixed welcome message parsing from certain server types + +0.9.5 +* plugin object registry + This provides persistant storage for plugins via a hash interface. The + default mode is an object store, so you can store ruby objects and reference + them with hash keys. This is because the default store/restore methods of + the plugins' RegistryAccessor are calls to Marshal.dump and Marshal.restore, + for example: + blah = Hash.new + blah[:foo] = "fum" + @registry[:blah] = blah + then, even after the bot is shut down and disconnected, on the next run you + can access the blah object as it was, with: + blah = @registry[:blah] + The registry can of course be used to store simple strings, fixnums, etc as + well, and should be useful to store or cache plugin data or dynamic plugin + configuration. + + If you don't need to store objects, and strictly want a persistant hash of + strings, you can override the store/restore methods to suit your needs, for + example (in your plugin): + def initialize + class << @registry + def store(val) + val + end + def restore(val) + val + end + end + end + Your plugins section of the registry is private, it has its own namespace + (derived from the plugin's class name, so change it and lose your data). + Calls to registry.each etc, will only iterate over your namespace. + + The nickserv and karma plugins use the new registry and should serve as a + useful example. Basic usage of the registry is simple, just treat it as a + hash, with values that never die (unless you delete() them). +* Change to the nickserv plugin. The old method of putting the nickserv + password in rbot.conf was useless for multiple nicks or easy updates. The + plugin now uses the plugin registry to store passwords for any nicks it + owns. The plugin can be told to register the current nick (supply a password + or it'll generate one), identify for the current nick (if the password is + known), and can be told the passwords for other nicks. If NickServ asks the + bot to identify, it will automatically do so if it knows the appropriate + password. +* karma plugin now uses the plugin registry, it should automatically import + your existing, stored karma data into the registry. +* The babelfish plugin now caches results in the bot registry to speed up + common lookups. +* New message types and plugin methods to grab them, + quit(QuitMessage): Called when a user (or the bot) quits IRC + nick(NickMessage): Called when a user (or the bot) changes Nick + topic(TopicMessage): Called when a user (or the bot) changes a channel topic +* A plugin's listen() method will now receive any kind of Message, e.g. + PrivMessage, NoticeMessage, NickMessage, JoinMessage, etc +* New plugins: + seen: the usual "seen" stuff: + rbot: seen giblet? + giblet was last seen xxx ago doing xxx + cal: calls the unix cal program to display a calendar + math: evaluates mathematical expressions: + rbot: math 2+2 + rbot: math 4 to the power of 8 + rbot: math ((232+432) - 4) / 2 + (ported from infobot. Thanks to Kevin Lenzo, who wrote the + original infobot math module) + slashdot: displays latest headlines or searches for articles + url: stores urls mentioned in channels for regurgitation later + weather: grabs and parses METAR weather data, will remember the last weather + code you asked for so you don't have to :) +* New utility function, Util.http_get(url) for getting remote data via http, + just dumps response.body into a string and returns it, or nil if anything at + all goes wrong. Useful for simple plugins. +* random quit messages if none specified, messages set in language description + file +* keywords are now stored in bdb databases - your old keywords.rbot will be + imported. Static keywords (fact packs) are also stored in bdb databases, and + rbot will automatically convert any text .fact file dropped in the confdir's + keywords subdirectory, at startup, into a bdb file. If both a db and a text + file exist of the same name (except the extension), the text file will be + imported and merged into the database. + static keywords will be looked up in each factpack db in turn, in + alphabetical filename order - so you can prioritise using the filename if + you wish. +* fixed a bug with autsplitting long sent lines, the last line was often being + split unnecessarily. + +0.9.4 +* Massive cleanup of rfc2812.rb, contributed by Lars Christensen + <dsl8950@vip.cybercity.dk>, gets rid of a lot of regexps +* Fixed bug reading static keyword files - "foo <=is=> bar" may not have + worked for a couple of releases, only "foo<=is=>bar" was working - this was + not intended and should be fixed now +* Experimental send queue, to prevent the bot from flooding out, the delay + between sending messages to the server defaults to 2s, but is configurable + in conf.rbot, set SENDQ_DELAY (0 to disable queueing). You can also set/get + the value from the bot, "rbot: options get sendq_delay", and + "rbot: options set sendq_delay 1.5", if you have sufficient auth for "config" + This is a bursting sendq, most ircd's allow bursts of up to 5 + lines, with non-burst limits of 512 bytes/2 seconds. To set the burst limit, + configure SENDQ_BURST in conf.rbot, or do the same kind of stuff with + "rbot: options set sendq_burst 2", etc. + The defaults are 2s/4 burst, which seem to work okay for me. +* support for multiple, customisable, addressing prefixes. Set ADDRESS_PREFIX + in conf.rbot to a space separate list of addressing prefixes, e.g + ADDRESS_PREFIX = | ! => + Would mean that all of the following in channel messages would cause the bot + to respond: + rbot: version + |version + !version + =>version +* bb plugin removed, bb is nearly over and it doesn't work 100% anyway +* Two plugins from brailsmt (from #ruby-lang on openprojects), a stats plugin + which monitors usage of 1-word sentences, and lart, which allows you to ask + rbot to lart people - with an optional reason - larts are user-definable and + can be added on the fly. +* made google.rb work for people with 1.6 ruby's net/http + +0.9.3 + +* fix quit messages +* new plugin for handling nickserv-protected nicks, use NICKSERV_PASSWORD in + the config file. +* fixes to a few other buglets +* new plugin to grab bigbrother headlines, still buggy and only useful for UK + folks who love bb :-) +* fixes to various plugins +* Patch from akira yamada <akira@ruby-lang.org> + DNS plugin: Use resolv-replace if found, do lookup in new thread + Fix bug joining channels with keys + +0.9.2 + +* better "connect failure" error message +* better option parsing, and --debug option +* access to bot's online help via commandline, eg: + ./rbot.rb --help + ./rbot.rb --help core + ./rbot.rb --help "core save" +* Fix broken help from last point release +* Plugin API modification and cleanup. You no longer need to set @listen to + true in order to get all NOTICE and PRIVMSGs, you just need to define the + method. The method is now called listen(), renamed from listener(). This + should be the last time the plugin api is changed incompatibly. +* New plugin method kick(). Use it to see kicks (duh :)) +* New plugin methods join(), part(). Obvious uses. +* Example plugin autorejoin.rb, uses kick event to rejoin channel and insult + kicker +* fix bug in remind plugins "remind me no more" recognition. + +0.9.1 + +* Fix welcome message recognition for certain IRCd's. + +0.9 + +* Allow keyword definitions which end in '?', like this: + bot: foo is bar\? +* rdoc documentation! +* fixed broken address regexp, "rbot: .foo" was being treated as an addressed + form of "foo" (lost the .) +* fix stupid bug in last release (looking for wrong default conf dir) + +0.8 + +* Tarball layout change. modules all in rbot/ now, and the rbot/ default + configuration moved to rbotconf/. This lets the thing run from an unpacked + tarball while also being ready to run with the modules installed somewhere + else. +* change hashbang to /usr/bin/env ruby, in order to use PATH looking for ruby, + it's BSD friendly! +* allow "botnick : foo" style addressing, and even "botnick... foo" +* slap plugin (contributed by oct) +* renamed bot.send to bot.sendmsg, I didn't really want to override send() ;D + (thanks Kero) + +0.7.1 +* Made sane for packagers. Looks in the right places for plugins and language + files now, so extra effort shouldn't be needed there. + +0.7 + +* Fixed "nick taken on join" bug +* Dice plugin patch from David Dorward +* fix searchquote regexp +* conf.rbot: PASSWORD -> SERVER_PASSWORD, to prevent confusion with PASSWD, + which is for master auth. + +0.6 + +* Fixed addquote (was incrementing quote ID twice) +* now strips colour/bold escapes from incoming messages (rbot was ignoring + messages addressed using a bolded colon, for example). +* minor bugfixes +* more language breadth +* Addressing works better now +* Can autojoin channels with keys, conf.rbot line is: + autojoin_channels #chan1, #chan2, #chan3 key, #chan4 key, #chan5 +* dice plugin fixes + +0.5 + +* Initial release |