[project @ 2005-06-23 06:20:44 by unknown_lamer]
[clinton/bobotpp.git] / ChangeLog
CommitLineData
9efc3706 12005-06-23 Clinton Ebadi <clinton@unknownlamer.org>
2
3 * bobot++.texinfo: Applied documentation patch from Dale P. Smith
4
8db6cd17 52005-06-06 Clinton Ebadi <clinton@unknownlamer.org>
6
7 * bobot++.texinfo: Change @vskip 0 to @vskip 0pt to make this work
8 again (thanks dsmith)
9
af8c61fe 102005-06-01 Clinton Ebadi <clinton@unknownlamer.org>
11
12 * source/Interp.C (interp_init_helper): Added
13 bot:protection/[none|ban|kick|deop] constants to Scheme
14 (interp_init_helper): Added bot:aop/[yes|no] constants
15
cf8ea873 162005-05-31 Clinton Ebadi <clinton@unknownlamer.org>
17
af8c61fe 18 * configure.ac: Release Bobot++ 2.1.7
19 Changed version to 2.18.CVS
20
0316e2c1 21 * source/UserList.C (save): Remove workaround for BUG #2
22
23 * source/Parser.C (parse001): make realNick lowercase when doing
24 the comparison to bot->nickName to prevent pushing a second copy
25 of the bot onto the userlist (closes BUG #2)
26
27 * source/Bot.C (Bot): cleaned up constructor
28 (waitForInput): replaced gh_list with scm_list_n
29
30 * source/UserList.C: Cleaned up some formatting
31
32 * source/Main.C: Formatted code more cleanly
33 (real_main): changed a few Strings to std::strings
34
cf8ea873 35 * source/String.C (operator): Made index signed again, it's not
36 worth fixing this warning
37
38 * source/Bot.C: Add casts to make this compile with unsigned int
39 as operator[] in String
40
41 * source/String.C (operator): Made index unsigned
42
43 * source/Utils.C: Made a few things unsigned to kill warnings
44
45 * source/Socket.C (readLine): Made pos unsigned
46
47 * source/Bot.C (Bot): Fixed initializer list order to kill warnings
48
49 * source/BotInterp.C (RunTimers): Removed unused variable (Timer *t)
50
51 * source/StringTokenizer.C (count_tokens): Changed return type to
52 unsigned int
53 (more_tokens_p): Made counter unsigned
54
55 * source/StringTokenizer.H (class StringTokenizer): Made pos
56 std::string::size_type instead of int
57
58 * source/Commands.C (TBan): Returns Ok is the ban is done instead
59 of falling off the end (oops)
60
61 * source/BotInterp.H: Add general catch case (false)
62
980ce0f4 632005-03-11 Clinton Ebadi <clinton@unknownlamer.org>
64
65 * configure.ac: Release 2.1.6
66 Changed version to 2.1.7CVS
67
2e18045a 682005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
69
86e67477 70 * source/Parser.C (parseLine): use map<>::find and an iterator to
71 find the IRC command instead of map<>::operator[] to avoid a
72 potential segfault
73
74 * source/Bot.C (waitForInput): Removed commented out code
75
005c31fb 76 * source/Socket.C (readLine): return String (buf.c_str ()) instead
77 of String (buf) so that only the buffer up to the first null is returned
78 (readLine): Added a comment explaining the usage of buf
79 (readLine): Changed type of length (std::string::size_type instead
80 of std::size_t)
81
82 * source/String.C: Reimplemented String on top of std::string to
83 fix a few bugs and potential memory leaks
84 (toLower): use Utils::to_lower
85 (toUpper): Use Utils::to_upper
86 (trim): Use Utils::trim_str
87
88 * source/String.H: removed srep, replaced it with a std::string (my_string)
89
2e18045a 90 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
91 <josh@stack.nl>
92 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
93 counters and substr call)
94
95 * source/StringTokenizer.C (next_token): Applied patch from Jos
96 Hulzink <josh@stack.nl> (fixes substr call)
97 (rest): Applied patch from Jos Hulzink <josh@stack.nl> (fixes
98 substr call)
99
1002005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
101
102 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
103 he is a lazy bum and never submitted the String replacing patch
104
2e18045a 1052005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
106
107 * configure.ac: Remove CC++ test
108 Changed version to 2.1.6CVS (2.1.5 released)
109
110 * bobot++.texinfo: Updated copyright
111
1122005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
113
114 * TODO (General): Added TODO items
115 (2.2): Moved a few items here from 2.4
116
117 * README (NOTE): Mention boost requirement
118
1192005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
120
121 * ChangeLog Updated copryight
122
123 * source/User.H: Removed forward declaration of Utils
124
125 * source/Bot.H: Removed forward declaration of Utils
126
127 * source/ChannelList.H: Removed forward declaration of Utils
128
129 * source/UserListItem.H: Removed forward declaration of Utils
130
131 * source/Utils.H: Removed class Utils, replaced with a namspace
132 (it only contained static methods)
133
134 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
135 (he is replacing String)
136
a6339323 1372005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
138
4f4c0ce6 139 * source/BotConfig.C (set_option_value): Put watcher calling
140 inside of if (cf_iter != end()) to fix a segfault (if the cf_iter
141 = end then there are no watchers since this is a new value and
142 references cf_iter->second segfaults)
143
144 * source/Utils.C (trim_str): Fixed bug (last non-space character
145 was being cut off)
146
f0dad759 147 * source/BotConfig.C (read_config): Made to use set_option_value
148 instead of manipulating options_db directly
149
150 * source/BotConfig.H (class BotConfig): Add set_option_value that
151 takes a t_value instead of t_value_list (most uss of
152 set_option_value will be to add a single value so this is very useful)
153
154 * source/BotConfig.C (set_option_value): Implemented
155
a6339323 156 * source/UserList.C: Made to work with new Utils/StringTokenizer names
157
158 * source/UserCommands.C: Made to work with new
159 Utils/StringTokenizer names
160
161 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
162
1632005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
164
165 * source/ShitList.C: Made to work with new StringTokenizer names
166
167 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
168
169 * source/ServerQueue.C: Made to work with new Utils names
170
171 * source/ScriptCommands.C: Made work with new Utils names
172
173 * source/Person.C (getNick): Made work with new Utils names
174
175 * source/String.H: Added substr prototypes
176
177 * source/String.C (substr): Added substr as an alias of subString
178 (for compat with std::string before the transition)
179
180 * source/Parser.C: Made to work with new Utils/StringTokenizer names
181
182 * source/DCCParser.C: Made to work with new Utils names
183
184 * source/DCCChatConnection.C: Made to work new Utils names
185
186 * source/Commands.C: Made to work with new Utils names
187
188 * source/Channel.C: Made to work with new Utils names
189
190 * source/BotInterp.C: Made to work with new Utils
191
192 * source/Bot.C: Made to work with new Utils/StringTokenizer names
193
194 * source/String.C (operator=): Unremoved operator=(std::string)
195
196 * source/String.H: Unremoved operator=(std::string)
197
198 * source/BotConfig.C (read_config): Use Utils::trim_str
199
200 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
201
202 * source/Utils.C (trim_str): Implemented
203
204 * source/Utils.H: Added tim_str (replaces String::trim)
205
206 * source/BotConfig.C: Made everything work with new
207 StringTokenizer and Utils names
208
209 * source/Utils.H: Added to_lower
210 Added to_upper
211
212 * source/StringTokenizer.C (rest): uses std::isspace instead of
213 checking st[pos] against ' ' and '\t'
214
215 * source/StringTokenizer.H: Removed CamelCasing
216 Renamed hasMoreTokens to more_tokens_p
217
218 * source/StringTokenizer.C: Converted to use std::string
219
220 * source/StringTokenizer.H: Converted to use std::string
221
222 * source/String.C: Removed operator=(std::string)
223
224 * source/String.H: Removed operator=(std::string)
225
226 * source/Utils.C: Added copyright
227 Reformatted to match GNU coding standard more closely
228 Converted everything to use std::string
229 (get_nick): Renamed from getNick
230 (get_userhost): Renamed from getUserHost
231 (get_key): Renamed from getKey
232 (IP_p): Renamed from isIP
233 (make_wildcard): Renamed from makeWildcard
234 (channel_p): Renamed from isChannel
235 (wildcard_p): Renamed from isWildcard
236 (valid_channel_name_p): Renamed from isValidChannelName
237 (valid_nickname_p): Renamed from isValidNickName
238 (get_level): Renamed from getLevel
239 (str2time): Renamed from strToTime
240 (str2time): Fixed potential buffer overflow (num[512] => std::string)
241 (level2str): Renamed from levelToStr
242 (prot2str): Renamed from protToStr
243 (bool2str): Renamed from boolToStr
244 (long2str): Implemented
245 (scm2str): Renamed from scm2String
246 (str2scm): Renamed from string2SCM
247
248 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
249
250 * source/Utils.H: Added long2str (long int -> std::string)
251
252 * source/String.H: Added 2003 copyright (the year I last modified
253 it in)
254
255 * source/String.C: Added 2002 copyright (the year I last modified
256 it in)
257
258 * source/Utils.H: Updated Copyright
259 s/String/std::string/g
260 Removed camel casing and is* = *_p
261 xToY = x2y
262
263 * source/BotConfig.C: Updated Copyright
264
265 * source/BotConfig.H: Updated copyright
266
a0982f52 2672005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
268
a6339323 269 * source/BotConfig.C (set_option_value): Take care of the case
270 where key is not already in the db
271 (add_watcher): Implemented
272 (read_config): Removed ',' token parsing (not needed)
273
a0982f52 274 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
275 AC_CHECK_LIB ccgnu2 (CommonC++2)
276
277 * README: Updated README (reformatted, adding info, etc.)
278
f59bce33 2792005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
280
281 * source/BotConfig.C (set_option_value): call watcher list
282 (run_fun_): Added to support watcher list calling
283
6b59e728 2842005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
285
286 * source/BotConfig.C (set_option_value): Fuck you STL
287 (push_back_): Reimplemented so that it doesn't need std::bind1st
288 because the STL is being stupid
289
2902004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
291
292 * source/BotConfig.C (read_config): Implemented properly
293 (get_option_values): Implemented properly
294 (set_config_file): Fixed
295
2962004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
297
298 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
299 list of commands
300
3012004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
302
303 * source/BotConfig.C: New file (implementation of configuration database)
304
305 * source/BotConfig.H: New File (semi-generic configuration database)
306
3072004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
308
309 * bobot++.texinfo (Starting the Bot): New section
310
c8f13c06 3112004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
312
313 * bobot++.texinfo (Protection): Added Section
314 (User Levels): Rewrote section to be useful
315 (bot.users): Added section
316
c7d9fb19 3172004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
318
c8f13c06 319 * source/DCCChatConnection.C (connect): Checks to make sure the
320 person initiating a DCC CHAT with the bot is at least a FRIEND of
321 the bot.
322
323 * README: Fixed a typo
324
c7d9fb19 325 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
029f60d9 326 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
c7d9fb19 327
3282004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
329
330 * bobot++.texinfo (bot.conf): Finished section
331 (server syntax): New section, documents the bot.conf SERVER syntax
332 (channel syntax): New section, documentes the bot.conf CHANNEL syntax
333
3342004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
335
336 * source/Main.C (real_main): std::exit instead of exit
337
5a8b0ec6 3382004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
339
340 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
341 constructor with `n' This should fix the segfaulting.
342
4edefeb6 3432004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
344
345 * ChangeLog: Updated copyright notice
346
3472004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
348
349 * source/Interp.C (interp_init_helper): Register
350 bot:change-command-level
351
352 * source/ScriptCommands.C (ChangeCommandLevel): Added
353 ChangeCommandLevel to change the level a user needs to be to run a
354 command
355
356 * source/ScriptCommands.H: Added ChangeCommandLevel
357
3582003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
359
360 * source/String.H: Changed #define STRING_H to BSTRING_H
361
3622003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
363
364 * scripts/bobot-utils.scm (bot:sent-to-me?): New procedure, used
365 to see if a message was sent to the bot (this is better than
366 bot:match-to-me because the hook isn't invalidated when the bot's
367 nickname changes)
368
369 * source/DCCConnection.H: Added `nuh' back and added an
370 accessor (get_nuh)
371 Added setter `set_autoRemove(bool)'
372
373 * source/DCCConnection.H: Removed all friends
374 Added accessors (get_bot, get_lastSpoken, get_autoRemove; get_bot
375 reveals the pointer to the bot [PRIVATE POINTER] which probably
376 isn't so nice, but there isn't much to be done about it with the
377 current design of the bot)
378
379 * source/DCCChatConnection.H: Removed all friends
380
381 * source/DCCConnection.H: DCCConnection is now a pure virtual
382 class with the subclass DCCChatConnection
383
3842003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
385
386 * source/Socket.C (connect): log errors to the bot log instead of
387 printing to stderr
388
3892003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
390
391 * source/Parser.C (parseMessage): use the find method of std::map
392 to find the command to call instead of [] and then extract the
393 pointer to the userFunction from that if it exists. This appears
394 to fix the crash when one uses an undefined command followed by
395 any defined command.
396
e171dcce 3972003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
398
399 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
4edefeb6 400 ScriptCommands::SetFloodRate
e171dcce 401
402 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
403
404 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
405 to bot master
406
407 * source/Bot.H: Made MAX_MESSAGES writeable
408
409 * source/UserCommands.H: New method: SetFloodRate
410
411 * source/Commands.H: New method: SetFloodRate
412
4132003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
414
415 * configure.ac: Merged all AC_OUTPUTs at the end
416
ce02032f 4172003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
418
419 * scripts/bobot-utils.scm: Make exported symbols from
420 the-bot-module available in the guile-user module so that scripts
421 loaded with Interp::Load function.
422
4232003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
424
425 * scripts/bobot-utils.scm (bot:load-module): Loads a file from the
426 %bot:loadpath into its own module and returns that (unnamed) module
427 (bot:use-module): Calls bot:load-module and then adds the newly
428 loaded module to the (current-module)'s use-list
429
430 * source/Interp.C (interp_init_helper): New procedure to initialize
431 the-bot-module (this is the old Interp::Startup verbatim)
432 (interp_post_startup_helper): New procedure to export
433 the-bot-module from bot_module
434 (Startup): Now calls interp_init_helper and
435 interp_post_startup_helper to initalize the bot module system
436
437 * source/Interp.H: Added private variable bot_module to Interp
438
feb33b96 4392002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
440
441 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
442 this breaks existing scripts, this is the unstable tree after all)
443
cb278e5a 4442002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
445
446 * source/Mask.C (match): Made Mask::match case insensitive
447
c3ecc559 4482002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
449
450 * source/Interp.C (scm_apply_wrapper): turned off locking of
451 Interp::mutex to see if this makes the bot work again...and it
452 does!
453
4542002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
455
456 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
457 everything to use aclocal/automake 1.6
458
4592002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
460
461 * source/DCCPerson.H (class DCCPerson): Added
462 UserCommands::DCCList as a friend (friends are better than the old
463 DCC() function at least).
464
465 * source/DCCManager.H (class DCCManager): Added
466 UserCommands::DCCList as a friend
467
468 * source/Interp.H (class Interp): Made function scm_apply_wrapper
469 a friend so it can lock Interp::mutex
470
471 * source/Interp.C (scm_apply_wrapper): Lock Interp::mutex if
472 MULTITHREAD is defined (it is always defined when scripting is
473 enabled) so that Sockets can be made multithreaded using
474 CommonC++.
475
476 * source/DCCPerson.H: Removed DCC method and made Bot a friend
477 Made DCCManager a friend
478
479 * source/DCCManager.H (class DCCManager): Removed MAP() method
480 and made Bot a friend of DCCManager
481
0b7a49e2 4822002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
483
b93600f6 484 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
485 bot:dcc-chat-send.
486
0b7a49e2 487 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
488 user!nick@host instead of the correct nick!user@host).
489
490 * source/Interp.C (Startup): Register bot:DCC-chat-send
491
492 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
493
6530edbf 4942002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
495
496 * source/String.C (String): The std::string copy constructor now
497 extracts the c_str of the std::string and then takes the strlen of
498 that before copying it. This fixes a bug with DCC where if you did
499 e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
500 something like that, depending on what the last message was
501 because Socket will insert a \0 into its semi-static buffer, so
502 the len of the String will not equal the strlen of its char*.
503
5042002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
505
506 * source/DCCPerson.H: Removed destructor (I = idiot)
507
508 * source/DCCConnection.H: DCCManager is now a friend of
509 DCCConnection (ugh, the bot has way too many friends).
510
511 * source/DCCPerson.H: Added DCC member that returns a const
512 DCCConnection* (the dcc connection). This isn't saved anywhere
513 because when a DCCPerson is destroyed, its connection is also
514 destroyed.
515
516 * source/Bot.H: dccConnections is now a DCCManager
517
518 * source/DCCPerson.H: Added destructor
519 Added handleInput method
520
521 * source/DCCManager.C: New file
522 (addConnection): Wrote method, add a DCCConection to the manager
523
524 * source/DCCManager.H: New file
525
526 * source/Interp.C (Startup): Register bot:DCC-chat-send
527 (Startup): Removed sendDCCChatMessage stuff
528
529 * source/ScriptCommands.C (sendDCCChatMessage): New method:
530 sendDCCChatMessage (to, message) sends message to to.
531
532 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
533 one arg: from (user!nick@host).
534
535 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
536 two args: from (user!nick@host) and line
537
5382002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
539
540 * source/Interp.C (Startup): Two new Scheme values:
541 hooks/dcc/chat-begin and hooks/dcc/chat-message for the
542 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
543
544 * source/BotInterp.H: Added two new enum values to Hook:
545 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
546 chat message hooks
547
fed59248 5482002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
549
550 * source/Parser.C (parseCTCP): Removed call to htonl and fixed
551 DCC! Ack, sockets take their arguments in network byte order so
552 there is no need to convert to host...now DCC _sort of_ works.
553
5542002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
555
556 * source/UserList.C (save): Increment iterator twice to get around
557 bug (see BUGS #2)
558
559 * source/ServerQueue.C: Now sends SEND_* hooks instead of
560 triggered general hooks.
561
562 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
563 (* = the new SEND_ hooks, but lowercase).
564
565 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
566 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
567
fd7440f1 5682002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
569
570 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
571 logs again.
572
573 * source/Socket.C (readLine): Now uses a static std::string that
574 starts out with 512 chars. This will never need to be resized for
575 usualy IRC messages, but might be for DCC messages
576
5772002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
578
579 * scripts/bobot-utils.scm (not-from-me): New syntax.
580
581 * source/ScriptCommands.C (AddHook): Now takes another optional
582 arg--name that will name the hook (see the hooks section in the
583 manual for what this does).
584
585 * source/BotInterp.H: Added name field to Hook
586
5872002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
588
589 * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
590 PRIVMSGes because the IRC server doesn't echo them back to the
591 bot. This could be useful for something (e.g. log script).
592
91dddabd 5932002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
594
595 * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
596 (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
597 associated with the hook when Interp::Shutdown is called (bot exit).
598
be3612f3 5992002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
600
601 * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
602 hook is greater than or less than the other hook, only the
603 priority is considered. However, if both hooks have the same
604 priority, then the fallthru-ness is considered, with fallthru
605 hooks being greater than non-fallthru hooks.
606
607 * source/BotInterp.C (hptr_lt): Added this static function to be
608 used to sort the hooks list (now hooks should be sorted using
609 Hook's operator < instead of using pointer comparision, meaning
610 the new hook system will work correctly)
611
612 * scripts/bobot-utils.scm: Make bot:log use for-each instead of
613 map because we don't need the result of the displays (this would
614 just be a list of #<undefined> values and is a waste of memory).
615
e07b6b46 6162002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
617
618 * source/Bot.C (Bot): userFunctions is now a map for efficiency
619 (worst case search is now NlogN instead of N). This improvement is
620 not as drastic as the one gained by making the Parser functions
621 list a map (because we don't scan this map for every message), but
622 it helps to clean up the code
623
6242002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
625
626 * source/Parser.H: Removed userFunctionsStruct
627
628 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
629 as bot:send-CTCP for Scheme
630
631 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
632
439869bf 6332002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
634
635 * source/ServerQueue.C (sendUser): Changed . . in USER command to
636 0 * (which is the Right Way to because <mode> must be a number...)
637
638 * source/Parser.C (init): New method of Parse. This initalizes the
639 functions map. functions replaces the old functions array, and
640 should yield better performance (since the functions array had to
641 be scanned for every incoming message)
642
643 * source/Parser.H: New member, functions (private)
644
6452002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
646
647 * source/Interp.C (Startup): New symbols: bot:user-*
648 [none|user|trusted|friend|master] are defined in Scheme as the
649 different levels of the users.
650 (Startup): All bot-* variables are now bot:*
651
6522002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
653
654 * source/Bot.H: Made some variables private because they shouldn't
655 be changed at runtime
656
657 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
658 this out to see if it works and make it work)
659
660 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
661 dir.
662
663 * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
664 scripts in the user scripts dir) that made bobot++ not able to
665 load scripts from the user scripts dir
666
31433d27 6672002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
668
ad529fde 669 * source/BotInterp.C (RunHooks): Changed iterators to
670 reverse_iterators because the hooks list is sorted in ascending
671 order--higher priority and fallthrough hooks appear _after_ the
672 lower priority and non-fallthrough hooks.
673
674 * source/Main.C (print_long_help): Added function
675 (print_short_help): Renamed from printUsage
676 (namespace): Most stuff in here is now defined in an anonymouse
677 namespace so it doesn't have external linkage
678 (real_main): Uses getopt_long instead of getopt. Added several
679 command line arguments (bobotpp --help for a full list).
680
681 * scripts/bobot-utils.scm (bot-load): Function moved from
682 bobot-scheme.scm
683
684 * source/Interp.C (Startup): Autoloads
685 PREFIX/bobotpp/scripts/bobot-utils.scm now
686 (Startup): New Scheme variable: bot-sys-scripts-dir (system
687 scripts dir)
688
689 * source/bobot-scheme.scm.in: Removed
690
691 * source/Makefile.am: Removed bobot-scheme.scm compiliation
692
693 * configure.ac (PREFIX): configure.ac defined prefix now
694
31433d27 695 * source/Main.C (real_main): Default configuration is now read
696 from /etc/bobotpp/default
697 * source/bobot-scheme.scm.in: Added file. This defines the
698 'bot-load' procedure which will load a file from
699 $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the
700 script doesn't exist in the user script dir.
701
2e20c3e1 7022002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
703
704 * bobot++.texinfo: Started docs (just a skeleton right now)
705
706 * source/ScriptCommands.C (AddHook): Now takes pri and fall opt
707 args to set a hooks priority and whether or not it will
708 fallthrough. These args are optional.
709
710 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
711
712 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
713 (RunHooks): exec fallthrough hooks first.
714
715 * source/BotInterp.H: Changed Hooks to have priority
716 Added fhooksMap to BotInterp (fallthrough)
717
718 * source/UserCommands.C (AddShit): Converted to use Commands
719
7202002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
721
722 * source/Commands.C (AddUser): Fixed a one-off (function call was
723 before a brace instead of after one) that caused a segfault when
724 the user mask was a wildcard
725
7262002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
727
728 * all files: Updated address of the FSF
729
730 * source/UserCommands.C (AddUser): Uses Commands now instead of
731 manipulating the bot directly
732
7332002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
734
735 * source/ScriptCommands.C (AddShit): Filled in function.
736
737 * source/Interp.C (Startup): Bind bot-adduser to
738 ScriptCommands::AddUser instead of Action
739 (Startup): Bind bot-addshit to ScriptCommands::AddShit
740
741 * source/ScriptCommands.C (AddUser): Filled in function
742
743 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
744 would have caused problems if you used more than one server
745
746 * source/Parser.H: Changed const char* to String in userFunctionStruct
747
748 * source/String.H: Added std::string compatibility members
749
750 * configure.ac: You can now disable Crypt and scripting
751
752 * source/*: Added #include "config.h" where needed
753
754 * configure.ac: Added AM_CONFIG_HEADER
755
756 * config.h.in: added file
757
758 * source/Queue.C: Didn't notice iostream.h here! Fixed
759
760
2e18045a 761Copyright 2002,2003,2004,2005 Clinton Ebadi
2e20c3e1 762Copying and distribution of this file, with or without modification, are
763permitted provided the copyright notice and this notice are preserved.