[project @ 2003-04-03 03:37:06 by unknown_lamer]
[clinton/bobotpp.git] / NEWS
1 (-*- text -*-)
2 User Visible Changes In Bobot++
3
4 IMPORTANT NOTES:
5 As of version 1.98 unknown_lamer is the new maintainer. Also as of
6 version 1.98, you must have Guile 1.5.6+ or 1.6.x in order to
7 compile scripting support.
8
9 =====================================================================
10 ====== The News =====================================================
11 =====================================================================
12
13 Version 2.1.2: Llama
14
15 - match-to-me and match-not-channel are now bot:match-to-me and
16 bot:match-not-channel. Just use perl -pi -e
17 "s/match-to-me/bot:match-to-me" SCRIPTS (change to match-not-channel
18 for match-not-channel).
19 - Each script is now loaded into its own module so namespace clashes
20 should no longer occur
21 - New procedure: (bot:load-module INTERFACE-SPEC) will load a "bot
22 module" with the specified INTERFACE-SPEC (e.g. (foo bar)). A bot
23 module is the same as a system module except that you don't use
24 define-module to define it. The %bot:loadpath is searched for
25 INTERFACE-SPEC (when converted to a string) with an extension in
26 %bot:load-extensions. E.g. (foo bar) becomes "foo/bar".
27 - New procedure: (bot:use-module INTERFACE-SPEC) is the same as
28 bot:load-module except it will make the exported bindings from
29 INTERFACE-SPEC available in the current-module.
30
31 Version 2.1.1: foom
32
33 - Host masks are now case insensitive when matched. At least one other
34 person thought this was a good idea since IRC is case preserving but
35 not case sensitive.
36 - You can now "name" a hook using an extra arg to bot:addhook. This
37 name can be used to have multiple hooks of the same type with the
38 same regexp. The default name is "DEFAULT" so don't use that as the
39 name for your hooks.
40 - Logging now works again (oops, I didn't realize I broke it until I
41 started to work on DCC).
42 - DCC CHAT now "works." You can connect to the bot and talk to to it
43 and use Scheme hooks to talk to the user.
44 - New hooks: hooks/dcc/chat-begin and hooks/dcc/chat-message. These
45 are called when a new DCC Chat begin and when the user sends a
46 message.
47 - New Function: bot:dcc-chat-send TO MESSAGE, sends a MESSAGE to the
48 person at address TO
49 - New hooks: hooks/send/... where ... is one of action, ctcp, public,
50 or message. These are triggered when the bot does an
51 ACTION, sends a CTCP (_not_ a ctcp-reply), sends a PRIVMSG to a
52 channel, or sends a PRIVMSG to another user, respectively. There
53 will be more send hooks added later.
54 - New hooks: hooks/dcc/chat-begin and
55 hooks/dcc/chat-message. chat-begin is called when the chat starts
56 and has one argument: the address (in user!nick@host
57 format). chat-message has two arguments: from (user!nick@host) and
58 message, which is the raw message (since there is no real protocol
59 for DCC). chat-start hooks are matched against the address and
60 chat-message hooks are matched against the text "ADDRESS MESSAGE"
61 where ADDRESS is the sender's address and MESSAGE is the message.
62
63 Version 2.1.0: Zug Zug
64 - Hooks can now be fallthrough or non fallthrough. You can set a hooks
65 priority and whether or not it falls through (i.e. continues hook
66 matching after it has been executed) using two optional args to
67 (bot-addhook). The new args are pri (integer priority) and fallthru
68 (#t or #f) and are at the end. Higher priority hooks are executed
69 before lower priority hooks, and fallthrough hooks are executed
70 before non-fallthrough hooks.
71 - The default config is read from ~/.bobotpp/config/default/ or
72 /etc/bobotpp/default/ if the user config is not found. Put your
73 default config is either dir. You may also specify a specific config
74 under these dirs using the --config or -c arg to bobotpp (see
75 bobotpp --help for the full list of commands you may use and how to
76 use them).
77 - Scripts are now stored in ~/.bobotpp/scripts/ or
78 PREFIX/share/bobotpp/scripts/ (where PREFIX is /usr/local unless you
79 changed it with the --prefix arg to configure). The new function
80 bot-load will take a filename and load it from these dirs, returning
81 #t if the file was loaded and #f if it wasn't. You can modify the
82 search list by appending to %bot-loadpath.
83 - bobot-utils.scm is now autoloaded, so you don't need to
84 load it if you want to use its functions.
85 - Logs are now in ~/.bobotpp/logs/
86 - bot-* procedures in Scheme are now bot:*. The old bot-* functions
87 are defined as aliases in bobot-utils.scm
88 - You can now use lambda's for new commands (oops, I wasn't protecting
89 the objects from garbage collection)
90
91
92 Version 2.0: Stable release / CVS merges
93 - Merged stuff from Etienne Bernard's dev tree that he was working on
94 before I took over (not much)
95 - bot-adduser and bot-addshit now work from Scheme
96
97 Version 1.99: Configure joy
98 - You can now disable scripting using --disable-scripting or
99 --enable-scripting=no
100 - Crypt can also be disabled with --disable-crypt or --enable-crypt=no
101 - Old hooks behavior has been restored (new hooks are added to the end
102 of the hooks list and processing does not stop at the first matched
103 hook). The hook behavior will change radically in 2.1.
104
105 Version 1.98: Unknown_lamer made a large number of changes
106 - Code is now ISO C++ and compiles with GCC 3.1
107 - Converted makefile system to use automake
108 - configure.ac now requires autoconf 2.50 (this is only a problem if
109 you modify it, but I should be the only one doing that)
110 - Transition to new Guile 1.6 API has begun
111 - Scripting must always be enabled for now (known "bug")
112 - first hook of a given type to match is the only hook executed, all
113 others are ignored. Note that the last hook to be registered is the
114 first in the list!
115
116
117 Version 1.97: lots of changes, especially guile's scripting support, which
118 is not yet documented. See in the scripts/ directory for
119 examples, and in Interp.C (the Startup() function) for the
120 list of all available commands.
121
122 Version 1.30: Syntax change for "channel =" in bot.conf. See examples/bot.conf.
123 Rewrite of ident/password system. Should be more secure and
124 flexible.