X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=ChangeLog;h=5d3a72582ce2a9848c585faea94674e66facd611;hb=6c3e3cb81675402f8fa8f74b514be6e8e489f8eb;hp=2006c95813f3a4f12a89813e78a2c851ba597c1a;hpb=a0ab9e6d8022db22dd66412bb7a9087098e2faa2;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/ChangeLog b/ChangeLog index 2006c958..5d3a7258 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,213 @@ +2007-02-12 Giuseppe Bilotta + + * Remote Service Provider: from an idea by halorgium , + initial steps towards a DRb-based remote service provider for rbot. + When complete, it will give plugins the ability to listen to + 'messages' from remote clients connected to the bot, allowing for such + things as svn notification without RSS polling, remote control of + the bot, or even (why not?) botnets. + * Remote Service Provider: BotModules can now include the + RemoteBotModule interface that provides them with the remote_map() + method that works just like the map() method, but for remote commands + * Remote Service Provider: Remote clients can now login remotely + before executing commands. This in fact integrates the remote access + auth security with the User/BotUser used on IRC itself. + +2007-02-08 Giuseppe Bilotta + + * Languages: Japanese support with language files, salutations, larts + and praises, thanks to hagabaka (Yaohan Chen ) + +2007-02-05 Giuseppe Bilotta + + * sendmsg improvements: the bot sendmsg() method and all the methods + that rely on it (say(), notice(), and message methods such as reply()) + now accept an option hash to customize its behaviour. + * :newlines, which can be set to either :split or :join, + depending on whether newlines in messages should be used as + split-points, or should be be replaced by some string (defined + in the :join_with option) + * :max_lines, which determines the maximum number of lines to be + sent by each messages. Last line is truncated (see next + options). Set to nil to have no limits. + * :overlong, which determines the behaviour when overlong lines + are to be sent; possible values are :split or :truncate. + * If :overlong is set to :split, :split_at determines the + string/regexp to split at; default is /\s+/, other usual + choice could be /\s+\|\s+/. + * If :overlong is set to :split, the :purge_split option + determines whether the :split_at expression should be removed + from the next lines (defaults to true). + * If :overlong is set to :truncate, the value of the option + :truncate_text is replaced at the end of the truncated line + * LinkBot plugin: initial commit of a plugin to handle messages from + eggdrops and other bots that act as cross-network channel links. + Suggested by hagabaka (Yaohan Chen ) + + +2007-02-03 Giuseppe Bilotta + + * Plugin message mapper: Enhancements to the :requirements option. + When the requirement of a parameter is a regular expression with + capturing groups /(...)/, the corresponding map parameters will be + assigned (by default) the first non-nil capture instead of the whole + regular expression. If a specific capture group is desired instead, + the requirement should be in the form + [/some regexp/, integer_index_of_the_desired_group] + or in the form + { + :regexp => /some regexp/, + :index => integer_index_of_the_desired_group + } + and a nil index will still give the default behavior. + If you want the whole regular expression to be the matched parameter + value, there are three options: use an index of 0, wrap the whole + regular expression in a capturing group, or use non-capturing groups + /(?:...)/. The latter is preferred because it's much faster. + When exploiting the capturing groups feature, please try to remember + to use /\s+/ instead of plain spaces / /, unless it's absolutely + necessary to have single spaces. + +2007-02-02 Giuseppe Bilotta + + * Plugin message mapper: Requirements (as set by the :requirements + hash) are now embedded in the regular expression matcher rather than + being cheked separately afterwards. + +2007-01-30 Giuseppe Bilotta + + * New IRC Framework: Server methods to retrieve a Channel or User are + now more robust to empty or nil nicks and channel names passed as + parameters. + +2007-01-29 Giuseppe Bilotta + + * Timer rescheduling: it is now possible to reschedule the period + any particular Action is taken by issuing the command + @bot.timer.reschedule(handle, new_period) + where +handle+ is a timer handle returned by the @bot.timer.add() that + created the action, and new_period is the new period for the Action. + +2007-01-23 Giuseppe Bilotta + + * Reduced saving: the salut, lart, and quotes plugin now only save + their datafiles if anything changed since last time. This speeds up + operations such as saving and rescanning; it also allow hand-editing + of the data files while the bot is running, since a rescan will load + the changed data files without overwriting them with a useless save + before. Of course this only works if there are no pending changes in + the running bot. + +2007-01-12 Giuseppe Bilotta + + * Server timeout: rework the server timeout code. Instead of PINGing + the server unconditionally every server.ping_timeout seconds, we only + PING it if we don't receive anything in the user-chosen timeout (lazy + PING). The code rewrite also seems to have fixed the "bot stalling + doing nothing" problem, which seemed to have been a consequence of + @socket.select not having a timeout. + +2006-11-01 Giuseppe Bilotta + + * SSL support: patch from Robin H. Johnson + +2006-10-28 Giuseppe Bilotta + + * A-Z game: try to guess the word the bot is thinking of: every miss + helps by reducing the range of allowed words, until it's so small + around the correct one that you can't miss it. + +2006-10-27 Giuseppe Bilotta + + * Flood protection: first attempt at penalty-based flood protection. + This should make rbot much less prone to Excess Floods *and* still + serve normally without excessive delays. + +2006-10-25 Giuseppe Bilotta + + * HttpUtil: Strings returned by get_cached now have a cached? method + which returns true or false depending on whether the result was taken + from the cache or not; this can be exploited by plugins that parse the + result in some particular way, since they can now skip the parsing + stage if they cache the parse result. + +2006-10-24 Giuseppe Bilotta + + * HttpUtil: initial implementation of proper caching based on + last-modified and etag HTTP headers + +2006-10-17 Giuseppe Bilotta + + * Salut plugin: handles (multilingual) salutations (hello/goodbye) + +2006-10-15 Giuseppe Bilotta + + * Language stuff: plugins can now handle language changes in a natural + fashion. lart is the first plugin to make use of this. NOTE: this + is not (yet) backwards compatible: the old larts/praises files from + previous rbot setups have to be renamed manually + * Language stuff: italian translations + * Utils.safe_save(filename): allows 'safe' saving of a file: it needs a + block, to which it will yield a temporary file on which operations can + be carried out. When the block returns, the tempfile will be renamed to + the given filename + +2006-09-21 Giuseppe Bilotta + + * New Auth Framework: restore backwards compatibility: 'auth + ' and 'login owner ' both work. + * Topic plugin: cleanups. Implement 'topic undo'. 'topic undo' after a + 'topic undo' undoes the last undo. + +2006-09-09 Giuseppe Bilotta + + * New Auth Framework: rbot was opping anyone who asked for it (opme + plugin). Fixed, and cleaned up. + +2006-09-01 Giuseppe Bilotta + + * New Auth Framework: document and fine tune permissions view the auth + core botmodule. + * Version: when run from a svn checkout, the bot now tries to report + which svn revision it's at, and if there are local changes + +2006-08-31 Giuseppe Bilotta + + * Nickserv plugin: bot will now try to inform nickserv when password + is changed. Moreover it's not necessary to specify the nick anymore if + you want to change the password for the current bot nick. Also do some + internal cleanups while we're at it. + +2006-08-29 Giuseppe Bilotta + + * Script plugin: new (UNSAFE!) echo functions. Just like eval, but + m.replies the result of the evaluation. + * New Auth Framework: config keys now have their own permissions. So + you can allow people to view or edit only some of the config values. + auth.password defaults to false. Still needs some work. + +2006-08-26 Giuseppe Bilotta + + * Plugin message mapper: new implementation. Multi-word parameters now + need not be the last, and it is possible to retrieve the entire + substring with preserved whitespace by using to_s. Also, parts of the + map string can be bracketed to make them optional. Examples: + remind :user [about] *stuff + will respond to + remind me about washing my teeth + and also to + remind me washing my teeth + It is possible to have parameters in brackets, in which case they will + be optional too, and default to nil or [] (resp. single- and + multi-word parameters) unless an alternative is provided in the + :defaults hash for the message map options. + * Script plugin: new (UNSAFE!) eval function. Not documented in help. + Not permitted by default. + +2006-08-25 Mark Kretschmann + + * Added quiz plugin, a multiplayer trivia quiz game. + 2006-08-20 Giuseppe Bilotta * Topic plugin: fix a bug that prevented it from loading