1 2005-05-31 Clinton Ebadi <clinton@unknownlamer.org>
3 * source/UserList.C (save): Remove workaround for BUG #2
5 * source/Parser.C (parse001): make realNick lowercase when doing
6 the comparison to bot->nickName to prevent pushing a second copy
7 of the bot onto the userlist (closes BUG #2)
9 * source/Bot.C (Bot): cleaned up constructor
10 (waitForInput): replaced gh_list with scm_list_n
12 * source/UserList.C: Cleaned up some formatting
14 * source/Main.C: Formatted code more cleanly
15 (real_main): changed a few Strings to std::strings
17 * source/String.C (operator): Made index signed again, it's not
18 worth fixing this warning
20 * source/Bot.C: Add casts to make this compile with unsigned int
21 as operator[] in String
23 * source/String.C (operator): Made index unsigned
25 * source/Utils.C: Made a few things unsigned to kill warnings
27 * source/Socket.C (readLine): Made pos unsigned
29 * source/Bot.C (Bot): Fixed initializer list order to kill warnings
31 * source/BotInterp.C (RunTimers): Removed unused variable (Timer *t)
33 * source/StringTokenizer.C (count_tokens): Changed return type to
35 (more_tokens_p): Made counter unsigned
37 * source/StringTokenizer.H (class StringTokenizer): Made pos
38 std::string::size_type instead of int
40 * source/Commands.C (TBan): Returns Ok is the ban is done instead
41 of falling off the end (oops)
43 * source/BotInterp.H: Add general catch case (false)
45 2005-03-11 Clinton Ebadi <clinton@unknownlamer.org>
47 * configure.ac: Release 2.1.6
48 Changed version to 2.1.7CVS
50 2005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
52 * source/Parser.C (parseLine): use map<>::find and an iterator to
53 find the IRC command instead of map<>::operator[] to avoid a
56 * source/Bot.C (waitForInput): Removed commented out code
58 * source/Socket.C (readLine): return String (buf.c_str ()) instead
59 of String (buf) so that only the buffer up to the first null is returned
60 (readLine): Added a comment explaining the usage of buf
61 (readLine): Changed type of length (std::string::size_type instead
64 * source/String.C: Reimplemented String on top of std::string to
65 fix a few bugs and potential memory leaks
66 (toLower): use Utils::to_lower
67 (toUpper): Use Utils::to_upper
68 (trim): Use Utils::trim_str
70 * source/String.H: removed srep, replaced it with a std::string (my_string)
72 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
74 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
75 counters and substr call)
77 * source/StringTokenizer.C (next_token): Applied patch from Jos
78 Hulzink <josh@stack.nl> (fixes substr call)
79 (rest): Applied patch from Jos Hulzink <josh@stack.nl> (fixes
82 2005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
84 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
85 he is a lazy bum and never submitted the String replacing patch
87 2005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
89 * configure.ac: Remove CC++ test
90 Changed version to 2.1.6CVS (2.1.5 released)
92 * bobot++.texinfo: Updated copyright
94 2005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
96 * TODO (General): Added TODO items
97 (2.2): Moved a few items here from 2.4
99 * README (NOTE): Mention boost requirement
101 2005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
103 * ChangeLog Updated copryight
105 * source/User.H: Removed forward declaration of Utils
107 * source/Bot.H: Removed forward declaration of Utils
109 * source/ChannelList.H: Removed forward declaration of Utils
111 * source/UserListItem.H: Removed forward declaration of Utils
113 * source/Utils.H: Removed class Utils, replaced with a namspace
114 (it only contained static methods)
116 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
117 (he is replacing String)
119 2005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
121 * source/BotConfig.C (set_option_value): Put watcher calling
122 inside of if (cf_iter != end()) to fix a segfault (if the cf_iter
123 = end then there are no watchers since this is a new value and
124 references cf_iter->second segfaults)
126 * source/Utils.C (trim_str): Fixed bug (last non-space character
129 * source/BotConfig.C (read_config): Made to use set_option_value
130 instead of manipulating options_db directly
132 * source/BotConfig.H (class BotConfig): Add set_option_value that
133 takes a t_value instead of t_value_list (most uss of
134 set_option_value will be to add a single value so this is very useful)
136 * source/BotConfig.C (set_option_value): Implemented
138 * source/UserList.C: Made to work with new Utils/StringTokenizer names
140 * source/UserCommands.C: Made to work with new
141 Utils/StringTokenizer names
143 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
145 2005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
147 * source/ShitList.C: Made to work with new StringTokenizer names
149 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
151 * source/ServerQueue.C: Made to work with new Utils names
153 * source/ScriptCommands.C: Made work with new Utils names
155 * source/Person.C (getNick): Made work with new Utils names
157 * source/String.H: Added substr prototypes
159 * source/String.C (substr): Added substr as an alias of subString
160 (for compat with std::string before the transition)
162 * source/Parser.C: Made to work with new Utils/StringTokenizer names
164 * source/DCCParser.C: Made to work with new Utils names
166 * source/DCCChatConnection.C: Made to work new Utils names
168 * source/Commands.C: Made to work with new Utils names
170 * source/Channel.C: Made to work with new Utils names
172 * source/BotInterp.C: Made to work with new Utils
174 * source/Bot.C: Made to work with new Utils/StringTokenizer names
176 * source/String.C (operator=): Unremoved operator=(std::string)
178 * source/String.H: Unremoved operator=(std::string)
180 * source/BotConfig.C (read_config): Use Utils::trim_str
182 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
184 * source/Utils.C (trim_str): Implemented
186 * source/Utils.H: Added tim_str (replaces String::trim)
188 * source/BotConfig.C: Made everything work with new
189 StringTokenizer and Utils names
191 * source/Utils.H: Added to_lower
194 * source/StringTokenizer.C (rest): uses std::isspace instead of
195 checking st[pos] against ' ' and '\t'
197 * source/StringTokenizer.H: Removed CamelCasing
198 Renamed hasMoreTokens to more_tokens_p
200 * source/StringTokenizer.C: Converted to use std::string
202 * source/StringTokenizer.H: Converted to use std::string
204 * source/String.C: Removed operator=(std::string)
206 * source/String.H: Removed operator=(std::string)
208 * source/Utils.C: Added copyright
209 Reformatted to match GNU coding standard more closely
210 Converted everything to use std::string
211 (get_nick): Renamed from getNick
212 (get_userhost): Renamed from getUserHost
213 (get_key): Renamed from getKey
214 (IP_p): Renamed from isIP
215 (make_wildcard): Renamed from makeWildcard
216 (channel_p): Renamed from isChannel
217 (wildcard_p): Renamed from isWildcard
218 (valid_channel_name_p): Renamed from isValidChannelName
219 (valid_nickname_p): Renamed from isValidNickName
220 (get_level): Renamed from getLevel
221 (str2time): Renamed from strToTime
222 (str2time): Fixed potential buffer overflow (num[512] => std::string)
223 (level2str): Renamed from levelToStr
224 (prot2str): Renamed from protToStr
225 (bool2str): Renamed from boolToStr
226 (long2str): Implemented
227 (scm2str): Renamed from scm2String
228 (str2scm): Renamed from string2SCM
230 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
232 * source/Utils.H: Added long2str (long int -> std::string)
234 * source/String.H: Added 2003 copyright (the year I last modified
237 * source/String.C: Added 2002 copyright (the year I last modified
240 * source/Utils.H: Updated Copyright
241 s/String/std::string/g
242 Removed camel casing and is* = *_p
245 * source/BotConfig.C: Updated Copyright
247 * source/BotConfig.H: Updated copyright
249 2005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
251 * source/BotConfig.C (set_option_value): Take care of the case
252 where key is not already in the db
253 (add_watcher): Implemented
254 (read_config): Removed ',' token parsing (not needed)
256 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
257 AC_CHECK_LIB ccgnu2 (CommonC++2)
259 * README: Updated README (reformatted, adding info, etc.)
261 2005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
263 * source/BotConfig.C (set_option_value): call watcher list
264 (run_fun_): Added to support watcher list calling
266 2005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
268 * source/BotConfig.C (set_option_value): Fuck you STL
269 (push_back_): Reimplemented so that it doesn't need std::bind1st
270 because the STL is being stupid
272 2004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
274 * source/BotConfig.C (read_config): Implemented properly
275 (get_option_values): Implemented properly
276 (set_config_file): Fixed
278 2004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
280 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
283 2004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
285 * source/BotConfig.C: New file (implementation of configuration database)
287 * source/BotConfig.H: New File (semi-generic configuration database)
289 2004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
291 * bobot++.texinfo (Starting the Bot): New section
293 2004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
295 * bobot++.texinfo (Protection): Added Section
296 (User Levels): Rewrote section to be useful
297 (bot.users): Added section
299 2004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
301 * source/DCCChatConnection.C (connect): Checks to make sure the
302 person initiating a DCC CHAT with the bot is at least a FRIEND of
305 * README: Fixed a typo
307 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
308 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
310 2004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
312 * bobot++.texinfo (bot.conf): Finished section
313 (server syntax): New section, documents the bot.conf SERVER syntax
314 (channel syntax): New section, documentes the bot.conf CHANNEL syntax
316 2004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
318 * source/Main.C (real_main): std::exit instead of exit
320 2004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
322 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
323 constructor with `n' This should fix the segfaulting.
325 2004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
327 * ChangeLog: Updated copyright notice
329 2004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
331 * source/Interp.C (interp_init_helper): Register
332 bot:change-command-level
334 * source/ScriptCommands.C (ChangeCommandLevel): Added
335 ChangeCommandLevel to change the level a user needs to be to run a
338 * source/ScriptCommands.H: Added ChangeCommandLevel
340 2003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
342 * source/String.H: Changed #define STRING_H to BSTRING_H
344 2003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
346 * scripts/bobot-utils.scm (bot:sent-to-me?): New procedure, used
347 to see if a message was sent to the bot (this is better than
348 bot:match-to-me because the hook isn't invalidated when the bot's
351 * source/DCCConnection.H: Added `nuh' back and added an
353 Added setter `set_autoRemove(bool)'
355 * source/DCCConnection.H: Removed all friends
356 Added accessors (get_bot, get_lastSpoken, get_autoRemove; get_bot
357 reveals the pointer to the bot [PRIVATE POINTER] which probably
358 isn't so nice, but there isn't much to be done about it with the
359 current design of the bot)
361 * source/DCCChatConnection.H: Removed all friends
363 * source/DCCConnection.H: DCCConnection is now a pure virtual
364 class with the subclass DCCChatConnection
366 2003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
368 * source/Socket.C (connect): log errors to the bot log instead of
371 2003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
373 * source/Parser.C (parseMessage): use the find method of std::map
374 to find the command to call instead of [] and then extract the
375 pointer to the userFunction from that if it exists. This appears
376 to fix the crash when one uses an undefined command followed by
379 2003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
381 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
382 ScriptCommands::SetFloodRate
384 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
386 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
389 * source/Bot.H: Made MAX_MESSAGES writeable
391 * source/UserCommands.H: New method: SetFloodRate
393 * source/Commands.H: New method: SetFloodRate
395 2003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
397 * configure.ac: Merged all AC_OUTPUTs at the end
399 2003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
401 * scripts/bobot-utils.scm: Make exported symbols from
402 the-bot-module available in the guile-user module so that scripts
403 loaded with Interp::Load function.
405 2003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
407 * scripts/bobot-utils.scm (bot:load-module): Loads a file from the
408 %bot:loadpath into its own module and returns that (unnamed) module
409 (bot:use-module): Calls bot:load-module and then adds the newly
410 loaded module to the (current-module)'s use-list
412 * source/Interp.C (interp_init_helper): New procedure to initialize
413 the-bot-module (this is the old Interp::Startup verbatim)
414 (interp_post_startup_helper): New procedure to export
415 the-bot-module from bot_module
416 (Startup): Now calls interp_init_helper and
417 interp_post_startup_helper to initalize the bot module system
419 * source/Interp.H: Added private variable bot_module to Interp
421 2002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
423 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
424 this breaks existing scripts, this is the unstable tree after all)
426 2002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
428 * source/Mask.C (match): Made Mask::match case insensitive
430 2002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
432 * source/Interp.C (scm_apply_wrapper): turned off locking of
433 Interp::mutex to see if this makes the bot work again...and it
436 2002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
438 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
439 everything to use aclocal/automake 1.6
441 2002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
443 * source/DCCPerson.H (class DCCPerson): Added
444 UserCommands::DCCList as a friend (friends are better than the old
445 DCC() function at least).
447 * source/DCCManager.H (class DCCManager): Added
448 UserCommands::DCCList as a friend
450 * source/Interp.H (class Interp): Made function scm_apply_wrapper
451 a friend so it can lock Interp::mutex
453 * source/Interp.C (scm_apply_wrapper): Lock Interp::mutex if
454 MULTITHREAD is defined (it is always defined when scripting is
455 enabled) so that Sockets can be made multithreaded using
458 * source/DCCPerson.H: Removed DCC method and made Bot a friend
459 Made DCCManager a friend
461 * source/DCCManager.H (class DCCManager): Removed MAP() method
462 and made Bot a friend of DCCManager
464 2002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
466 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
469 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
470 user!nick@host instead of the correct nick!user@host).
472 * source/Interp.C (Startup): Register bot:DCC-chat-send
474 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
476 2002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
478 * source/String.C (String): The std::string copy constructor now
479 extracts the c_str of the std::string and then takes the strlen of
480 that before copying it. This fixes a bug with DCC where if you did
481 e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
482 something like that, depending on what the last message was
483 because Socket will insert a \0 into its semi-static buffer, so
484 the len of the String will not equal the strlen of its char*.
486 2002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
488 * source/DCCPerson.H: Removed destructor (I = idiot)
490 * source/DCCConnection.H: DCCManager is now a friend of
491 DCCConnection (ugh, the bot has way too many friends).
493 * source/DCCPerson.H: Added DCC member that returns a const
494 DCCConnection* (the dcc connection). This isn't saved anywhere
495 because when a DCCPerson is destroyed, its connection is also
498 * source/Bot.H: dccConnections is now a DCCManager
500 * source/DCCPerson.H: Added destructor
501 Added handleInput method
503 * source/DCCManager.C: New file
504 (addConnection): Wrote method, add a DCCConection to the manager
506 * source/DCCManager.H: New file
508 * source/Interp.C (Startup): Register bot:DCC-chat-send
509 (Startup): Removed sendDCCChatMessage stuff
511 * source/ScriptCommands.C (sendDCCChatMessage): New method:
512 sendDCCChatMessage (to, message) sends message to to.
514 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
515 one arg: from (user!nick@host).
517 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
518 two args: from (user!nick@host) and line
520 2002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
522 * source/Interp.C (Startup): Two new Scheme values:
523 hooks/dcc/chat-begin and hooks/dcc/chat-message for the
524 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
526 * source/BotInterp.H: Added two new enum values to Hook:
527 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
530 2002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
532 * source/Parser.C (parseCTCP): Removed call to htonl and fixed
533 DCC! Ack, sockets take their arguments in network byte order so
534 there is no need to convert to host...now DCC _sort of_ works.
536 2002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
538 * source/UserList.C (save): Increment iterator twice to get around
541 * source/ServerQueue.C: Now sends SEND_* hooks instead of
542 triggered general hooks.
544 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
545 (* = the new SEND_ hooks, but lowercase).
547 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
548 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
550 2002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
552 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
555 * source/Socket.C (readLine): Now uses a static std::string that
556 starts out with 512 chars. This will never need to be resized for
557 usualy IRC messages, but might be for DCC messages
559 2002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
561 * scripts/bobot-utils.scm (not-from-me): New syntax.
563 * source/ScriptCommands.C (AddHook): Now takes another optional
564 arg--name that will name the hook (see the hooks section in the
565 manual for what this does).
567 * source/BotInterp.H: Added name field to Hook
569 2002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
571 * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
572 PRIVMSGes because the IRC server doesn't echo them back to the
573 bot. This could be useful for something (e.g. log script).
575 2002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
577 * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
578 (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
579 associated with the hook when Interp::Shutdown is called (bot exit).
581 2002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
583 * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
584 hook is greater than or less than the other hook, only the
585 priority is considered. However, if both hooks have the same
586 priority, then the fallthru-ness is considered, with fallthru
587 hooks being greater than non-fallthru hooks.
589 * source/BotInterp.C (hptr_lt): Added this static function to be
590 used to sort the hooks list (now hooks should be sorted using
591 Hook's operator < instead of using pointer comparision, meaning
592 the new hook system will work correctly)
594 * scripts/bobot-utils.scm: Make bot:log use for-each instead of
595 map because we don't need the result of the displays (this would
596 just be a list of #<undefined> values and is a waste of memory).
598 2002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
600 * source/Bot.C (Bot): userFunctions is now a map for efficiency
601 (worst case search is now NlogN instead of N). This improvement is
602 not as drastic as the one gained by making the Parser functions
603 list a map (because we don't scan this map for every message), but
604 it helps to clean up the code
606 2002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
608 * source/Parser.H: Removed userFunctionsStruct
610 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
611 as bot:send-CTCP for Scheme
613 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
615 2002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
617 * source/ServerQueue.C (sendUser): Changed . . in USER command to
618 0 * (which is the Right Way to because <mode> must be a number...)
620 * source/Parser.C (init): New method of Parse. This initalizes the
621 functions map. functions replaces the old functions array, and
622 should yield better performance (since the functions array had to
623 be scanned for every incoming message)
625 * source/Parser.H: New member, functions (private)
627 2002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
629 * source/Interp.C (Startup): New symbols: bot:user-*
630 [none|user|trusted|friend|master] are defined in Scheme as the
631 different levels of the users.
632 (Startup): All bot-* variables are now bot:*
634 2002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
636 * source/Bot.H: Made some variables private because they shouldn't
637 be changed at runtime
639 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
640 this out to see if it works and make it work)
642 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
645 * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
646 scripts in the user scripts dir) that made bobot++ not able to
647 load scripts from the user scripts dir
649 2002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
651 * source/BotInterp.C (RunHooks): Changed iterators to
652 reverse_iterators because the hooks list is sorted in ascending
653 order--higher priority and fallthrough hooks appear _after_ the
654 lower priority and non-fallthrough hooks.
656 * source/Main.C (print_long_help): Added function
657 (print_short_help): Renamed from printUsage
658 (namespace): Most stuff in here is now defined in an anonymouse
659 namespace so it doesn't have external linkage
660 (real_main): Uses getopt_long instead of getopt. Added several
661 command line arguments (bobotpp --help for a full list).
663 * scripts/bobot-utils.scm (bot-load): Function moved from
666 * source/Interp.C (Startup): Autoloads
667 PREFIX/bobotpp/scripts/bobot-utils.scm now
668 (Startup): New Scheme variable: bot-sys-scripts-dir (system
671 * source/bobot-scheme.scm.in: Removed
673 * source/Makefile.am: Removed bobot-scheme.scm compiliation
675 * configure.ac (PREFIX): configure.ac defined prefix now
677 * source/Main.C (real_main): Default configuration is now read
678 from /etc/bobotpp/default
679 * source/bobot-scheme.scm.in: Added file. This defines the
680 'bot-load' procedure which will load a file from
681 $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the
682 script doesn't exist in the user script dir.
684 2002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
686 * bobot++.texinfo: Started docs (just a skeleton right now)
688 * source/ScriptCommands.C (AddHook): Now takes pri and fall opt
689 args to set a hooks priority and whether or not it will
690 fallthrough. These args are optional.
692 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
694 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
695 (RunHooks): exec fallthrough hooks first.
697 * source/BotInterp.H: Changed Hooks to have priority
698 Added fhooksMap to BotInterp (fallthrough)
700 * source/UserCommands.C (AddShit): Converted to use Commands
702 2002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
704 * source/Commands.C (AddUser): Fixed a one-off (function call was
705 before a brace instead of after one) that caused a segfault when
706 the user mask was a wildcard
708 2002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
710 * all files: Updated address of the FSF
712 * source/UserCommands.C (AddUser): Uses Commands now instead of
713 manipulating the bot directly
715 2002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
717 * source/ScriptCommands.C (AddShit): Filled in function.
719 * source/Interp.C (Startup): Bind bot-adduser to
720 ScriptCommands::AddUser instead of Action
721 (Startup): Bind bot-addshit to ScriptCommands::AddShit
723 * source/ScriptCommands.C (AddUser): Filled in function
725 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
726 would have caused problems if you used more than one server
728 * source/Parser.H: Changed const char* to String in userFunctionStruct
730 * source/String.H: Added std::string compatibility members
732 * configure.ac: You can now disable Crypt and scripting
734 * source/*: Added #include "config.h" where needed
736 * configure.ac: Added AM_CONFIG_HEADER
738 * config.h.in: added file
740 * source/Queue.C: Didn't notice iostream.h here! Fixed
743 Copyright 2002,2003,2004,2005 Clinton Ebadi
744 Copying and distribution of this file, with or without modification, are
745 permitted provided the copyright notice and this notice are preserved.