1 2005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
3 * source/Parser.C (parseLine): use map<>::find and an iterator to
4 find the IRC command instead of map<>::operator[] to avoid a
7 * source/Bot.C (waitForInput): Removed commented out code
9 * source/Socket.C (readLine): return String (buf.c_str ()) instead
10 of String (buf) so that only the buffer up to the first null is returned
11 (readLine): Added a comment explaining the usage of buf
12 (readLine): Changed type of length (std::string::size_type instead
15 * source/String.C: Reimplemented String on top of std::string to
16 fix a few bugs and potential memory leaks
17 (toLower): use Utils::to_lower
18 (toUpper): Use Utils::to_upper
19 (trim): Use Utils::trim_str
21 * source/String.H: removed srep, replaced it with a std::string (my_string)
23 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
25 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
26 counters and substr call)
28 * source/StringTokenizer.C (next_token): Applied patch from Jos
29 Hulzink <josh@stack.nl> (fixes substr call)
30 (rest): Applied patch from Jos Hulzink <josh@stack.nl> (fixes
33 2005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
35 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
36 he is a lazy bum and never submitted the String replacing patch
38 2005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
40 * configure.ac: Remove CC++ test
41 Changed version to 2.1.6CVS (2.1.5 released)
43 * bobot++.texinfo: Updated copyright
45 2005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
47 * TODO (General): Added TODO items
48 (2.2): Moved a few items here from 2.4
50 * README (NOTE): Mention boost requirement
52 2005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
54 * ChangeLog Updated copryight
56 * source/User.H: Removed forward declaration of Utils
58 * source/Bot.H: Removed forward declaration of Utils
60 * source/ChannelList.H: Removed forward declaration of Utils
62 * source/UserListItem.H: Removed forward declaration of Utils
64 * source/Utils.H: Removed class Utils, replaced with a namspace
65 (it only contained static methods)
67 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
68 (he is replacing String)
70 2005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
72 * source/BotConfig.C (set_option_value): Put watcher calling
73 inside of if (cf_iter != end()) to fix a segfault (if the cf_iter
74 = end then there are no watchers since this is a new value and
75 references cf_iter->second segfaults)
77 * source/Utils.C (trim_str): Fixed bug (last non-space character
80 * source/BotConfig.C (read_config): Made to use set_option_value
81 instead of manipulating options_db directly
83 * source/BotConfig.H (class BotConfig): Add set_option_value that
84 takes a t_value instead of t_value_list (most uss of
85 set_option_value will be to add a single value so this is very useful)
87 * source/BotConfig.C (set_option_value): Implemented
89 * source/UserList.C: Made to work with new Utils/StringTokenizer names
91 * source/UserCommands.C: Made to work with new
92 Utils/StringTokenizer names
94 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
96 2005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
98 * source/ShitList.C: Made to work with new StringTokenizer names
100 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
102 * source/ServerQueue.C: Made to work with new Utils names
104 * source/ScriptCommands.C: Made work with new Utils names
106 * source/Person.C (getNick): Made work with new Utils names
108 * source/String.H: Added substr prototypes
110 * source/String.C (substr): Added substr as an alias of subString
111 (for compat with std::string before the transition)
113 * source/Parser.C: Made to work with new Utils/StringTokenizer names
115 * source/DCCParser.C: Made to work with new Utils names
117 * source/DCCChatConnection.C: Made to work new Utils names
119 * source/Commands.C: Made to work with new Utils names
121 * source/Channel.C: Made to work with new Utils names
123 * source/BotInterp.C: Made to work with new Utils
125 * source/Bot.C: Made to work with new Utils/StringTokenizer names
127 * source/String.C (operator=): Unremoved operator=(std::string)
129 * source/String.H: Unremoved operator=(std::string)
131 * source/BotConfig.C (read_config): Use Utils::trim_str
133 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
135 * source/Utils.C (trim_str): Implemented
137 * source/Utils.H: Added tim_str (replaces String::trim)
139 * source/BotConfig.C: Made everything work with new
140 StringTokenizer and Utils names
142 * source/Utils.H: Added to_lower
145 * source/StringTokenizer.C (rest): uses std::isspace instead of
146 checking st[pos] against ' ' and '\t'
148 * source/StringTokenizer.H: Removed CamelCasing
149 Renamed hasMoreTokens to more_tokens_p
151 * source/StringTokenizer.C: Converted to use std::string
153 * source/StringTokenizer.H: Converted to use std::string
155 * source/String.C: Removed operator=(std::string)
157 * source/String.H: Removed operator=(std::string)
159 * source/Utils.C: Added copyright
160 Reformatted to match GNU coding standard more closely
161 Converted everything to use std::string
162 (get_nick): Renamed from getNick
163 (get_userhost): Renamed from getUserHost
164 (get_key): Renamed from getKey
165 (IP_p): Renamed from isIP
166 (make_wildcard): Renamed from makeWildcard
167 (channel_p): Renamed from isChannel
168 (wildcard_p): Renamed from isWildcard
169 (valid_channel_name_p): Renamed from isValidChannelName
170 (valid_nickname_p): Renamed from isValidNickName
171 (get_level): Renamed from getLevel
172 (str2time): Renamed from strToTime
173 (str2time): Fixed potential buffer overflow (num[512] => std::string)
174 (level2str): Renamed from levelToStr
175 (prot2str): Renamed from protToStr
176 (bool2str): Renamed from boolToStr
177 (long2str): Implemented
178 (scm2str): Renamed from scm2String
179 (str2scm): Renamed from string2SCM
181 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
183 * source/Utils.H: Added long2str (long int -> std::string)
185 * source/String.H: Added 2003 copyright (the year I last modified
188 * source/String.C: Added 2002 copyright (the year I last modified
191 * source/Utils.H: Updated Copyright
192 s/String/std::string/g
193 Removed camel casing and is* = *_p
196 * source/BotConfig.C: Updated Copyright
198 * source/BotConfig.H: Updated copyright
200 2005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
202 * source/BotConfig.C (set_option_value): Take care of the case
203 where key is not already in the db
204 (add_watcher): Implemented
205 (read_config): Removed ',' token parsing (not needed)
207 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
208 AC_CHECK_LIB ccgnu2 (CommonC++2)
210 * README: Updated README (reformatted, adding info, etc.)
212 2005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
214 * source/BotConfig.C (set_option_value): call watcher list
215 (run_fun_): Added to support watcher list calling
217 2005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
219 * source/BotConfig.C (set_option_value): Fuck you STL
220 (push_back_): Reimplemented so that it doesn't need std::bind1st
221 because the STL is being stupid
223 2004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
225 * source/BotConfig.C (read_config): Implemented properly
226 (get_option_values): Implemented properly
227 (set_config_file): Fixed
229 2004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
231 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
234 2004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
236 * source/BotConfig.C: New file (implementation of configuration database)
238 * source/BotConfig.H: New File (semi-generic configuration database)
240 2004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
242 * bobot++.texinfo (Starting the Bot): New section
244 2004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
246 * bobot++.texinfo (Protection): Added Section
247 (User Levels): Rewrote section to be useful
248 (bot.users): Added section
250 2004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
252 * source/DCCChatConnection.C (connect): Checks to make sure the
253 person initiating a DCC CHAT with the bot is at least a FRIEND of
256 * README: Fixed a typo
258 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
259 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
261 2004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
263 * bobot++.texinfo (bot.conf): Finished section
264 (server syntax): New section, documents the bot.conf SERVER syntax
265 (channel syntax): New section, documentes the bot.conf CHANNEL syntax
267 2004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
269 * source/Main.C (real_main): std::exit instead of exit
271 2004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
273 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
274 constructor with `n' This should fix the segfaulting.
276 2004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
278 * ChangeLog: Updated copyright notice
280 2004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
282 * source/Interp.C (interp_init_helper): Register
283 bot:change-command-level
285 * source/ScriptCommands.C (ChangeCommandLevel): Added
286 ChangeCommandLevel to change the level a user needs to be to run a
289 * source/ScriptCommands.H: Added ChangeCommandLevel
291 2003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
293 * source/String.H: Changed #define STRING_H to BSTRING_H
295 2003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
297 * scripts/bobot-utils.scm (bot:sent-to-me?): New procedure, used
298 to see if a message was sent to the bot (this is better than
299 bot:match-to-me because the hook isn't invalidated when the bot's
302 * source/DCCConnection.H: Added `nuh' back and added an
304 Added setter `set_autoRemove(bool)'
306 * source/DCCConnection.H: Removed all friends
307 Added accessors (get_bot, get_lastSpoken, get_autoRemove; get_bot
308 reveals the pointer to the bot [PRIVATE POINTER] which probably
309 isn't so nice, but there isn't much to be done about it with the
310 current design of the bot)
312 * source/DCCChatConnection.H: Removed all friends
314 * source/DCCConnection.H: DCCConnection is now a pure virtual
315 class with the subclass DCCChatConnection
317 2003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
319 * source/Socket.C (connect): log errors to the bot log instead of
322 2003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
324 * source/Parser.C (parseMessage): use the find method of std::map
325 to find the command to call instead of [] and then extract the
326 pointer to the userFunction from that if it exists. This appears
327 to fix the crash when one uses an undefined command followed by
330 2003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
332 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
333 ScriptCommands::SetFloodRate
335 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
337 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
340 * source/Bot.H: Made MAX_MESSAGES writeable
342 * source/UserCommands.H: New method: SetFloodRate
344 * source/Commands.H: New method: SetFloodRate
346 2003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
348 * configure.ac: Merged all AC_OUTPUTs at the end
350 2003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
352 * scripts/bobot-utils.scm: Make exported symbols from
353 the-bot-module available in the guile-user module so that scripts
354 loaded with Interp::Load function.
356 2003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
358 * scripts/bobot-utils.scm (bot:load-module): Loads a file from the
359 %bot:loadpath into its own module and returns that (unnamed) module
360 (bot:use-module): Calls bot:load-module and then adds the newly
361 loaded module to the (current-module)'s use-list
363 * source/Interp.C (interp_init_helper): New procedure to initialize
364 the-bot-module (this is the old Interp::Startup verbatim)
365 (interp_post_startup_helper): New procedure to export
366 the-bot-module from bot_module
367 (Startup): Now calls interp_init_helper and
368 interp_post_startup_helper to initalize the bot module system
370 * source/Interp.H: Added private variable bot_module to Interp
372 2002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
374 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
375 this breaks existing scripts, this is the unstable tree after all)
377 2002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
379 * source/Mask.C (match): Made Mask::match case insensitive
381 2002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
383 * source/Interp.C (scm_apply_wrapper): turned off locking of
384 Interp::mutex to see if this makes the bot work again...and it
387 2002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
389 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
390 everything to use aclocal/automake 1.6
392 2002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
394 * source/DCCPerson.H (class DCCPerson): Added
395 UserCommands::DCCList as a friend (friends are better than the old
396 DCC() function at least).
398 * source/DCCManager.H (class DCCManager): Added
399 UserCommands::DCCList as a friend
401 * source/Interp.H (class Interp): Made function scm_apply_wrapper
402 a friend so it can lock Interp::mutex
404 * source/Interp.C (scm_apply_wrapper): Lock Interp::mutex if
405 MULTITHREAD is defined (it is always defined when scripting is
406 enabled) so that Sockets can be made multithreaded using
409 * source/DCCPerson.H: Removed DCC method and made Bot a friend
410 Made DCCManager a friend
412 * source/DCCManager.H (class DCCManager): Removed MAP() method
413 and made Bot a friend of DCCManager
415 2002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
417 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
420 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
421 user!nick@host instead of the correct nick!user@host).
423 * source/Interp.C (Startup): Register bot:DCC-chat-send
425 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
427 2002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
429 * source/String.C (String): The std::string copy constructor now
430 extracts the c_str of the std::string and then takes the strlen of
431 that before copying it. This fixes a bug with DCC where if you did
432 e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
433 something like that, depending on what the last message was
434 because Socket will insert a \0 into its semi-static buffer, so
435 the len of the String will not equal the strlen of its char*.
437 2002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
439 * source/DCCPerson.H: Removed destructor (I = idiot)
441 * source/DCCConnection.H: DCCManager is now a friend of
442 DCCConnection (ugh, the bot has way too many friends).
444 * source/DCCPerson.H: Added DCC member that returns a const
445 DCCConnection* (the dcc connection). This isn't saved anywhere
446 because when a DCCPerson is destroyed, its connection is also
449 * source/Bot.H: dccConnections is now a DCCManager
451 * source/DCCPerson.H: Added destructor
452 Added handleInput method
454 * source/DCCManager.C: New file
455 (addConnection): Wrote method, add a DCCConection to the manager
457 * source/DCCManager.H: New file
459 * source/Interp.C (Startup): Register bot:DCC-chat-send
460 (Startup): Removed sendDCCChatMessage stuff
462 * source/ScriptCommands.C (sendDCCChatMessage): New method:
463 sendDCCChatMessage (to, message) sends message to to.
465 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
466 one arg: from (user!nick@host).
468 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
469 two args: from (user!nick@host) and line
471 2002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
473 * source/Interp.C (Startup): Two new Scheme values:
474 hooks/dcc/chat-begin and hooks/dcc/chat-message for the
475 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
477 * source/BotInterp.H: Added two new enum values to Hook:
478 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
481 2002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
483 * source/Parser.C (parseCTCP): Removed call to htonl and fixed
484 DCC! Ack, sockets take their arguments in network byte order so
485 there is no need to convert to host...now DCC _sort of_ works.
487 2002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
489 * source/UserList.C (save): Increment iterator twice to get around
492 * source/ServerQueue.C: Now sends SEND_* hooks instead of
493 triggered general hooks.
495 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
496 (* = the new SEND_ hooks, but lowercase).
498 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
499 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
501 2002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
503 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
506 * source/Socket.C (readLine): Now uses a static std::string that
507 starts out with 512 chars. This will never need to be resized for
508 usualy IRC messages, but might be for DCC messages
510 2002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
512 * scripts/bobot-utils.scm (not-from-me): New syntax.
514 * source/ScriptCommands.C (AddHook): Now takes another optional
515 arg--name that will name the hook (see the hooks section in the
516 manual for what this does).
518 * source/BotInterp.H: Added name field to Hook
520 2002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
522 * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
523 PRIVMSGes because the IRC server doesn't echo them back to the
524 bot. This could be useful for something (e.g. log script).
526 2002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
528 * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
529 (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
530 associated with the hook when Interp::Shutdown is called (bot exit).
532 2002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
534 * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
535 hook is greater than or less than the other hook, only the
536 priority is considered. However, if both hooks have the same
537 priority, then the fallthru-ness is considered, with fallthru
538 hooks being greater than non-fallthru hooks.
540 * source/BotInterp.C (hptr_lt): Added this static function to be
541 used to sort the hooks list (now hooks should be sorted using
542 Hook's operator < instead of using pointer comparision, meaning
543 the new hook system will work correctly)
545 * scripts/bobot-utils.scm: Make bot:log use for-each instead of
546 map because we don't need the result of the displays (this would
547 just be a list of #<undefined> values and is a waste of memory).
549 2002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
551 * source/Bot.C (Bot): userFunctions is now a map for efficiency
552 (worst case search is now NlogN instead of N). This improvement is
553 not as drastic as the one gained by making the Parser functions
554 list a map (because we don't scan this map for every message), but
555 it helps to clean up the code
557 2002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
559 * source/Parser.H: Removed userFunctionsStruct
561 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
562 as bot:send-CTCP for Scheme
564 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
566 2002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
568 * source/ServerQueue.C (sendUser): Changed . . in USER command to
569 0 * (which is the Right Way to because <mode> must be a number...)
571 * source/Parser.C (init): New method of Parse. This initalizes the
572 functions map. functions replaces the old functions array, and
573 should yield better performance (since the functions array had to
574 be scanned for every incoming message)
576 * source/Parser.H: New member, functions (private)
578 2002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
580 * source/Interp.C (Startup): New symbols: bot:user-*
581 [none|user|trusted|friend|master] are defined in Scheme as the
582 different levels of the users.
583 (Startup): All bot-* variables are now bot:*
585 2002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
587 * source/Bot.H: Made some variables private because they shouldn't
588 be changed at runtime
590 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
591 this out to see if it works and make it work)
593 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
596 * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
597 scripts in the user scripts dir) that made bobot++ not able to
598 load scripts from the user scripts dir
600 2002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
602 * source/BotInterp.C (RunHooks): Changed iterators to
603 reverse_iterators because the hooks list is sorted in ascending
604 order--higher priority and fallthrough hooks appear _after_ the
605 lower priority and non-fallthrough hooks.
607 * source/Main.C (print_long_help): Added function
608 (print_short_help): Renamed from printUsage
609 (namespace): Most stuff in here is now defined in an anonymouse
610 namespace so it doesn't have external linkage
611 (real_main): Uses getopt_long instead of getopt. Added several
612 command line arguments (bobotpp --help for a full list).
614 * scripts/bobot-utils.scm (bot-load): Function moved from
617 * source/Interp.C (Startup): Autoloads
618 PREFIX/bobotpp/scripts/bobot-utils.scm now
619 (Startup): New Scheme variable: bot-sys-scripts-dir (system
622 * source/bobot-scheme.scm.in: Removed
624 * source/Makefile.am: Removed bobot-scheme.scm compiliation
626 * configure.ac (PREFIX): configure.ac defined prefix now
628 * source/Main.C (real_main): Default configuration is now read
629 from /etc/bobotpp/default
630 * source/bobot-scheme.scm.in: Added file. This defines the
631 'bot-load' procedure which will load a file from
632 $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the
633 script doesn't exist in the user script dir.
635 2002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
637 * bobot++.texinfo: Started docs (just a skeleton right now)
639 * source/ScriptCommands.C (AddHook): Now takes pri and fall opt
640 args to set a hooks priority and whether or not it will
641 fallthrough. These args are optional.
643 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
645 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
646 (RunHooks): exec fallthrough hooks first.
648 * source/BotInterp.H: Changed Hooks to have priority
649 Added fhooksMap to BotInterp (fallthrough)
651 * source/UserCommands.C (AddShit): Converted to use Commands
653 2002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
655 * source/Commands.C (AddUser): Fixed a one-off (function call was
656 before a brace instead of after one) that caused a segfault when
657 the user mask was a wildcard
659 2002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
661 * all files: Updated address of the FSF
663 * source/UserCommands.C (AddUser): Uses Commands now instead of
664 manipulating the bot directly
666 2002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
668 * source/ScriptCommands.C (AddShit): Filled in function.
670 * source/Interp.C (Startup): Bind bot-adduser to
671 ScriptCommands::AddUser instead of Action
672 (Startup): Bind bot-addshit to ScriptCommands::AddShit
674 * source/ScriptCommands.C (AddUser): Filled in function
676 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
677 would have caused problems if you used more than one server
679 * source/Parser.H: Changed const char* to String in userFunctionStruct
681 * source/String.H: Added std::string compatibility members
683 * configure.ac: You can now disable Crypt and scripting
685 * source/*: Added #include "config.h" where needed
687 * configure.ac: Added AM_CONFIG_HEADER
689 * config.h.in: added file
691 * source/Queue.C: Didn't notice iostream.h here! Fixed
694 Copyright 2002,2003,2004,2005 Clinton Ebadi
695 Copying and distribution of this file, with or without modification, are
696 permitted provided the copyright notice and this notice are preserved.