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