X-Git-Url: http://git.hcoop.net/clinton/bobotpp.git/blobdiff_plain/439869bf80bc560dbecfd16ce058da0932e26030..cf8ea87372f220b09b01689b1729a88eb3b2a1d2:/NEWS diff --git a/NEWS b/NEWS index 6cd8fec..ce7be7a 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,110 @@ --*- text -*- -As of version 1.98 unknown_lamer is the new maintainer. -Also as of version 1.98, you must have Guile 1.5.6+ or 1.6.x in order -to compile scripting support. +(-*- text -*-) +User Visible Changes In Bobot++ -Version 2.1.0: Hook! +IMPORTANT NOTES: + As of version 1.98 unknown_lamer is the new maintainer. Also as of + version 1.98, you must have Guile 1.5.6+ or 1.6.x in order to + compile scripting support. + +===================================================================== +====== The News ===================================================== +===================================================================== + +Version 2.1.7: +- Fixed a number of small bugs and corner cases +- Should compile without warnings (GCC 3.4) + +Version 2.1.6: +- The String class has been removed and replaced by std::string +- Patches from Jos Hulzink were applied which fix a + few major bugs in the StringTokenizer (thanks) + +Version 2.1.5: Cleanups +- A DCC CHAT with the bot may now only be initiated if the user is a + Friend of the bot +- Implemented bot:ctcp-quote +- The Bot Configuration section of the manual has been completed. +- Fixed a potential (but unlikely) buffer overflow in Utils::strToTime + (if there were more than 512 digits in part of the string form of + the time the buffer would overflow) +- Misc. Bugfixes + +Version 2.1.4: DCC Support Enhancements +- Internal Change: DCCConnection is now an abstract class +- Internal Change: DCCChatConnection provides the functionality of + the old DCCConnection so that DCC FILE support can be added +- New Scheme Procedure: (bot:sent-to-me? message), checks to see if a + message was addressed to the bot. This is better than using + bot:match-to-me because the hook will continue to function if the + bot's nick changes. The only downside to using it is that there may + be an increased overhead of calling more hooks than could be called, + but that shouldn't be much of a problem. +- New Scheme Procedure: (bot:change-command-level command level), + changes the level a user command to allow a user of `level' level or + above to run it. + +Version 2.1.3: Something +- The flood rate can now be set using !setfloodrate INTEGER. The +default is two messages per second before the bot will ignore +you. (thanks to Björn Gustavsson for requesting this) +- The flood rate may also be set from Scheme using (bot:setfloodrate +integer) +- A very large crash bug has been fixed. Previously, if an undefined +command was called, any attempts to call a subsequent command would +cause the bot to crash. Now the bot doesn't crash. + +Version 2.1.2: Llama + +- match-to-me and match-not-channel are now bot:match-to-me and + bot:match-not-channel. Just use perl -pi -e + "s/match-to-me/bot:match-to-me" SCRIPTS (change to match-not-channel + for match-not-channel). +- Each script is now loaded into its own module so namespace clashes + should no longer occur +- New procedure: (bot:load-module INTERFACE-SPEC) will load a "bot + module" with the specified INTERFACE-SPEC (e.g. (foo bar)). A bot + module is the same as a system module except that you don't use + define-module to define it. The %bot:loadpath is searched for + INTERFACE-SPEC (when converted to a string) with an extension in + %bot:load-extensions. E.g. (foo bar) becomes "foo/bar". +- New procedure: (bot:use-module INTERFACE-SPEC) is the same as + bot:load-module except it will make the exported bindings from + INTERFACE-SPEC available in the current-module. +- Updated example bot and new example scripts included with the bot. + +Version 2.1.1: foom + +- Host masks are now case insensitive when matched. At least one other + person thought this was a good idea since IRC is case preserving but + not case sensitive. +- You can now "name" a hook using an extra arg to bot:addhook. This + name can be used to have multiple hooks of the same type with the + same regexp. The default name is "DEFAULT" so don't use that as the + name for your hooks. +- Logging now works again (oops, I didn't realize I broke it until I + started to work on DCC). +- DCC CHAT now "works." You can connect to the bot and talk to to it + and use Scheme hooks to talk to the user. +- New hooks: hooks/dcc/chat-begin and hooks/dcc/chat-message. These + are called when a new DCC Chat begin and when the user sends a + message. +- New Function: bot:dcc-chat-send TO MESSAGE, sends a MESSAGE to the + person at address TO +- New hooks: hooks/send/... where ... is one of action, ctcp, public, + or message. These are triggered when the bot does an + ACTION, sends a CTCP (_not_ a ctcp-reply), sends a PRIVMSG to a + channel, or sends a PRIVMSG to another user, respectively. There + will be more send hooks added later. +- New hooks: hooks/dcc/chat-begin and + hooks/dcc/chat-message. chat-begin is called when the chat starts + and has one argument: the address (in user!nick@host + format). chat-message has two arguments: from (user!nick@host) and + message, which is the raw message (since there is no real protocol + for DCC). chat-start hooks are matched against the address and + chat-message hooks are matched against the text "ADDRESS MESSAGE" + where ADDRESS is the sender's address and MESSAGE is the message. + +Version 2.1.0: Zug Zug - Hooks can now be fallthrough or non fallthrough. You can set a hooks priority and whether or not it falls through (i.e. continues hook matching after it has been executed) using two optional args to @@ -13,12 +114,12 @@ Version 2.1.0: Hook! before non-fallthrough hooks. - The default config is read from ~/.bobotpp/config/default/ or /etc/bobotpp/default/ if the user config is not found. Put your - default config is either dir. You may also specify a specific config + default config in either dir. You may also specify a specific config under these dirs using the --config or -c arg to bobotpp (see bobotpp --help for the full list of commands you may use and how to use them). - Scripts are now stored in ~/.bobotpp/scripts/ or - PREFIX/bobotpp/scripts/ (where PREFIX is /usr/local unless you + PREFIX/share/bobotpp/scripts/ (where PREFIX is /usr/local unless you changed it with the --prefix arg to configure). The new function bot-load will take a filename and load it from these dirs, returning #t if the file was loaded and #f if it wasn't. You can modify the @@ -26,8 +127,10 @@ Version 2.1.0: Hook! - bobot-utils.scm is now autoloaded, so you don't need to load it if you want to use its functions. - Logs are now in ~/.bobotpp/logs/ -- bot-* procedures in Scheme are now bot:*. The onl bot-* functions +- bot-* procedures in Scheme are now bot:*. The old bot-* functions are defined as aliases in bobot-utils.scm +- You can now use lambda's for new commands (oops, I wasn't protecting + the objects from garbage collection) Version 2.0: Stable release / CVS merges