[project @ 2005-06-01 11:12:41 by unknown_lamer]
[clinton/bobotpp.git] / ChangeLog
CommitLineData
af8c61fe 12005-06-01 Clinton Ebadi <clinton@unknownlamer.org>
2
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
6
cf8ea873 72005-05-31 Clinton Ebadi <clinton@unknownlamer.org>
8
af8c61fe 9 * configure.ac: Release Bobot++ 2.1.7
10 Changed version to 2.18.CVS
11
0316e2c1 12 * source/UserList.C (save): Remove workaround for BUG #2
13
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)
17
18 * source/Bot.C (Bot): cleaned up constructor
19 (waitForInput): replaced gh_list with scm_list_n
20
21 * source/UserList.C: Cleaned up some formatting
22
23 * source/Main.C: Formatted code more cleanly
24 (real_main): changed a few Strings to std::strings
25
cf8ea873 26 * source/String.C (operator): Made index signed again, it's not
27 worth fixing this warning
28
29 * source/Bot.C: Add casts to make this compile with unsigned int
30 as operator[] in String
31
32 * source/String.C (operator): Made index unsigned
33
34 * source/Utils.C: Made a few things unsigned to kill warnings
35
36 * source/Socket.C (readLine): Made pos unsigned
37
38 * source/Bot.C (Bot): Fixed initializer list order to kill warnings
39
40 * source/BotInterp.C (RunTimers): Removed unused variable (Timer *t)
41
42 * source/StringTokenizer.C (count_tokens): Changed return type to
43 unsigned int
44 (more_tokens_p): Made counter unsigned
45
46 * source/StringTokenizer.H (class StringTokenizer): Made pos
47 std::string::size_type instead of int
48
49 * source/Commands.C (TBan): Returns Ok is the ban is done instead
50 of falling off the end (oops)
51
52 * source/BotInterp.H: Add general catch case (false)
53
980ce0f4 542005-03-11 Clinton Ebadi <clinton@unknownlamer.org>
55
56 * configure.ac: Release 2.1.6
57 Changed version to 2.1.7CVS
58
2e18045a 592005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
60
86e67477 61 * source/Parser.C (parseLine): use map<>::find and an iterator to
62 find the IRC command instead of map<>::operator[] to avoid a
63 potential segfault
64
65 * source/Bot.C (waitForInput): Removed commented out code
66
005c31fb 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
71 of std::size_t)
72
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
78
79 * source/String.H: removed srep, replaced it with a std::string (my_string)
80
2e18045a 81 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
82 <josh@stack.nl>
83 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
84 counters and substr call)
85
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
89 substr call)
90
912005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
92
93 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
94 he is a lazy bum and never submitted the String replacing patch
95
2e18045a 962005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
97
98 * configure.ac: Remove CC++ test
99 Changed version to 2.1.6CVS (2.1.5 released)
100
101 * bobot++.texinfo: Updated copyright
102
1032005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
104
105 * TODO (General): Added TODO items
106 (2.2): Moved a few items here from 2.4
107
108 * README (NOTE): Mention boost requirement
109
1102005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
111
112 * ChangeLog Updated copryight
113
114 * source/User.H: Removed forward declaration of Utils
115
116 * source/Bot.H: Removed forward declaration of Utils
117
118 * source/ChannelList.H: Removed forward declaration of Utils
119
120 * source/UserListItem.H: Removed forward declaration of Utils
121
122 * source/Utils.H: Removed class Utils, replaced with a namspace
123 (it only contained static methods)
124
125 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
126 (he is replacing String)
127
a6339323 1282005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
129
4f4c0ce6 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)
134
135 * source/Utils.C (trim_str): Fixed bug (last non-space character
136 was being cut off)
137
f0dad759 138 * source/BotConfig.C (read_config): Made to use set_option_value
139 instead of manipulating options_db directly
140
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)
144
145 * source/BotConfig.C (set_option_value): Implemented
146
a6339323 147 * source/UserList.C: Made to work with new Utils/StringTokenizer names
148
149 * source/UserCommands.C: Made to work with new
150 Utils/StringTokenizer names
151
152 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
153
1542005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
155
156 * source/ShitList.C: Made to work with new StringTokenizer names
157
158 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
159
160 * source/ServerQueue.C: Made to work with new Utils names
161
162 * source/ScriptCommands.C: Made work with new Utils names
163
164 * source/Person.C (getNick): Made work with new Utils names
165
166 * source/String.H: Added substr prototypes
167
168 * source/String.C (substr): Added substr as an alias of subString
169 (for compat with std::string before the transition)
170
171 * source/Parser.C: Made to work with new Utils/StringTokenizer names
172
173 * source/DCCParser.C: Made to work with new Utils names
174
175 * source/DCCChatConnection.C: Made to work new Utils names
176
177 * source/Commands.C: Made to work with new Utils names
178
179 * source/Channel.C: Made to work with new Utils names
180
181 * source/BotInterp.C: Made to work with new Utils
182
183 * source/Bot.C: Made to work with new Utils/StringTokenizer names
184
185 * source/String.C (operator=): Unremoved operator=(std::string)
186
187 * source/String.H: Unremoved operator=(std::string)
188
189 * source/BotConfig.C (read_config): Use Utils::trim_str
190
191 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
192
193 * source/Utils.C (trim_str): Implemented
194
195 * source/Utils.H: Added tim_str (replaces String::trim)
196
197 * source/BotConfig.C: Made everything work with new
198 StringTokenizer and Utils names
199
200 * source/Utils.H: Added to_lower
201 Added to_upper
202
203 * source/StringTokenizer.C (rest): uses std::isspace instead of
204 checking st[pos] against ' ' and '\t'
205
206 * source/StringTokenizer.H: Removed CamelCasing
207 Renamed hasMoreTokens to more_tokens_p
208
209 * source/StringTokenizer.C: Converted to use std::string
210
211 * source/StringTokenizer.H: Converted to use std::string
212
213 * source/String.C: Removed operator=(std::string)
214
215 * source/String.H: Removed operator=(std::string)
216
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
238
239 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
240
241 * source/Utils.H: Added long2str (long int -> std::string)
242
243 * source/String.H: Added 2003 copyright (the year I last modified
244 it in)
245
246 * source/String.C: Added 2002 copyright (the year I last modified
247 it in)
248
249 * source/Utils.H: Updated Copyright
250 s/String/std::string/g
251 Removed camel casing and is* = *_p
252 xToY = x2y
253
254 * source/BotConfig.C: Updated Copyright
255
256 * source/BotConfig.H: Updated copyright
257
a0982f52 2582005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
259
a6339323 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)
264
a0982f52 265 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
266 AC_CHECK_LIB ccgnu2 (CommonC++2)
267
268 * README: Updated README (reformatted, adding info, etc.)
269
f59bce33 2702005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
271
272 * source/BotConfig.C (set_option_value): call watcher list
273 (run_fun_): Added to support watcher list calling
274
6b59e728 2752005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
276
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
280
2812004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
282
283 * source/BotConfig.C (read_config): Implemented properly
284 (get_option_values): Implemented properly
285 (set_config_file): Fixed
286
2872004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
288
289 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
290 list of commands
291
2922004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
293
294 * source/BotConfig.C: New file (implementation of configuration database)
295
296 * source/BotConfig.H: New File (semi-generic configuration database)
297
2982004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
299
300 * bobot++.texinfo (Starting the Bot): New section
301
c8f13c06 3022004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
303
304 * bobot++.texinfo (Protection): Added Section
305 (User Levels): Rewrote section to be useful
306 (bot.users): Added section
307
c7d9fb19 3082004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
309
c8f13c06 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
312 the bot.
313
314 * README: Fixed a typo
315
c7d9fb19 316 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
029f60d9 317 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
c7d9fb19 318
3192004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
320
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
324
3252004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
326
327 * source/Main.C (real_main): std::exit instead of exit
328
5a8b0ec6 3292004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
330
331 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
332 constructor with `n' This should fix the segfaulting.
333
4edefeb6 3342004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
335
336 * ChangeLog: Updated copyright notice
337
3382004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
339
340 * source/Interp.C (interp_init_helper): Register
341 bot:change-command-level
342
343 * source/ScriptCommands.C (ChangeCommandLevel): Added
344 ChangeCommandLevel to change the level a user needs to be to run a
345 command
346
347 * source/ScriptCommands.H: Added ChangeCommandLevel
348
3492003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
350
351 * source/String.H: Changed #define STRING_H to BSTRING_H
352
3532003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
354
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
358 nickname changes)
359
360 * source/DCCConnection.H: Added `nuh' back and added an
361 accessor (get_nuh)
362 Added setter `set_autoRemove(bool)'
363
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)
369
370 * source/DCCChatConnection.H: Removed all friends
371
372 * source/DCCConnection.H: DCCConnection is now a pure virtual
373 class with the subclass DCCChatConnection
374
3752003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
376
377 * source/Socket.C (connect): log errors to the bot log instead of
378 printing to stderr
379
3802003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
381
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
386 any defined command.
387
e171dcce 3882003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
389
390 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
4edefeb6 391 ScriptCommands::SetFloodRate
e171dcce 392
393 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
394
395 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
396 to bot master
397
398 * source/Bot.H: Made MAX_MESSAGES writeable
399
400 * source/UserCommands.H: New method: SetFloodRate
401
402 * source/Commands.H: New method: SetFloodRate
403
4042003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
405
406 * configure.ac: Merged all AC_OUTPUTs at the end
407
ce02032f 4082003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
409
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.
413
4142003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
415
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
420
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
427
428 * source/Interp.H: Added private variable bot_module to Interp
429
feb33b96 4302002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
431
432 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
433 this breaks existing scripts, this is the unstable tree after all)
434
cb278e5a 4352002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
436
437 * source/Mask.C (match): Made Mask::match case insensitive
438
c3ecc559 4392002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
440
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
443 does!
444
4452002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
446
447 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
448 everything to use aclocal/automake 1.6
449
4502002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
451
452 * source/DCCPerson.H (class DCCPerson): Added
453 UserCommands::DCCList as a friend (friends are better than the old
454 DCC() function at least).
455
456 * source/DCCManager.H (class DCCManager): Added
457 UserCommands::DCCList as a friend
458
459 * source/Interp.H (class Interp): Made function scm_apply_wrapper
460 a friend so it can lock Interp::mutex
461
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
465 CommonC++.
466
467 * source/DCCPerson.H: Removed DCC method and made Bot a friend
468 Made DCCManager a friend
469
470 * source/DCCManager.H (class DCCManager): Removed MAP() method
471 and made Bot a friend of DCCManager
472
0b7a49e2 4732002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
474
b93600f6 475 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
476 bot:dcc-chat-send.
477
0b7a49e2 478 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
479 user!nick@host instead of the correct nick!user@host).
480
481 * source/Interp.C (Startup): Register bot:DCC-chat-send
482
483 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
484
6530edbf 4852002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
486
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*.
494
4952002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
496
497 * source/DCCPerson.H: Removed destructor (I = idiot)
498
499 * source/DCCConnection.H: DCCManager is now a friend of
500 DCCConnection (ugh, the bot has way too many friends).
501
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
505 destroyed.
506
507 * source/Bot.H: dccConnections is now a DCCManager
508
509 * source/DCCPerson.H: Added destructor
510 Added handleInput method
511
512 * source/DCCManager.C: New file
513 (addConnection): Wrote method, add a DCCConection to the manager
514
515 * source/DCCManager.H: New file
516
517 * source/Interp.C (Startup): Register bot:DCC-chat-send
518 (Startup): Removed sendDCCChatMessage stuff
519
520 * source/ScriptCommands.C (sendDCCChatMessage): New method:
521 sendDCCChatMessage (to, message) sends message to to.
522
523 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
524 one arg: from (user!nick@host).
525
526 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
527 two args: from (user!nick@host) and line
528
5292002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
530
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.
534
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
537 chat message hooks
538
fed59248 5392002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
540
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.
544
5452002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
546
547 * source/UserList.C (save): Increment iterator twice to get around
548 bug (see BUGS #2)
549
550 * source/ServerQueue.C: Now sends SEND_* hooks instead of
551 triggered general hooks.
552
553 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
554 (* = the new SEND_ hooks, but lowercase).
555
556 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
557 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
558
fd7440f1 5592002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
560
561 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
562 logs again.
563
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
567
5682002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
569
570 * scripts/bobot-utils.scm (not-from-me): New syntax.
571
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).
575
576 * source/BotInterp.H: Added name field to Hook
577
5782002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
579
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).
583
91dddabd 5842002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
585
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).
589
be3612f3 5902002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
591
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.
597
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)
602
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).
606
e07b6b46 6072002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
608
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
614
6152002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
616
617 * source/Parser.H: Removed userFunctionsStruct
618
619 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
620 as bot:send-CTCP for Scheme
621
622 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
623
439869bf 6242002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
625
626 * source/ServerQueue.C (sendUser): Changed . . in USER command to
627 0 * (which is the Right Way to because <mode> must be a number...)
628
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)
633
634 * source/Parser.H: New member, functions (private)
635
6362002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
637
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:*
642
6432002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
644
645 * source/Bot.H: Made some variables private because they shouldn't
646 be changed at runtime
647
648 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
649 this out to see if it works and make it work)
650
651 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
652 dir.
653
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
657
31433d27 6582002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
659
ad529fde 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.
664
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).
671
672 * scripts/bobot-utils.scm (bot-load): Function moved from
673 bobot-scheme.scm
674
675 * source/Interp.C (Startup): Autoloads
676 PREFIX/bobotpp/scripts/bobot-utils.scm now
677 (Startup): New Scheme variable: bot-sys-scripts-dir (system
678 scripts dir)
679
680 * source/bobot-scheme.scm.in: Removed
681
682 * source/Makefile.am: Removed bobot-scheme.scm compiliation
683
684 * configure.ac (PREFIX): configure.ac defined prefix now
685
31433d27 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.
692
2e20c3e1 6932002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
694
695 * bobot++.texinfo: Started docs (just a skeleton right now)
696
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.
700
701 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
702
703 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
704 (RunHooks): exec fallthrough hooks first.
705
706 * source/BotInterp.H: Changed Hooks to have priority
707 Added fhooksMap to BotInterp (fallthrough)
708
709 * source/UserCommands.C (AddShit): Converted to use Commands
710
7112002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
712
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
716
7172002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
718
719 * all files: Updated address of the FSF
720
721 * source/UserCommands.C (AddUser): Uses Commands now instead of
722 manipulating the bot directly
723
7242002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
725
726 * source/ScriptCommands.C (AddShit): Filled in function.
727
728 * source/Interp.C (Startup): Bind bot-adduser to
729 ScriptCommands::AddUser instead of Action
730 (Startup): Bind bot-addshit to ScriptCommands::AddShit
731
732 * source/ScriptCommands.C (AddUser): Filled in function
733
734 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
735 would have caused problems if you used more than one server
736
737 * source/Parser.H: Changed const char* to String in userFunctionStruct
738
739 * source/String.H: Added std::string compatibility members
740
741 * configure.ac: You can now disable Crypt and scripting
742
743 * source/*: Added #include "config.h" where needed
744
745 * configure.ac: Added AM_CONFIG_HEADER
746
747 * config.h.in: added file
748
749 * source/Queue.C: Didn't notice iostream.h here! Fixed
750
751
2e18045a 752Copyright 2002,2003,2004,2005 Clinton Ebadi
2e20c3e1 753Copying and distribution of this file, with or without modification, are
754permitted provided the copyright notice and this notice are preserved.