1 2005-06-23 Clinton Ebadi <clinton@unknownlamer.org>
3 * scripts/bot.scm: Added file ((bobotpp bot) module for other
4 modules to gain access to bobot++ interface)
6 * source/Commands.C (Notice): Commented out check/abort if target
7 is a channel (there doesn't seem to be a reason for this to not work)
9 * source/Interp.C (interp_init_helper): Register bot:notice with scheme
11 * bobot++.texinfo (High Level Message Functions): Document bot:notice
13 * source/Message.H: Added operator== to Message (tests for error
16 * source/Commands.C: Removed message type macros
18 * source/Message.H: Moved message type macros to Message.H
20 * source/ScriptCommands.C (sendNotice): Implemented sendNotice
22 * source/ScriptCommands.H: Uncomment sendNotice
24 * source/Bot.C (waitForInput): Use %02d when formatting
25 Hooks::TIMER argument instead of %2d, and switch to snprintf to
28 * bobot++.texinfo (Hooks): Clarified intro text about hooks (order
31 * source/Bot.C (run): Added call to Hooks::DISCONNECT
32 (hooks/disconnect) when the bot is disconnected from the server
34 * bobot++.texinfo: Applied documentation patch from Dale P. Smith
35 (Hook Types): Added hooks/disconnect argument
37 2005-06-06 Clinton Ebadi <clinton@unknownlamer.org>
39 * bobot++.texinfo: Change @vskip 0 to @vskip 0pt to make this work
42 2005-06-01 Clinton Ebadi <clinton@unknownlamer.org>
44 * source/Interp.C (interp_init_helper): Added
45 bot:protection/[none|ban|kick|deop] constants to Scheme
46 (interp_init_helper): Added bot:aop/[yes|no] constants
48 2005-05-31 Clinton Ebadi <clinton@unknownlamer.org>
50 * configure.ac: Release Bobot++ 2.1.7
51 Changed version to 2.18.CVS
53 * source/UserList.C (save): Remove workaround for BUG #2
55 * source/Parser.C (parse001): make realNick lowercase when doing
56 the comparison to bot->nickName to prevent pushing a second copy
57 of the bot onto the userlist (closes BUG #2)
59 * source/Bot.C (Bot): cleaned up constructor
60 (waitForInput): replaced gh_list with scm_list_n
62 * source/UserList.C: Cleaned up some formatting
64 * source/Main.C: Formatted code more cleanly
65 (real_main): changed a few Strings to std::strings
67 * source/String.C (operator): Made index signed again, it's not
68 worth fixing this warning
70 * source/Bot.C: Add casts to make this compile with unsigned int
71 as operator[] in String
73 * source/String.C (operator): Made index unsigned
75 * source/Utils.C: Made a few things unsigned to kill warnings
77 * source/Socket.C (readLine): Made pos unsigned
79 * source/Bot.C (Bot): Fixed initializer list order to kill warnings
81 * source/BotInterp.C (RunTimers): Removed unused variable (Timer *t)
83 * source/StringTokenizer.C (count_tokens): Changed return type to
85 (more_tokens_p): Made counter unsigned
87 * source/StringTokenizer.H (class StringTokenizer): Made pos
88 std::string::size_type instead of int
90 * source/Commands.C (TBan): Returns Ok is the ban is done instead
91 of falling off the end (oops)
93 * source/BotInterp.H: Add general catch case (false)
95 2005-03-11 Clinton Ebadi <clinton@unknownlamer.org>
97 * configure.ac: Release 2.1.6
98 Changed version to 2.1.7CVS
100 2005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
102 * source/Parser.C (parseLine): use map<>::find and an iterator to
103 find the IRC command instead of map<>::operator[] to avoid a
106 * source/Bot.C (waitForInput): Removed commented out code
108 * source/Socket.C (readLine): return String (buf.c_str ()) instead
109 of String (buf) so that only the buffer up to the first null is returned
110 (readLine): Added a comment explaining the usage of buf
111 (readLine): Changed type of length (std::string::size_type instead
114 * source/String.C: Reimplemented String on top of std::string to
115 fix a few bugs and potential memory leaks
116 (toLower): use Utils::to_lower
117 (toUpper): Use Utils::to_upper
118 (trim): Use Utils::trim_str
120 * source/String.H: removed srep, replaced it with a std::string (my_string)
122 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
124 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
125 counters and substr call)
127 * source/StringTokenizer.C (next_token): Applied patch from Jos
128 Hulzink <josh@stack.nl> (fixes substr call)
129 (rest): Applied patch from Jos Hulzink <josh@stack.nl> (fixes
132 2005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
134 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
135 he is a lazy bum and never submitted the String replacing patch
137 2005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
139 * configure.ac: Remove CC++ test
140 Changed version to 2.1.6CVS (2.1.5 released)
142 * bobot++.texinfo: Updated copyright
144 2005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
146 * TODO (General): Added TODO items
147 (2.2): Moved a few items here from 2.4
149 * README (NOTE): Mention boost requirement
151 2005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
153 * ChangeLog Updated copryight
155 * source/User.H: Removed forward declaration of Utils
157 * source/Bot.H: Removed forward declaration of Utils
159 * source/ChannelList.H: Removed forward declaration of Utils
161 * source/UserListItem.H: Removed forward declaration of Utils
163 * source/Utils.H: Removed class Utils, replaced with a namspace
164 (it only contained static methods)
166 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
167 (he is replacing String)
169 2005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
171 * source/BotConfig.C (set_option_value): Put watcher calling
172 inside of if (cf_iter != end()) to fix a segfault (if the cf_iter
173 = end then there are no watchers since this is a new value and
174 references cf_iter->second segfaults)
176 * source/Utils.C (trim_str): Fixed bug (last non-space character
179 * source/BotConfig.C (read_config): Made to use set_option_value
180 instead of manipulating options_db directly
182 * source/BotConfig.H (class BotConfig): Add set_option_value that
183 takes a t_value instead of t_value_list (most uss of
184 set_option_value will be to add a single value so this is very useful)
186 * source/BotConfig.C (set_option_value): Implemented
188 * source/UserList.C: Made to work with new Utils/StringTokenizer names
190 * source/UserCommands.C: Made to work with new
191 Utils/StringTokenizer names
193 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
195 2005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
197 * source/ShitList.C: Made to work with new StringTokenizer names
199 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
201 * source/ServerQueue.C: Made to work with new Utils names
203 * source/ScriptCommands.C: Made work with new Utils names
205 * source/Person.C (getNick): Made work with new Utils names
207 * source/String.H: Added substr prototypes
209 * source/String.C (substr): Added substr as an alias of subString
210 (for compat with std::string before the transition)
212 * source/Parser.C: Made to work with new Utils/StringTokenizer names
214 * source/DCCParser.C: Made to work with new Utils names
216 * source/DCCChatConnection.C: Made to work new Utils names
218 * source/Commands.C: Made to work with new Utils names
220 * source/Channel.C: Made to work with new Utils names
222 * source/BotInterp.C: Made to work with new Utils
224 * source/Bot.C: Made to work with new Utils/StringTokenizer names
226 * source/String.C (operator=): Unremoved operator=(std::string)
228 * source/String.H: Unremoved operator=(std::string)
230 * source/BotConfig.C (read_config): Use Utils::trim_str
232 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
234 * source/Utils.C (trim_str): Implemented
236 * source/Utils.H: Added tim_str (replaces String::trim)
238 * source/BotConfig.C: Made everything work with new
239 StringTokenizer and Utils names
241 * source/Utils.H: Added to_lower
244 * source/StringTokenizer.C (rest): uses std::isspace instead of
245 checking st[pos] against ' ' and '\t'
247 * source/StringTokenizer.H: Removed CamelCasing
248 Renamed hasMoreTokens to more_tokens_p
250 * source/StringTokenizer.C: Converted to use std::string
252 * source/StringTokenizer.H: Converted to use std::string
254 * source/String.C: Removed operator=(std::string)
256 * source/String.H: Removed operator=(std::string)
258 * source/Utils.C: Added copyright
259 Reformatted to match GNU coding standard more closely
260 Converted everything to use std::string
261 (get_nick): Renamed from getNick
262 (get_userhost): Renamed from getUserHost
263 (get_key): Renamed from getKey
264 (IP_p): Renamed from isIP
265 (make_wildcard): Renamed from makeWildcard
266 (channel_p): Renamed from isChannel
267 (wildcard_p): Renamed from isWildcard
268 (valid_channel_name_p): Renamed from isValidChannelName
269 (valid_nickname_p): Renamed from isValidNickName
270 (get_level): Renamed from getLevel
271 (str2time): Renamed from strToTime
272 (str2time): Fixed potential buffer overflow (num[512] => std::string)
273 (level2str): Renamed from levelToStr
274 (prot2str): Renamed from protToStr
275 (bool2str): Renamed from boolToStr
276 (long2str): Implemented
277 (scm2str): Renamed from scm2String
278 (str2scm): Renamed from string2SCM
280 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
282 * source/Utils.H: Added long2str (long int -> std::string)
284 * source/String.H: Added 2003 copyright (the year I last modified
287 * source/String.C: Added 2002 copyright (the year I last modified
290 * source/Utils.H: Updated Copyright
291 s/String/std::string/g
292 Removed camel casing and is* = *_p
295 * source/BotConfig.C: Updated Copyright
297 * source/BotConfig.H: Updated copyright
299 2005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
301 * source/BotConfig.C (set_option_value): Take care of the case
302 where key is not already in the db
303 (add_watcher): Implemented
304 (read_config): Removed ',' token parsing (not needed)
306 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
307 AC_CHECK_LIB ccgnu2 (CommonC++2)
309 * README: Updated README (reformatted, adding info, etc.)
311 2005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
313 * source/BotConfig.C (set_option_value): call watcher list
314 (run_fun_): Added to support watcher list calling
316 2005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
318 * source/BotConfig.C (set_option_value): Fuck you STL
319 (push_back_): Reimplemented so that it doesn't need std::bind1st
320 because the STL is being stupid
322 2004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
324 * source/BotConfig.C (read_config): Implemented properly
325 (get_option_values): Implemented properly
326 (set_config_file): Fixed
328 2004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
330 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
333 2004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
335 * source/BotConfig.C: New file (implementation of configuration database)
337 * source/BotConfig.H: New File (semi-generic configuration database)
339 2004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
341 * bobot++.texinfo (Starting the Bot): New section
343 2004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
345 * bobot++.texinfo (Protection): Added Section
346 (User Levels): Rewrote section to be useful
347 (bot.users): Added section
349 2004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
351 * source/DCCChatConnection.C (connect): Checks to make sure the
352 person initiating a DCC CHAT with the bot is at least a FRIEND of
355 * README: Fixed a typo
357 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
358 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
360 2004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
362 * bobot++.texinfo (bot.conf): Finished section
363 (server syntax): New section, documents the bot.conf SERVER syntax
364 (channel syntax): New section, documentes the bot.conf CHANNEL syntax
366 2004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
368 * source/Main.C (real_main): std::exit instead of exit
370 2004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
372 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
373 constructor with `n' This should fix the segfaulting.
375 2004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
377 * ChangeLog: Updated copyright notice
379 2004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
381 * source/Interp.C (interp_init_helper): Register
382 bot:change-command-level
384 * source/ScriptCommands.C (ChangeCommandLevel): Added
385 ChangeCommandLevel to change the level a user needs to be to run a
388 * source/ScriptCommands.H: Added ChangeCommandLevel
390 2003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
392 * source/String.H: Changed #define STRING_H to BSTRING_H
394 2003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
396 * scripts/bobot-utils.scm (bot:sent-to-me?): New procedure, used
397 to see if a message was sent to the bot (this is better than
398 bot:match-to-me because the hook isn't invalidated when the bot's
401 * source/DCCConnection.H: Added `nuh' back and added an
403 Added setter `set_autoRemove(bool)'
405 * source/DCCConnection.H: Removed all friends
406 Added accessors (get_bot, get_lastSpoken, get_autoRemove; get_bot
407 reveals the pointer to the bot [PRIVATE POINTER] which probably
408 isn't so nice, but there isn't much to be done about it with the
409 current design of the bot)
411 * source/DCCChatConnection.H: Removed all friends
413 * source/DCCConnection.H: DCCConnection is now a pure virtual
414 class with the subclass DCCChatConnection
416 2003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
418 * source/Socket.C (connect): log errors to the bot log instead of
421 2003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
423 * source/Parser.C (parseMessage): use the find method of std::map
424 to find the command to call instead of [] and then extract the
425 pointer to the userFunction from that if it exists. This appears
426 to fix the crash when one uses an undefined command followed by
429 2003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
431 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
432 ScriptCommands::SetFloodRate
434 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
436 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
439 * source/Bot.H: Made MAX_MESSAGES writeable
441 * source/UserCommands.H: New method: SetFloodRate
443 * source/Commands.H: New method: SetFloodRate
445 2003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
447 * configure.ac: Merged all AC_OUTPUTs at the end
449 2003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
451 * scripts/bobot-utils.scm: Make exported symbols from
452 the-bot-module available in the guile-user module so that scripts
453 loaded with Interp::Load function.
455 2003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
457 * scripts/bobot-utils.scm (bot:load-module): Loads a file from the
458 %bot:loadpath into its own module and returns that (unnamed) module
459 (bot:use-module): Calls bot:load-module and then adds the newly
460 loaded module to the (current-module)'s use-list
462 * source/Interp.C (interp_init_helper): New procedure to initialize
463 the-bot-module (this is the old Interp::Startup verbatim)
464 (interp_post_startup_helper): New procedure to export
465 the-bot-module from bot_module
466 (Startup): Now calls interp_init_helper and
467 interp_post_startup_helper to initalize the bot module system
469 * source/Interp.H: Added private variable bot_module to Interp
471 2002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
473 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
474 this breaks existing scripts, this is the unstable tree after all)
476 2002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
478 * source/Mask.C (match): Made Mask::match case insensitive
480 2002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
482 * source/Interp.C (scm_apply_wrapper): turned off locking of
483 Interp::mutex to see if this makes the bot work again...and it
486 2002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
488 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
489 everything to use aclocal/automake 1.6
491 2002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
493 * source/DCCPerson.H (class DCCPerson): Added
494 UserCommands::DCCList as a friend (friends are better than the old
495 DCC() function at least).
497 * source/DCCManager.H (class DCCManager): Added
498 UserCommands::DCCList as a friend
500 * source/Interp.H (class Interp): Made function scm_apply_wrapper
501 a friend so it can lock Interp::mutex
503 * source/Interp.C (scm_apply_wrapper): Lock Interp::mutex if
504 MULTITHREAD is defined (it is always defined when scripting is
505 enabled) so that Sockets can be made multithreaded using
508 * source/DCCPerson.H: Removed DCC method and made Bot a friend
509 Made DCCManager a friend
511 * source/DCCManager.H (class DCCManager): Removed MAP() method
512 and made Bot a friend of DCCManager
514 2002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
516 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
519 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
520 user!nick@host instead of the correct nick!user@host).
522 * source/Interp.C (Startup): Register bot:DCC-chat-send
524 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
526 2002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
528 * source/String.C (String): The std::string copy constructor now
529 extracts the c_str of the std::string and then takes the strlen of
530 that before copying it. This fixes a bug with DCC where if you did
531 e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
532 something like that, depending on what the last message was
533 because Socket will insert a \0 into its semi-static buffer, so
534 the len of the String will not equal the strlen of its char*.
536 2002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
538 * source/DCCPerson.H: Removed destructor (I = idiot)
540 * source/DCCConnection.H: DCCManager is now a friend of
541 DCCConnection (ugh, the bot has way too many friends).
543 * source/DCCPerson.H: Added DCC member that returns a const
544 DCCConnection* (the dcc connection). This isn't saved anywhere
545 because when a DCCPerson is destroyed, its connection is also
548 * source/Bot.H: dccConnections is now a DCCManager
550 * source/DCCPerson.H: Added destructor
551 Added handleInput method
553 * source/DCCManager.C: New file
554 (addConnection): Wrote method, add a DCCConection to the manager
556 * source/DCCManager.H: New file
558 * source/Interp.C (Startup): Register bot:DCC-chat-send
559 (Startup): Removed sendDCCChatMessage stuff
561 * source/ScriptCommands.C (sendDCCChatMessage): New method:
562 sendDCCChatMessage (to, message) sends message to to.
564 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
565 one arg: from (user!nick@host).
567 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
568 two args: from (user!nick@host) and line
570 2002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
572 * source/Interp.C (Startup): Two new Scheme values:
573 hooks/dcc/chat-begin and hooks/dcc/chat-message for the
574 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
576 * source/BotInterp.H: Added two new enum values to Hook:
577 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
580 2002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
582 * source/Parser.C (parseCTCP): Removed call to htonl and fixed
583 DCC! Ack, sockets take their arguments in network byte order so
584 there is no need to convert to host...now DCC _sort of_ works.
586 2002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
588 * source/UserList.C (save): Increment iterator twice to get around
591 * source/ServerQueue.C: Now sends SEND_* hooks instead of
592 triggered general hooks.
594 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
595 (* = the new SEND_ hooks, but lowercase).
597 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
598 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
600 2002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
602 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
605 * source/Socket.C (readLine): Now uses a static std::string that
606 starts out with 512 chars. This will never need to be resized for
607 usualy IRC messages, but might be for DCC messages
609 2002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
611 * scripts/bobot-utils.scm (not-from-me): New syntax.
613 * source/ScriptCommands.C (AddHook): Now takes another optional
614 arg--name that will name the hook (see the hooks section in the
615 manual for what this does).
617 * source/BotInterp.H: Added name field to Hook
619 2002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
621 * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
622 PRIVMSGes because the IRC server doesn't echo them back to the
623 bot. This could be useful for something (e.g. log script).
625 2002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
627 * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
628 (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
629 associated with the hook when Interp::Shutdown is called (bot exit).
631 2002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
633 * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
634 hook is greater than or less than the other hook, only the
635 priority is considered. However, if both hooks have the same
636 priority, then the fallthru-ness is considered, with fallthru
637 hooks being greater than non-fallthru hooks.
639 * source/BotInterp.C (hptr_lt): Added this static function to be
640 used to sort the hooks list (now hooks should be sorted using
641 Hook's operator < instead of using pointer comparision, meaning
642 the new hook system will work correctly)
644 * scripts/bobot-utils.scm: Make bot:log use for-each instead of
645 map because we don't need the result of the displays (this would
646 just be a list of #<undefined> values and is a waste of memory).
648 2002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
650 * source/Bot.C (Bot): userFunctions is now a map for efficiency
651 (worst case search is now NlogN instead of N). This improvement is
652 not as drastic as the one gained by making the Parser functions
653 list a map (because we don't scan this map for every message), but
654 it helps to clean up the code
656 2002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
658 * source/Parser.H: Removed userFunctionsStruct
660 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
661 as bot:send-CTCP for Scheme
663 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
665 2002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
667 * source/ServerQueue.C (sendUser): Changed . . in USER command to
668 0 * (which is the Right Way to because <mode> must be a number...)
670 * source/Parser.C (init): New method of Parse. This initalizes the
671 functions map. functions replaces the old functions array, and
672 should yield better performance (since the functions array had to
673 be scanned for every incoming message)
675 * source/Parser.H: New member, functions (private)
677 2002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
679 * source/Interp.C (Startup): New symbols: bot:user-*
680 [none|user|trusted|friend|master] are defined in Scheme as the
681 different levels of the users.
682 (Startup): All bot-* variables are now bot:*
684 2002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
686 * source/Bot.H: Made some variables private because they shouldn't
687 be changed at runtime
689 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
690 this out to see if it works and make it work)
692 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
695 * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
696 scripts in the user scripts dir) that made bobot++ not able to
697 load scripts from the user scripts dir
699 2002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
701 * source/BotInterp.C (RunHooks): Changed iterators to
702 reverse_iterators because the hooks list is sorted in ascending
703 order--higher priority and fallthrough hooks appear _after_ the
704 lower priority and non-fallthrough hooks.
706 * source/Main.C (print_long_help): Added function
707 (print_short_help): Renamed from printUsage
708 (namespace): Most stuff in here is now defined in an anonymouse
709 namespace so it doesn't have external linkage
710 (real_main): Uses getopt_long instead of getopt. Added several
711 command line arguments (bobotpp --help for a full list).
713 * scripts/bobot-utils.scm (bot-load): Function moved from
716 * source/Interp.C (Startup): Autoloads
717 PREFIX/bobotpp/scripts/bobot-utils.scm now
718 (Startup): New Scheme variable: bot-sys-scripts-dir (system
721 * source/bobot-scheme.scm.in: Removed
723 * source/Makefile.am: Removed bobot-scheme.scm compiliation
725 * configure.ac (PREFIX): configure.ac defined prefix now
727 * source/Main.C (real_main): Default configuration is now read
728 from /etc/bobotpp/default
729 * source/bobot-scheme.scm.in: Added file. This defines the
730 'bot-load' procedure which will load a file from
731 $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the
732 script doesn't exist in the user script dir.
734 2002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
736 * bobot++.texinfo: Started docs (just a skeleton right now)
738 * source/ScriptCommands.C (AddHook): Now takes pri and fall opt
739 args to set a hooks priority and whether or not it will
740 fallthrough. These args are optional.
742 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
744 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
745 (RunHooks): exec fallthrough hooks first.
747 * source/BotInterp.H: Changed Hooks to have priority
748 Added fhooksMap to BotInterp (fallthrough)
750 * source/UserCommands.C (AddShit): Converted to use Commands
752 2002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
754 * source/Commands.C (AddUser): Fixed a one-off (function call was
755 before a brace instead of after one) that caused a segfault when
756 the user mask was a wildcard
758 2002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
760 * all files: Updated address of the FSF
762 * source/UserCommands.C (AddUser): Uses Commands now instead of
763 manipulating the bot directly
765 2002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
767 * source/ScriptCommands.C (AddShit): Filled in function.
769 * source/Interp.C (Startup): Bind bot-adduser to
770 ScriptCommands::AddUser instead of Action
771 (Startup): Bind bot-addshit to ScriptCommands::AddShit
773 * source/ScriptCommands.C (AddUser): Filled in function
775 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
776 would have caused problems if you used more than one server
778 * source/Parser.H: Changed const char* to String in userFunctionStruct
780 * source/String.H: Added std::string compatibility members
782 * configure.ac: You can now disable Crypt and scripting
784 * source/*: Added #include "config.h" where needed
786 * configure.ac: Added AM_CONFIG_HEADER
788 * config.h.in: added file
790 * source/Queue.C: Didn't notice iostream.h here! Fixed
793 Copyright 2002,2003,2004,2005 Clinton Ebadi
794 Copying and distribution of this file, with or without modification, are
795 permitted provided the copyright notice and this notice are preserved.