[project @ 2002-08-18 21:32:48 by unknown_lamer]
[clinton/bobotpp.git] / ChangeLog
index f7153db..b032c2e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,185 @@
+2002-08-18  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
+       user!nick@host instead of the correct nick!user@host).
+
+       * source/Interp.C (Startup): Register bot:DCC-chat-send
+
+       * source/ScriptCommands.C (sendDCCChatMessage): Added method again
+
+2002-08-08  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/String.C (String): The std::string copy constructor now
+       extracts the c_str of the std::string and then takes the strlen of
+       that before copying it. This fixes a bug with DCC where if you did
+       e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
+       something like that, depending on what the last message was
+       because Socket will insert a \0 into its semi-static buffer, so
+       the len of the String will not equal the strlen of its char*.
+
+2002-08-07  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/DCCPerson.H: Removed destructor (I = idiot)
+
+       * source/DCCConnection.H: DCCManager is now a friend of
+       DCCConnection (ugh, the bot has way too many friends).
+
+       * source/DCCPerson.H: Added DCC member that returns a const
+       DCCConnection* (the dcc connection). This isn't saved anywhere
+       because when a DCCPerson is destroyed, its connection is also
+       destroyed.
+
+       * source/Bot.H: dccConnections is now a DCCManager
+
+       * source/DCCPerson.H: Added destructor
+       Added handleInput method
+
+       * source/DCCManager.C: New file
+       (addConnection): Wrote method, add a DCCConection to the manager
+
+       * source/DCCManager.H: New file
+
+       * source/Interp.C (Startup): Register bot:DCC-chat-send
+       (Startup): Removed sendDCCChatMessage stuff
+
+       * source/ScriptCommands.C (sendDCCChatMessage): New method:
+       sendDCCChatMessage (to, message) sends message to to.
+
+       * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
+       one arg: from (user!nick@host).
+
+       * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
+       two args: from (user!nick@host) and line
+
+2002-08-06  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Interp.C (Startup): Two new Scheme values:
+       hooks/dcc/chat-begin and hooks/dcc/chat-message for the
+       DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
+
+       * source/BotInterp.H: Added two new enum values to Hook:
+       DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
+       chat message hooks
+
+2002-08-05  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Parser.C (parseCTCP): Removed call to htonl and fixed
+       DCC! Ack, sockets take their arguments in network byte order so
+       there is no need to convert to host...now DCC _sort of_ works.
+
+2002-08-04  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/UserList.C (save): Increment iterator twice to get around
+       bug (see BUGS #2)
+
+       * source/ServerQueue.C: Now sends SEND_* hooks instead of
+       triggered general hooks.
+
+       * source/Interp.C (Startup): New scheme side defines: hooks/send/*
+       (* = the new SEND_ hooks, but lowercase).
+
+       * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
+       CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
+
+2002-08-01  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
+       logs again.
+
+       * source/Socket.C (readLine): Now uses a static std::string that
+       starts out with 512 chars. This will never need to be resized for
+       usualy IRC messages, but might be for DCC messages
+
+2002-07-31  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * scripts/bobot-utils.scm (not-from-me): New syntax.
+
+       * source/ScriptCommands.C (AddHook): Now takes another optional
+       arg--name that will name the hook (see the hooks section in the
+       manual for what this does).
+
+       * source/BotInterp.H: Added name field to Hook
+
+2002-07-29  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
+       PRIVMSGes because the IRC server doesn't echo them back to the
+       bot. This could be useful for something (e.g. log script).
+
+2002-07-27  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
+       (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
+       associated with the hook when Interp::Shutdown is called (bot exit).
+
+2002-07-23  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
+       hook is greater than or less than the other hook, only the
+       priority is considered. However, if both hooks have the same
+       priority, then the fallthru-ness is considered, with fallthru
+       hooks being greater than non-fallthru hooks.
+       
+       * source/BotInterp.C (hptr_lt): Added this static function to be
+       used to sort the hooks list (now hooks should be sorted using
+       Hook's operator < instead of using pointer comparision, meaning
+       the new hook system will work correctly)
+
+       * scripts/bobot-utils.scm: Make bot:log use for-each instead of
+       map because we don't need the result of the displays (this would
+       just be a list of #<undefined> values and is a waste of memory).
+
+2002-07-13  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Bot.C (Bot): userFunctions is now a map for efficiency
+       (worst case search is now NlogN instead of N). This improvement is
+       not as drastic as the one gained by making the Parser functions
+       list a map (because we don't scan this map for every message), but
+       it helps to clean up the code
+
+2002-07-12  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Parser.H: Removed userFunctionsStruct
+
+       * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
+       as bot:send-CTCP for Scheme
+
+       * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
+
+2002-07-11  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/ServerQueue.C (sendUser): Changed . . in USER command to
+       0 * (which is the Right Way to because <mode> must be a number...)
+
+       * source/Parser.C (init): New method of Parse. This initalizes the
+       functions map. functions replaces the old functions array, and
+       should yield better performance (since the functions array had to
+       be scanned for every incoming message)
+
+       * source/Parser.H: New member, functions (private)
+
+2002-07-10  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Interp.C (Startup): New symbols: bot:user-*
+       [none|user|trusted|friend|master] are defined in Scheme as the
+       different levels of the users. 
+       (Startup): All bot-* variables are now bot:*
+
+2002-07-09  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Bot.H: Made some variables private because they shouldn't
+       be changed at runtime
+
+       * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
+       this out to see if it works and make it work)
+
+       * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
+       dir. 
+
+       * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
+       scripts in the user scripts dir) that made bobot++ not able to
+       load scripts from the user scripts dir
+
 2002-07-08  Clinton Ebadi  <clinton@unknownlamer.org>
 
        * source/BotInterp.C (RunHooks): Changed iterators to