]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - ChangeLog
Adapt topic plugin to new IRC framework
[user/henk/code/ruby/rbot.git] / ChangeLog
index 1fe41b3d86055d03dbb6a7eb29b4b905b27cc497..5de091d13d33bb8fd8e719e0e8d59ef6ec02e66a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,269 @@
+2006-08-17  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * Fix help: It got broken while rearranging the plugin stuff, now it's
+       properly fixed.
+       * New Auth Framework: forgot to create the InvalidPassword exception.
+       It's a RuntimeError now.
+       * Fix help: this time for real (or so I hope).
+       * New IRC Framework: topic plugin now works correctly.
+
+2006-08-12  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * Subregistry: force prefix to be a String with to_s
+
+2006-08-11  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * AutoOp plugin: adapted to the new IRC framework.
+       * AutoOp plugin: trigger autoop on nick change too.
+       * New Auth Framework: allow? method now informs a user when they don't
+       have permission to do what they asked for.
+       * New nickreply and nickokay methods: they act like the old reply
+       method, but include the nick of the user the bot is replying to when
+       talking in public. The usual reply method can be configured to act
+       like this as default.
+
+2006-08-10  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * Fix a bug in new IRC Framework: the list of channels a quitting user was
+       on was not built correctly, causing an exception when the user was not
+       in the first channel in the list of channels.
+       * Fix a bug in new Auth Framework: BotUser's name is changed via
+       username=, not name=.
+       * New HalfLife 2 plugin from ocr: queries online servers for online
+       status and number of users.
+
+2006-08-07  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * Add kick method to kernel: plugins can now use
+               @bot.kick channel, user, reason
+       to kick a user from a channel
+       * RSS plugin: fix rewatch_rss method
+       * RSS plugin: the different ways to represent channels before and
+       after the New IRC Framework was causing strange problems such as
+       watched feed not being listed as such, undeletable watches, double
+       watches etc. Fix this by checking both for the Channel objects and
+       their to_s form when checking for watches or deleting them.
+
+2006-08-06  Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+       * Updating the ChangeLog again: describe the new stuff in trunk which
+       will be made available in the next release. Use Gnu style for new
+       changelog entries (yyyy-mm-dd name <email address>\n<tab> ...):
+       there's a macro for this since at least Vim 6.x and higher, called by
+       <Leader>o (default leader: slash (\))
+       * New IRC Framework: Server, Channels, User, Netmasks etc are all
+       proper Ruby objects. The better organization will allow multi-server
+       connections to be implemented more easily
+       * Modularize core: split the internal functionality from what can be
+       implemented as botmodules (which work just the same as plugins). Move
+       Configuration, Basics and Auth out of the 'kernel' into core
+       botmodules.
+       * New Auth Framework: BotUsers are now Ruby objects with attached
+       PermissionSets which define what the BotUser can do, by channel if
+       necessary. The new framework allows very fine-grained control while
+       still being very easy to manage for elementary usage. BotUser data can
+       be exported and imported, but no backwards compatibility has been
+       implemented yet. Most plugins still have to be updated to the new
+       command-path-based mechanism.
+
+Sun Aug 06 17:33:55 BST 2006  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * 0.9.10 released
+       * Changes: Lots of new and updated plugins, including one to poll RSS feeds.
+       A first step towards a better auth system (total revamp due in 0.9.11).
+       Improvements to network and server code which should provide greater
+       stability. A new message queueing mechanism with bitrate throttling. A new
+       logging framework for debugging and tracing the activities of the bot. A
+       new split-db registry system for better performance and transactional
+       usage of bdb for resilience. More integration with Nickserv where
+       available including optional automatic ghost-killing.
+
+Wed Sep 07 20:16:46 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Fixed quit, broke it last commit
+       * Fixed trap() for win32
+
+Sun Aug 21 13:29:55 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * fix for bug in quakenet plugin (trac #14)
+       * multiple fixes for unescaped bot nick in regexp's (trac #13)
+
+Fri Aug 12 20:51:38 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * fix up autoop plugin a bit
+
+Thu Aug 11 00:13:11 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Added two plugins from Robin Kearney <robin@riviera.org.uk>
+       * Threat (US threat level :P)
+       * bash (bash.org quotes)
+
+Thu Aug 11 00:04:31 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Patches from "Alexey I. Froloff" <raorn@altlinux.ru>
+       * Do not use "/home/#{Etc.getlogin}/" for default home directory, use
+       "#{Etc.getpwnam(Etc.getlogin).dir}/" instead.
+       * Do not try to load same plugin from different locations.  Added ability
+       to disable system-wide plugins - create PLUGIN.rb.disabled in user's
+       plugins directory.
+       * For example, to disable freshmeat plugin installed in /usr/share/rbot/plugins/freshmeat.rb one can create empty file ~/.rbot/plugins/freshmeat.rb.disabled
+
+Mon Aug 08 23:08:01 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * new markov plugin for random inane chat
+
+Sun Aug 07 18:20:24 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * stop insult plugin being used to insult the bot
+
+Sun Aug 07 17:53:06 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * workaround for people without YAML::load_file
+       * quit message for restart
+
+Sun Aug 07 15:11:07 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * fix address_prefix, broken in 0.9.9, reported by ruskie.
+
+Sat Aug 06 00:54:34 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Released 0.9.9
+
+Fri Aug 05 23:55:20 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * few more tweaks preparing to release 0.9.9
+
+Thu Aug 04 23:03:30 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Improved ircd recognition of rfc2812.rb
+       * de-string'd, de-cap'd rfc2812.rb, looks less shouty now
+       * moved the Q auth stuff (for quakenet) into a new qauth plugin (untested!)
+       * finish fixing the httputil
+
+Thu Aug 04 00:11:52 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Tweaked the debug() stuff a bit. Need to do this more cleanly really
+       * Added a fair bit of documentation for some of the new features
+
+Wed Aug 03 15:25:07 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Added french language file (TODO most of the plugins just talk english)
+       * The way the Enum configs were set up, it wasn't possible to add language
+       files to rbot at runtime (the directory was only scanned at startup). Now
+       you can set a values Proc, which is called to return a list of allowed
+       values whenever it's queried.
+       * Added Config module for determining where we were installed.
+       Unfortunately rubygems is a total whore in this regard, and I hope the
+       current hackery I have to do to support it becomes redundant in the
+       future.
+
+Wed Aug 03 00:31:41 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Added Rakefile, tweaked gemspec
+
+Tue Aug 02 16:27:36 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Fixed the new http.proxy* settings, they work!
+       * Fixed a bug with auth-checking for the config module
+       * misc tweaks
+
+Sun Jul 31 02:20:08 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * 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.
+
+Sat Jul 30 22:33:36 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * 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
+
+Sat Jul 30 01:19:32 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * 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..
+
+Fri Jul 29 13:07:56 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * 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
+
+Thu Jul 28 23:45:26 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * 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
+
+Tue Jul 26 14:41:34 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Prevent multiple plugin registrations of the same name
+       * 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+$/}
+
+
+Sat Jul 23 01:39:08 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Changed BotConfig to use yaml storage, method syntax instead of hash for
+       get/set, to allow more flexibility and encapsulation
+       * Added convenience method Message.okay (m.okay is the same as the
+       old-style @bot.okay m.replyto)
+
+Wed Jul 20 23:30:01 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * 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
+
+Wed Jul 20 01:18:06 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+       * Add new httputil object to the bot object, to be used by plugins etc
+       that wish to make http requests. It sets up all the proxies etc for them
+       according to bot config.
+
 Sat Jul 16 02:23:13 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
 
   * Apply most of Rene's patch and fix various plugins.