1 2005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
3 * source/Socket.C (readLine): return String (buf.c_str ()) instead
4 of String (buf) so that only the buffer up to the first null is returned
5 (readLine): Added a comment explaining the usage of buf
6 (readLine): Changed type of length (std::string::size_type instead
9 * source/String.C: Reimplemented String on top of std::string to
10 fix a few bugs and potential memory leaks
11 (toLower): use Utils::to_lower
12 (toUpper): Use Utils::to_upper
13 (trim): Use Utils::trim_str
15 * source/String.H: removed srep, replaced it with a std::string (my_string)
17 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
19 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
20 counters and substr call)
22 * source/StringTokenizer.C (next_token): Applied patch from Jos
23 Hulzink <josh@stack.nl> (fixes substr call)
24 (rest): Applied patch from Jos Hulzink <josh@stack.nl> (fixes
27 2005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
29 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
30 he is a lazy bum and never submitted the String replacing patch
32 2005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
34 * configure.ac: Remove CC++ test
35 Changed version to 2.1.6CVS (2.1.5 released)
37 * bobot++.texinfo: Updated copyright
39 2005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
41 * TODO (General): Added TODO items
42 (2.2): Moved a few items here from 2.4
44 * README (NOTE): Mention boost requirement
46 2005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
48 * ChangeLog Updated copryight
50 * source/User.H: Removed forward declaration of Utils
52 * source/Bot.H: Removed forward declaration of Utils
54 * source/ChannelList.H: Removed forward declaration of Utils
56 * source/UserListItem.H: Removed forward declaration of Utils
58 * source/Utils.H: Removed class Utils, replaced with a namspace
59 (it only contained static methods)
61 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
62 (he is replacing String)
64 2005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
66 * source/BotConfig.C (set_option_value): Put watcher calling
67 inside of if (cf_iter != end()) to fix a segfault (if the cf_iter
68 = end then there are no watchers since this is a new value and
69 references cf_iter->second segfaults)
71 * source/Utils.C (trim_str): Fixed bug (last non-space character
74 * source/BotConfig.C (read_config): Made to use set_option_value
75 instead of manipulating options_db directly
77 * source/BotConfig.H (class BotConfig): Add set_option_value that
78 takes a t_value instead of t_value_list (most uss of
79 set_option_value will be to add a single value so this is very useful)
81 * source/BotConfig.C (set_option_value): Implemented
83 * source/UserList.C: Made to work with new Utils/StringTokenizer names
85 * source/UserCommands.C: Made to work with new
86 Utils/StringTokenizer names
88 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
90 2005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
92 * source/ShitList.C: Made to work with new StringTokenizer names
94 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
96 * source/ServerQueue.C: Made to work with new Utils names
98 * source/ScriptCommands.C: Made work with new Utils names
100 * source/Person.C (getNick): Made work with new Utils names
102 * source/String.H: Added substr prototypes
104 * source/String.C (substr): Added substr as an alias of subString
105 (for compat with std::string before the transition)
107 * source/Parser.C: Made to work with new Utils/StringTokenizer names
109 * source/DCCParser.C: Made to work with new Utils names
111 * source/DCCChatConnection.C: Made to work new Utils names
113 * source/Commands.C: Made to work with new Utils names
115 * source/Channel.C: Made to work with new Utils names
117 * source/BotInterp.C: Made to work with new Utils
119 * source/Bot.C: Made to work with new Utils/StringTokenizer names
121 * source/String.C (operator=): Unremoved operator=(std::string)
123 * source/String.H: Unremoved operator=(std::string)
125 * source/BotConfig.C (read_config): Use Utils::trim_str
127 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
129 * source/Utils.C (trim_str): Implemented
131 * source/Utils.H: Added tim_str (replaces String::trim)
133 * source/BotConfig.C: Made everything work with new
134 StringTokenizer and Utils names
136 * source/Utils.H: Added to_lower
139 * source/StringTokenizer.C (rest): uses std::isspace instead of
140 checking st[pos] against ' ' and '\t'
142 * source/StringTokenizer.H: Removed CamelCasing
143 Renamed hasMoreTokens to more_tokens_p
145 * source/StringTokenizer.C: Converted to use std::string
147 * source/StringTokenizer.H: Converted to use std::string
149 * source/String.C: Removed operator=(std::string)
151 * source/String.H: Removed operator=(std::string)
153 * source/Utils.C: Added copyright
154 Reformatted to match GNU coding standard more closely
155 Converted everything to use std::string
156 (get_nick): Renamed from getNick
157 (get_userhost): Renamed from getUserHost
158 (get_key): Renamed from getKey
159 (IP_p): Renamed from isIP
160 (make_wildcard): Renamed from makeWildcard
161 (channel_p): Renamed from isChannel
162 (wildcard_p): Renamed from isWildcard
163 (valid_channel_name_p): Renamed from isValidChannelName
164 (valid_nickname_p): Renamed from isValidNickName
165 (get_level): Renamed from getLevel
166 (str2time): Renamed from strToTime
167 (str2time): Fixed potential buffer overflow (num[512] => std::string)
168 (level2str): Renamed from levelToStr
169 (prot2str): Renamed from protToStr
170 (bool2str): Renamed from boolToStr
171 (long2str): Implemented
172 (scm2str): Renamed from scm2String
173 (str2scm): Renamed from string2SCM
175 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
177 * source/Utils.H: Added long2str (long int -> std::string)
179 * source/String.H: Added 2003 copyright (the year I last modified
182 * source/String.C: Added 2002 copyright (the year I last modified
185 * source/Utils.H: Updated Copyright
186 s/String/std::string/g
187 Removed camel casing and is* = *_p
190 * source/BotConfig.C: Updated Copyright
192 * source/BotConfig.H: Updated copyright
194 2005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
196 * source/BotConfig.C (set_option_value): Take care of the case
197 where key is not already in the db
198 (add_watcher): Implemented
199 (read_config): Removed ',' token parsing (not needed)
201 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
202 AC_CHECK_LIB ccgnu2 (CommonC++2)
204 * README: Updated README (reformatted, adding info, etc.)
206 2005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
208 * source/BotConfig.C (set_option_value): call watcher list
209 (run_fun_): Added to support watcher list calling
211 2005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
213 * source/BotConfig.C (set_option_value): Fuck you STL
214 (push_back_): Reimplemented so that it doesn't need std::bind1st
215 because the STL is being stupid
217 2004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
219 * source/BotConfig.C (read_config): Implemented properly
220 (get_option_values): Implemented properly
221 (set_config_file): Fixed
223 2004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
225 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
228 2004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
230 * source/BotConfig.C: New file (implementation of configuration database)
232 * source/BotConfig.H: New File (semi-generic configuration database)
234 2004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
236 * bobot++.texinfo (Starting the Bot): New section
238 2004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
240 * bobot++.texinfo (Protection): Added Section
241 (User Levels): Rewrote section to be useful
242 (bot.users): Added section
244 2004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
246 * source/DCCChatConnection.C (connect): Checks to make sure the
247 person initiating a DCC CHAT with the bot is at least a FRIEND of
250 * README: Fixed a typo
252 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
253 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
255 2004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
257 * bobot++.texinfo (bot.conf): Finished section
258 (server syntax): New section, documents the bot.conf SERVER syntax
259 (channel syntax): New section, documentes the bot.conf CHANNEL syntax
261 2004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
263 * source/Main.C (real_main): std::exit instead of exit
265 2004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
267 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
268 constructor with `n' This should fix the segfaulting.
270 2004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
272 * ChangeLog: Updated copyright notice
274 2004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
276 * source/Interp.C (interp_init_helper): Register
277 bot:change-command-level
279 * source/ScriptCommands.C (ChangeCommandLevel): Added
280 ChangeCommandLevel to change the level a user needs to be to run a
283 * source/ScriptCommands.H: Added ChangeCommandLevel
285 2003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
287 * source/String.H: Changed #define STRING_H to BSTRING_H
289 2003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
291 * scripts/bobot-utils.scm (bot:sent-to-me?): New procedure, used
292 to see if a message was sent to the bot (this is better than
293 bot:match-to-me because the hook isn't invalidated when the bot's
296 * source/DCCConnection.H: Added `nuh' back and added an
298 Added setter `set_autoRemove(bool)'
300 * source/DCCConnection.H: Removed all friends
301 Added accessors (get_bot, get_lastSpoken, get_autoRemove; get_bot
302 reveals the pointer to the bot [PRIVATE POINTER] which probably
303 isn't so nice, but there isn't much to be done about it with the
304 current design of the bot)
306 * source/DCCChatConnection.H: Removed all friends
308 * source/DCCConnection.H: DCCConnection is now a pure virtual
309 class with the subclass DCCChatConnection
311 2003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
313 * source/Socket.C (connect): log errors to the bot log instead of
316 2003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
318 * source/Parser.C (parseMessage): use the find method of std::map
319 to find the command to call instead of [] and then extract the
320 pointer to the userFunction from that if it exists. This appears
321 to fix the crash when one uses an undefined command followed by
324 2003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
326 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
327 ScriptCommands::SetFloodRate
329 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
331 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
334 * source/Bot.H: Made MAX_MESSAGES writeable
336 * source/UserCommands.H: New method: SetFloodRate
338 * source/Commands.H: New method: SetFloodRate
340 2003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
342 * configure.ac: Merged all AC_OUTPUTs at the end
344 2003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
346 * scripts/bobot-utils.scm: Make exported symbols from
347 the-bot-module available in the guile-user module so that scripts
348 loaded with Interp::Load function.
350 2003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
352 * scripts/bobot-utils.scm (bot:load-module): Loads a file from the
353 %bot:loadpath into its own module and returns that (unnamed) module
354 (bot:use-module): Calls bot:load-module and then adds the newly
355 loaded module to the (current-module)'s use-list
357 * source/Interp.C (interp_init_helper): New procedure to initialize
358 the-bot-module (this is the old Interp::Startup verbatim)
359 (interp_post_startup_helper): New procedure to export
360 the-bot-module from bot_module
361 (Startup): Now calls interp_init_helper and
362 interp_post_startup_helper to initalize the bot module system
364 * source/Interp.H: Added private variable bot_module to Interp
366 2002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
368 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
369 this breaks existing scripts, this is the unstable tree after all)
371 2002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
373 * source/Mask.C (match): Made Mask::match case insensitive
375 2002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
377 * source/Interp.C (scm_apply_wrapper): turned off locking of
378 Interp::mutex to see if this makes the bot work again...and it
381 2002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
383 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
384 everything to use aclocal/automake 1.6
386 2002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
388 * source/DCCPerson.H (class DCCPerson): Added
389 UserCommands::DCCList as a friend (friends are better than the old
390 DCC() function at least).
392 * source/DCCManager.H (class DCCManager): Added
393 UserCommands::DCCList as a friend
395 * source/Interp.H (class Interp): Made function scm_apply_wrapper
396 a friend so it can lock Interp::mutex
398 * source/Interp.C (scm_apply_wrapper): Lock Interp::mutex if
399 MULTITHREAD is defined (it is always defined when scripting is
400 enabled) so that Sockets can be made multithreaded using
403 * source/DCCPerson.H: Removed DCC method and made Bot a friend
404 Made DCCManager a friend
406 * source/DCCManager.H (class DCCManager): Removed MAP() method
407 and made Bot a friend of DCCManager
409 2002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
411 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
414 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
415 user!nick@host instead of the correct nick!user@host).
417 * source/Interp.C (Startup): Register bot:DCC-chat-send
419 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
421 2002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
423 * source/String.C (String): The std::string copy constructor now
424 extracts the c_str of the std::string and then takes the strlen of
425 that before copying it. This fixes a bug with DCC where if you did
426 e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
427 something like that, depending on what the last message was
428 because Socket will insert a \0 into its semi-static buffer, so
429 the len of the String will not equal the strlen of its char*.
431 2002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
433 * source/DCCPerson.H: Removed destructor (I = idiot)
435 * source/DCCConnection.H: DCCManager is now a friend of
436 DCCConnection (ugh, the bot has way too many friends).
438 * source/DCCPerson.H: Added DCC member that returns a const
439 DCCConnection* (the dcc connection). This isn't saved anywhere
440 because when a DCCPerson is destroyed, its connection is also
443 * source/Bot.H: dccConnections is now a DCCManager
445 * source/DCCPerson.H: Added destructor
446 Added handleInput method
448 * source/DCCManager.C: New file
449 (addConnection): Wrote method, add a DCCConection to the manager
451 * source/DCCManager.H: New file
453 * source/Interp.C (Startup): Register bot:DCC-chat-send
454 (Startup): Removed sendDCCChatMessage stuff
456 * source/ScriptCommands.C (sendDCCChatMessage): New method:
457 sendDCCChatMessage (to, message) sends message to to.
459 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
460 one arg: from (user!nick@host).
462 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
463 two args: from (user!nick@host) and line
465 2002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
467 * source/Interp.C (Startup): Two new Scheme values:
468 hooks/dcc/chat-begin and hooks/dcc/chat-message for the
469 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
471 * source/BotInterp.H: Added two new enum values to Hook:
472 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
475 2002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
477 * source/Parser.C (parseCTCP): Removed call to htonl and fixed
478 DCC! Ack, sockets take their arguments in network byte order so
479 there is no need to convert to host...now DCC _sort of_ works.
481 2002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
483 * source/UserList.C (save): Increment iterator twice to get around
486 * source/ServerQueue.C: Now sends SEND_* hooks instead of
487 triggered general hooks.
489 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
490 (* = the new SEND_ hooks, but lowercase).
492 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
493 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
495 2002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
497 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
500 * source/Socket.C (readLine): Now uses a static std::string that
501 starts out with 512 chars. This will never need to be resized for
502 usualy IRC messages, but might be for DCC messages
504 2002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
506 * scripts/bobot-utils.scm (not-from-me): New syntax.
508 * source/ScriptCommands.C (AddHook): Now takes another optional
509 arg--name that will name the hook (see the hooks section in the
510 manual for what this does).
512 * source/BotInterp.H: Added name field to Hook
514 2002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
516 * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
517 PRIVMSGes because the IRC server doesn't echo them back to the
518 bot. This could be useful for something (e.g. log script).
520 2002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
522 * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
523 (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
524 associated with the hook when Interp::Shutdown is called (bot exit).
526 2002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
528 * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
529 hook is greater than or less than the other hook, only the
530 priority is considered. However, if both hooks have the same
531 priority, then the fallthru-ness is considered, with fallthru
532 hooks being greater than non-fallthru hooks.
534 * source/BotInterp.C (hptr_lt): Added this static function to be
535 used to sort the hooks list (now hooks should be sorted using
536 Hook's operator < instead of using pointer comparision, meaning
537 the new hook system will work correctly)
539 * scripts/bobot-utils.scm: Make bot:log use for-each instead of
540 map because we don't need the result of the displays (this would
541 just be a list of #<undefined> values and is a waste of memory).
543 2002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
545 * source/Bot.C (Bot): userFunctions is now a map for efficiency
546 (worst case search is now NlogN instead of N). This improvement is
547 not as drastic as the one gained by making the Parser functions
548 list a map (because we don't scan this map for every message), but
549 it helps to clean up the code
551 2002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
553 * source/Parser.H: Removed userFunctionsStruct
555 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
556 as bot:send-CTCP for Scheme
558 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
560 2002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
562 * source/ServerQueue.C (sendUser): Changed . . in USER command to
563 0 * (which is the Right Way to because <mode> must be a number...)
565 * source/Parser.C (init): New method of Parse. This initalizes the
566 functions map. functions replaces the old functions array, and
567 should yield better performance (since the functions array had to
568 be scanned for every incoming message)
570 * source/Parser.H: New member, functions (private)
572 2002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
574 * source/Interp.C (Startup): New symbols: bot:user-*
575 [none|user|trusted|friend|master] are defined in Scheme as the
576 different levels of the users.
577 (Startup): All bot-* variables are now bot:*
579 2002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
581 * source/Bot.H: Made some variables private because they shouldn't
582 be changed at runtime
584 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
585 this out to see if it works and make it work)
587 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
590 * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
591 scripts in the user scripts dir) that made bobot++ not able to
592 load scripts from the user scripts dir
594 2002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
596 * source/BotInterp.C (RunHooks): Changed iterators to
597 reverse_iterators because the hooks list is sorted in ascending
598 order--higher priority and fallthrough hooks appear _after_ the
599 lower priority and non-fallthrough hooks.
601 * source/Main.C (print_long_help): Added function
602 (print_short_help): Renamed from printUsage
603 (namespace): Most stuff in here is now defined in an anonymouse
604 namespace so it doesn't have external linkage
605 (real_main): Uses getopt_long instead of getopt. Added several
606 command line arguments (bobotpp --help for a full list).
608 * scripts/bobot-utils.scm (bot-load): Function moved from
611 * source/Interp.C (Startup): Autoloads
612 PREFIX/bobotpp/scripts/bobot-utils.scm now
613 (Startup): New Scheme variable: bot-sys-scripts-dir (system
616 * source/bobot-scheme.scm.in: Removed
618 * source/Makefile.am: Removed bobot-scheme.scm compiliation
620 * configure.ac (PREFIX): configure.ac defined prefix now
622 * source/Main.C (real_main): Default configuration is now read
623 from /etc/bobotpp/default
624 * source/bobot-scheme.scm.in: Added file. This defines the
625 'bot-load' procedure which will load a file from
626 $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the
627 script doesn't exist in the user script dir.
629 2002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
631 * bobot++.texinfo: Started docs (just a skeleton right now)
633 * source/ScriptCommands.C (AddHook): Now takes pri and fall opt
634 args to set a hooks priority and whether or not it will
635 fallthrough. These args are optional.
637 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
639 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
640 (RunHooks): exec fallthrough hooks first.
642 * source/BotInterp.H: Changed Hooks to have priority
643 Added fhooksMap to BotInterp (fallthrough)
645 * source/UserCommands.C (AddShit): Converted to use Commands
647 2002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
649 * source/Commands.C (AddUser): Fixed a one-off (function call was
650 before a brace instead of after one) that caused a segfault when
651 the user mask was a wildcard
653 2002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
655 * all files: Updated address of the FSF
657 * source/UserCommands.C (AddUser): Uses Commands now instead of
658 manipulating the bot directly
660 2002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
662 * source/ScriptCommands.C (AddShit): Filled in function.
664 * source/Interp.C (Startup): Bind bot-adduser to
665 ScriptCommands::AddUser instead of Action
666 (Startup): Bind bot-addshit to ScriptCommands::AddShit
668 * source/ScriptCommands.C (AddUser): Filled in function
670 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
671 would have caused problems if you used more than one server
673 * source/Parser.H: Changed const char* to String in userFunctionStruct
675 * source/String.H: Added std::string compatibility members
677 * configure.ac: You can now disable Crypt and scripting
679 * source/*: Added #include "config.h" where needed
681 * configure.ac: Added AM_CONFIG_HEADER
683 * config.h.in: added file
685 * source/Queue.C: Didn't notice iostream.h here! Fixed
688 Copyright 2002,2003,2004,2005 Clinton Ebadi
689 Copying and distribution of this file, with or without modification, are
690 permitted provided the copyright notice and this notice are preserved.