1 2005-06-01 Clinton Ebadi <clinton@unknownlamer.org>
3 * source/Interp.C (interp_init_helper): Added
4 bot:protection/[none|ban|kick|deop] constants to Scheme
5 (interp_init_helper): Added bot:aop/[yes|no] constants
7 2005-05-31 Clinton Ebadi <clinton@unknownlamer.org>
9 * configure.ac: Release Bobot++ 2.1.7
10 Changed version to 2.18.CVS
12 * source/UserList.C (save): Remove workaround for BUG #2
14 * source/Parser.C (parse001): make realNick lowercase when doing
15 the comparison to bot->nickName to prevent pushing a second copy
16 of the bot onto the userlist (closes BUG #2)
18 * source/Bot.C (Bot): cleaned up constructor
19 (waitForInput): replaced gh_list with scm_list_n
21 * source/UserList.C: Cleaned up some formatting
23 * source/Main.C: Formatted code more cleanly
24 (real_main): changed a few Strings to std::strings
26 * source/String.C (operator): Made index signed again, it's not
27 worth fixing this warning
29 * source/Bot.C: Add casts to make this compile with unsigned int
30 as operator[] in String
32 * source/String.C (operator): Made index unsigned
34 * source/Utils.C: Made a few things unsigned to kill warnings
36 * source/Socket.C (readLine): Made pos unsigned
38 * source/Bot.C (Bot): Fixed initializer list order to kill warnings
40 * source/BotInterp.C (RunTimers): Removed unused variable (Timer *t)
42 * source/StringTokenizer.C (count_tokens): Changed return type to
44 (more_tokens_p): Made counter unsigned
46 * source/StringTokenizer.H (class StringTokenizer): Made pos
47 std::string::size_type instead of int
49 * source/Commands.C (TBan): Returns Ok is the ban is done instead
50 of falling off the end (oops)
52 * source/BotInterp.H: Add general catch case (false)
54 2005-03-11 Clinton Ebadi <clinton@unknownlamer.org>
56 * configure.ac: Release 2.1.6
57 Changed version to 2.1.7CVS
59 2005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
61 * source/Parser.C (parseLine): use map<>::find and an iterator to
62 find the IRC command instead of map<>::operator[] to avoid a
65 * source/Bot.C (waitForInput): Removed commented out code
67 * source/Socket.C (readLine): return String (buf.c_str ()) instead
68 of String (buf) so that only the buffer up to the first null is returned
69 (readLine): Added a comment explaining the usage of buf
70 (readLine): Changed type of length (std::string::size_type instead
73 * source/String.C: Reimplemented String on top of std::string to
74 fix a few bugs and potential memory leaks
75 (toLower): use Utils::to_lower
76 (toUpper): Use Utils::to_upper
77 (trim): Use Utils::trim_str
79 * source/String.H: removed srep, replaced it with a std::string (my_string)
81 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
83 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
84 counters and substr call)
86 * source/StringTokenizer.C (next_token): Applied patch from Jos
87 Hulzink <josh@stack.nl> (fixes substr call)
88 (rest): Applied patch from Jos Hulzink <josh@stack.nl> (fixes
91 2005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
93 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
94 he is a lazy bum and never submitted the String replacing patch
96 2005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
98 * configure.ac: Remove CC++ test
99 Changed version to 2.1.6CVS (2.1.5 released)
101 * bobot++.texinfo: Updated copyright
103 2005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
105 * TODO (General): Added TODO items
106 (2.2): Moved a few items here from 2.4
108 * README (NOTE): Mention boost requirement
110 2005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
112 * ChangeLog Updated copryight
114 * source/User.H: Removed forward declaration of Utils
116 * source/Bot.H: Removed forward declaration of Utils
118 * source/ChannelList.H: Removed forward declaration of Utils
120 * source/UserListItem.H: Removed forward declaration of Utils
122 * source/Utils.H: Removed class Utils, replaced with a namspace
123 (it only contained static methods)
125 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
126 (he is replacing String)
128 2005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
130 * source/BotConfig.C (set_option_value): Put watcher calling
131 inside of if (cf_iter != end()) to fix a segfault (if the cf_iter
132 = end then there are no watchers since this is a new value and
133 references cf_iter->second segfaults)
135 * source/Utils.C (trim_str): Fixed bug (last non-space character
138 * source/BotConfig.C (read_config): Made to use set_option_value
139 instead of manipulating options_db directly
141 * source/BotConfig.H (class BotConfig): Add set_option_value that
142 takes a t_value instead of t_value_list (most uss of
143 set_option_value will be to add a single value so this is very useful)
145 * source/BotConfig.C (set_option_value): Implemented
147 * source/UserList.C: Made to work with new Utils/StringTokenizer names
149 * source/UserCommands.C: Made to work with new
150 Utils/StringTokenizer names
152 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
154 2005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
156 * source/ShitList.C: Made to work with new StringTokenizer names
158 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
160 * source/ServerQueue.C: Made to work with new Utils names
162 * source/ScriptCommands.C: Made work with new Utils names
164 * source/Person.C (getNick): Made work with new Utils names
166 * source/String.H: Added substr prototypes
168 * source/String.C (substr): Added substr as an alias of subString
169 (for compat with std::string before the transition)
171 * source/Parser.C: Made to work with new Utils/StringTokenizer names
173 * source/DCCParser.C: Made to work with new Utils names
175 * source/DCCChatConnection.C: Made to work new Utils names
177 * source/Commands.C: Made to work with new Utils names
179 * source/Channel.C: Made to work with new Utils names
181 * source/BotInterp.C: Made to work with new Utils
183 * source/Bot.C: Made to work with new Utils/StringTokenizer names
185 * source/String.C (operator=): Unremoved operator=(std::string)
187 * source/String.H: Unremoved operator=(std::string)
189 * source/BotConfig.C (read_config): Use Utils::trim_str
191 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
193 * source/Utils.C (trim_str): Implemented
195 * source/Utils.H: Added tim_str (replaces String::trim)
197 * source/BotConfig.C: Made everything work with new
198 StringTokenizer and Utils names
200 * source/Utils.H: Added to_lower
203 * source/StringTokenizer.C (rest): uses std::isspace instead of
204 checking st[pos] against ' ' and '\t'
206 * source/StringTokenizer.H: Removed CamelCasing
207 Renamed hasMoreTokens to more_tokens_p
209 * source/StringTokenizer.C: Converted to use std::string
211 * source/StringTokenizer.H: Converted to use std::string
213 * source/String.C: Removed operator=(std::string)
215 * source/String.H: Removed operator=(std::string)
217 * source/Utils.C: Added copyright
218 Reformatted to match GNU coding standard more closely
219 Converted everything to use std::string
220 (get_nick): Renamed from getNick
221 (get_userhost): Renamed from getUserHost
222 (get_key): Renamed from getKey
223 (IP_p): Renamed from isIP
224 (make_wildcard): Renamed from makeWildcard
225 (channel_p): Renamed from isChannel
226 (wildcard_p): Renamed from isWildcard
227 (valid_channel_name_p): Renamed from isValidChannelName
228 (valid_nickname_p): Renamed from isValidNickName
229 (get_level): Renamed from getLevel
230 (str2time): Renamed from strToTime
231 (str2time): Fixed potential buffer overflow (num[512] => std::string)
232 (level2str): Renamed from levelToStr
233 (prot2str): Renamed from protToStr
234 (bool2str): Renamed from boolToStr
235 (long2str): Implemented
236 (scm2str): Renamed from scm2String
237 (str2scm): Renamed from string2SCM
239 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
241 * source/Utils.H: Added long2str (long int -> std::string)
243 * source/String.H: Added 2003 copyright (the year I last modified
246 * source/String.C: Added 2002 copyright (the year I last modified
249 * source/Utils.H: Updated Copyright
250 s/String/std::string/g
251 Removed camel casing and is* = *_p
254 * source/BotConfig.C: Updated Copyright
256 * source/BotConfig.H: Updated copyright
258 2005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
260 * source/BotConfig.C (set_option_value): Take care of the case
261 where key is not already in the db
262 (add_watcher): Implemented
263 (read_config): Removed ',' token parsing (not needed)
265 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
266 AC_CHECK_LIB ccgnu2 (CommonC++2)
268 * README: Updated README (reformatted, adding info, etc.)
270 2005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
272 * source/BotConfig.C (set_option_value): call watcher list
273 (run_fun_): Added to support watcher list calling
275 2005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
277 * source/BotConfig.C (set_option_value): Fuck you STL
278 (push_back_): Reimplemented so that it doesn't need std::bind1st
279 because the STL is being stupid
281 2004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
283 * source/BotConfig.C (read_config): Implemented properly
284 (get_option_values): Implemented properly
285 (set_config_file): Fixed
287 2004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
289 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
292 2004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
294 * source/BotConfig.C: New file (implementation of configuration database)
296 * source/BotConfig.H: New File (semi-generic configuration database)
298 2004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
300 * bobot++.texinfo (Starting the Bot): New section
302 2004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
304 * bobot++.texinfo (Protection): Added Section
305 (User Levels): Rewrote section to be useful
306 (bot.users): Added section
308 2004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
310 * source/DCCChatConnection.C (connect): Checks to make sure the
311 person initiating a DCC CHAT with the bot is at least a FRIEND of
314 * README: Fixed a typo
316 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
317 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
319 2004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
321 * bobot++.texinfo (bot.conf): Finished section
322 (server syntax): New section, documents the bot.conf SERVER syntax
323 (channel syntax): New section, documentes the bot.conf CHANNEL syntax
325 2004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
327 * source/Main.C (real_main): std::exit instead of exit
329 2004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
331 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
332 constructor with `n' This should fix the segfaulting.
334 2004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
336 * ChangeLog: Updated copyright notice
338 2004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
340 * source/Interp.C (interp_init_helper): Register
341 bot:change-command-level
343 * source/ScriptCommands.C (ChangeCommandLevel): Added
344 ChangeCommandLevel to change the level a user needs to be to run a
347 * source/ScriptCommands.H: Added ChangeCommandLevel
349 2003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
351 * source/String.H: Changed #define STRING_H to BSTRING_H
353 2003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
355 * scripts/bobot-utils.scm (bot:sent-to-me?): New procedure, used
356 to see if a message was sent to the bot (this is better than
357 bot:match-to-me because the hook isn't invalidated when the bot's
360 * source/DCCConnection.H: Added `nuh' back and added an
362 Added setter `set_autoRemove(bool)'
364 * source/DCCConnection.H: Removed all friends
365 Added accessors (get_bot, get_lastSpoken, get_autoRemove; get_bot
366 reveals the pointer to the bot [PRIVATE POINTER] which probably
367 isn't so nice, but there isn't much to be done about it with the
368 current design of the bot)
370 * source/DCCChatConnection.H: Removed all friends
372 * source/DCCConnection.H: DCCConnection is now a pure virtual
373 class with the subclass DCCChatConnection
375 2003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
377 * source/Socket.C (connect): log errors to the bot log instead of
380 2003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
382 * source/Parser.C (parseMessage): use the find method of std::map
383 to find the command to call instead of [] and then extract the
384 pointer to the userFunction from that if it exists. This appears
385 to fix the crash when one uses an undefined command followed by
388 2003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
390 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
391 ScriptCommands::SetFloodRate
393 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
395 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
398 * source/Bot.H: Made MAX_MESSAGES writeable
400 * source/UserCommands.H: New method: SetFloodRate
402 * source/Commands.H: New method: SetFloodRate
404 2003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
406 * configure.ac: Merged all AC_OUTPUTs at the end
408 2003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
410 * scripts/bobot-utils.scm: Make exported symbols from
411 the-bot-module available in the guile-user module so that scripts
412 loaded with Interp::Load function.
414 2003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
416 * scripts/bobot-utils.scm (bot:load-module): Loads a file from the
417 %bot:loadpath into its own module and returns that (unnamed) module
418 (bot:use-module): Calls bot:load-module and then adds the newly
419 loaded module to the (current-module)'s use-list
421 * source/Interp.C (interp_init_helper): New procedure to initialize
422 the-bot-module (this is the old Interp::Startup verbatim)
423 (interp_post_startup_helper): New procedure to export
424 the-bot-module from bot_module
425 (Startup): Now calls interp_init_helper and
426 interp_post_startup_helper to initalize the bot module system
428 * source/Interp.H: Added private variable bot_module to Interp
430 2002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
432 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
433 this breaks existing scripts, this is the unstable tree after all)
435 2002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
437 * source/Mask.C (match): Made Mask::match case insensitive
439 2002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
441 * source/Interp.C (scm_apply_wrapper): turned off locking of
442 Interp::mutex to see if this makes the bot work again...and it
445 2002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
447 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
448 everything to use aclocal/automake 1.6
450 2002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
452 * source/DCCPerson.H (class DCCPerson): Added
453 UserCommands::DCCList as a friend (friends are better than the old
454 DCC() function at least).
456 * source/DCCManager.H (class DCCManager): Added
457 UserCommands::DCCList as a friend
459 * source/Interp.H (class Interp): Made function scm_apply_wrapper
460 a friend so it can lock Interp::mutex
462 * source/Interp.C (scm_apply_wrapper): Lock Interp::mutex if
463 MULTITHREAD is defined (it is always defined when scripting is
464 enabled) so that Sockets can be made multithreaded using
467 * source/DCCPerson.H: Removed DCC method and made Bot a friend
468 Made DCCManager a friend
470 * source/DCCManager.H (class DCCManager): Removed MAP() method
471 and made Bot a friend of DCCManager
473 2002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
475 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
478 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
479 user!nick@host instead of the correct nick!user@host).
481 * source/Interp.C (Startup): Register bot:DCC-chat-send
483 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
485 2002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
487 * source/String.C (String): The std::string copy constructor now
488 extracts the c_str of the std::string and then takes the strlen of
489 that before copying it. This fixes a bug with DCC where if you did
490 e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
491 something like that, depending on what the last message was
492 because Socket will insert a \0 into its semi-static buffer, so
493 the len of the String will not equal the strlen of its char*.
495 2002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
497 * source/DCCPerson.H: Removed destructor (I = idiot)
499 * source/DCCConnection.H: DCCManager is now a friend of
500 DCCConnection (ugh, the bot has way too many friends).
502 * source/DCCPerson.H: Added DCC member that returns a const
503 DCCConnection* (the dcc connection). This isn't saved anywhere
504 because when a DCCPerson is destroyed, its connection is also
507 * source/Bot.H: dccConnections is now a DCCManager
509 * source/DCCPerson.H: Added destructor
510 Added handleInput method
512 * source/DCCManager.C: New file
513 (addConnection): Wrote method, add a DCCConection to the manager
515 * source/DCCManager.H: New file
517 * source/Interp.C (Startup): Register bot:DCC-chat-send
518 (Startup): Removed sendDCCChatMessage stuff
520 * source/ScriptCommands.C (sendDCCChatMessage): New method:
521 sendDCCChatMessage (to, message) sends message to to.
523 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
524 one arg: from (user!nick@host).
526 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
527 two args: from (user!nick@host) and line
529 2002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
531 * source/Interp.C (Startup): Two new Scheme values:
532 hooks/dcc/chat-begin and hooks/dcc/chat-message for the
533 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
535 * source/BotInterp.H: Added two new enum values to Hook:
536 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
539 2002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
541 * source/Parser.C (parseCTCP): Removed call to htonl and fixed
542 DCC! Ack, sockets take their arguments in network byte order so
543 there is no need to convert to host...now DCC _sort of_ works.
545 2002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
547 * source/UserList.C (save): Increment iterator twice to get around
550 * source/ServerQueue.C: Now sends SEND_* hooks instead of
551 triggered general hooks.
553 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
554 (* = the new SEND_ hooks, but lowercase).
556 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
557 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
559 2002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
561 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
564 * source/Socket.C (readLine): Now uses a static std::string that
565 starts out with 512 chars. This will never need to be resized for
566 usualy IRC messages, but might be for DCC messages
568 2002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
570 * scripts/bobot-utils.scm (not-from-me): New syntax.
572 * source/ScriptCommands.C (AddHook): Now takes another optional
573 arg--name that will name the hook (see the hooks section in the
574 manual for what this does).
576 * source/BotInterp.H: Added name field to Hook
578 2002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
580 * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
581 PRIVMSGes because the IRC server doesn't echo them back to the
582 bot. This could be useful for something (e.g. log script).
584 2002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
586 * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
587 (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
588 associated with the hook when Interp::Shutdown is called (bot exit).
590 2002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
592 * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
593 hook is greater than or less than the other hook, only the
594 priority is considered. However, if both hooks have the same
595 priority, then the fallthru-ness is considered, with fallthru
596 hooks being greater than non-fallthru hooks.
598 * source/BotInterp.C (hptr_lt): Added this static function to be
599 used to sort the hooks list (now hooks should be sorted using
600 Hook's operator < instead of using pointer comparision, meaning
601 the new hook system will work correctly)
603 * scripts/bobot-utils.scm: Make bot:log use for-each instead of
604 map because we don't need the result of the displays (this would
605 just be a list of #<undefined> values and is a waste of memory).
607 2002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
609 * source/Bot.C (Bot): userFunctions is now a map for efficiency
610 (worst case search is now NlogN instead of N). This improvement is
611 not as drastic as the one gained by making the Parser functions
612 list a map (because we don't scan this map for every message), but
613 it helps to clean up the code
615 2002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
617 * source/Parser.H: Removed userFunctionsStruct
619 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
620 as bot:send-CTCP for Scheme
622 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
624 2002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
626 * source/ServerQueue.C (sendUser): Changed . . in USER command to
627 0 * (which is the Right Way to because <mode> must be a number...)
629 * source/Parser.C (init): New method of Parse. This initalizes the
630 functions map. functions replaces the old functions array, and
631 should yield better performance (since the functions array had to
632 be scanned for every incoming message)
634 * source/Parser.H: New member, functions (private)
636 2002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
638 * source/Interp.C (Startup): New symbols: bot:user-*
639 [none|user|trusted|friend|master] are defined in Scheme as the
640 different levels of the users.
641 (Startup): All bot-* variables are now bot:*
643 2002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
645 * source/Bot.H: Made some variables private because they shouldn't
646 be changed at runtime
648 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
649 this out to see if it works and make it work)
651 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
654 * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
655 scripts in the user scripts dir) that made bobot++ not able to
656 load scripts from the user scripts dir
658 2002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
660 * source/BotInterp.C (RunHooks): Changed iterators to
661 reverse_iterators because the hooks list is sorted in ascending
662 order--higher priority and fallthrough hooks appear _after_ the
663 lower priority and non-fallthrough hooks.
665 * source/Main.C (print_long_help): Added function
666 (print_short_help): Renamed from printUsage
667 (namespace): Most stuff in here is now defined in an anonymouse
668 namespace so it doesn't have external linkage
669 (real_main): Uses getopt_long instead of getopt. Added several
670 command line arguments (bobotpp --help for a full list).
672 * scripts/bobot-utils.scm (bot-load): Function moved from
675 * source/Interp.C (Startup): Autoloads
676 PREFIX/bobotpp/scripts/bobot-utils.scm now
677 (Startup): New Scheme variable: bot-sys-scripts-dir (system
680 * source/bobot-scheme.scm.in: Removed
682 * source/Makefile.am: Removed bobot-scheme.scm compiliation
684 * configure.ac (PREFIX): configure.ac defined prefix now
686 * source/Main.C (real_main): Default configuration is now read
687 from /etc/bobotpp/default
688 * source/bobot-scheme.scm.in: Added file. This defines the
689 'bot-load' procedure which will load a file from
690 $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the
691 script doesn't exist in the user script dir.
693 2002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
695 * bobot++.texinfo: Started docs (just a skeleton right now)
697 * source/ScriptCommands.C (AddHook): Now takes pri and fall opt
698 args to set a hooks priority and whether or not it will
699 fallthrough. These args are optional.
701 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
703 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
704 (RunHooks): exec fallthrough hooks first.
706 * source/BotInterp.H: Changed Hooks to have priority
707 Added fhooksMap to BotInterp (fallthrough)
709 * source/UserCommands.C (AddShit): Converted to use Commands
711 2002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
713 * source/Commands.C (AddUser): Fixed a one-off (function call was
714 before a brace instead of after one) that caused a segfault when
715 the user mask was a wildcard
717 2002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
719 * all files: Updated address of the FSF
721 * source/UserCommands.C (AddUser): Uses Commands now instead of
722 manipulating the bot directly
724 2002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
726 * source/ScriptCommands.C (AddShit): Filled in function.
728 * source/Interp.C (Startup): Bind bot-adduser to
729 ScriptCommands::AddUser instead of Action
730 (Startup): Bind bot-addshit to ScriptCommands::AddShit
732 * source/ScriptCommands.C (AddUser): Filled in function
734 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
735 would have caused problems if you used more than one server
737 * source/Parser.H: Changed const char* to String in userFunctionStruct
739 * source/String.H: Added std::string compatibility members
741 * configure.ac: You can now disable Crypt and scripting
743 * source/*: Added #include "config.h" where needed
745 * configure.ac: Added AM_CONFIG_HEADER
747 * config.h.in: added file
749 * source/Queue.C: Didn't notice iostream.h here! Fixed
752 Copyright 2002,2003,2004,2005 Clinton Ebadi
753 Copying and distribution of this file, with or without modification, are
754 permitted provided the copyright notice and this notice are preserved.