-
Notifications
You must be signed in to change notification settings - Fork 13
/
ChangeLog
2022 lines (1351 loc) · 69 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2009-05-25 James Vega <[email protected]>
* Version 0.83.4.1!
* Fixed a bug in Factoids where the help could not be retrieved for
any command.
* Fixed a bug where Plugin.list wouldn't list any aliases/RSS feeds
from the Alias/RSS plugins.
* Updated Google to ensure the third-party json module (different API
than simplejson) isn't loaded. Based on a patch from Ricky Zhou.
* Updated Channel.nicks so it doesn't reply with nicks from secret
channels outside of that channel.
* Updated Channel.{op,halfop,voice,deop,dehalfop,devoice} commands so
they respect the server's "max mode changes per message" setting.
* Updated utils.str.nItems to accept long as well as int. Thanks to
Ricky Zhou for the patch.
2009-05-18 James Vega <[email protected]>
* Version 0.83.4!
* Fixed a bug where we were attempting to tag a non-existent IrcMsg.
* Fixed a bug where the Web plugin was not catching the correct
exception.
* Fixed a bug where the Protector plugin was attempting to use a
non-existent variable.
* Added verbiage to supybot.log.level indicating that it doesn't
control the logging level for stdout and pointing out the correct
config variable.
* Added a new rank command to the ChannelStats plugin.
* Added a new remove command to the Later plugin.
* Added new azn and uniud commands to the Filter plugin.
* Fixed a bug in the Socket driver that could cause it to continually
attempt to reconnect to a server which is unavailable.
* Fixed a bug in supybot-wizard that would cause it to abort if the user
chose to use SSL.
* Fixed the haveOp context to call getChannel if it wasn't already
called.
* Fixed a bug in supybot-test where the entire test run would end if one
plugin couldn't be loaded.
* Updated the httpUrl context to prepend 'http://' if that would result
in a valid HTTP URL. A noticeable benefit is that users can now call
"@title slashdot.org" instead of requiring the user to call
"@title http://slashdot.org".
* Fixed Supybot to be compatible with Python 2.6
* Added a note to Owner.defaultplugin's help to point out
supybot.commands.defaultPlugin.importantPlugins, which affects which
plugins have priorities over ambiguous command names.
* Rewrote the Google plugin to use the new AJAX API since Google
hasn't been giving out new keys for the SOAP API.
* Added a new translate command to the Google plugin.
* Fixed a copy/paste error in the help for User.capabilities.
* Updated Web.title to give a more appropriate message if the URL
definitely has no title.
* Fixed irc.reply so prefixNick is not used when action=True.
* Implemented the command flood prevention, controlled by
supybot.abuse.flood.command.*, thanks to a patch from nebajoth.
* Added utils/crypt.py to provide a uniform interface to the Python
crypt functionality regardless of the Python version being used.
* Fixed the urlRe and httpUrlRe regexes in utils/web.py to be more
correct about what they match. They now match according to RFCs 1034
and 1738.
* Updated getSyntax to allow the syntax string to be specified,
similar to getHelp.
* Updated getCommandHelp to respect supybot.reply.showSimpleSyntax.
* Updated Factoids.getCommandHelp to respect
supybot.reply.showSimpleSyntax.
* Fixed a bug where getCommandMethod would return methods that weren't
actually commands. This was exposed by adding a die Alias.
* Removed supybot.plugins.Channel.banmask in favor of a general config
variable, supybot.protocols.irc.banmask.
* Updated AutoMode to respect supybot.protocols.irc.banmask when
banning.
* Updated Channel.ignore.add and Channel.ban.add to respect
supybot.protocols.irc.banmask.
* Fixed Channel.kban so that it will fall back to an exact hostmask
instead of refusing to ban the user when the banmask would also match
the bot's hostmask.
* Added the ability to disable ChannelLogger's logging on a
per-channel basis.
* Fixed Config so it will respond with an error when the set, get, or
default commands are called on config groups that don't have values.
* Added a new config variable, supybot.plugins.AutoMode.owner, which
can be used to prevent AutoMode behavior from applying to the owner(s)
(since the owner has all capabilities).
* Fixed the regex parsing in utils/str.py to correctly handle multiple
backslashes before the search/replace separator.
* Renamed supybot.plugins.Google.safeSearch to
supybot.plugins.Google.searchFilter since the behavior and valid
values changed as part of the switch to the AJAX API.
* Updated RSS.announce to have list, add, and remove sub-commands
instead of the old option-parsing interface.
* Added a new config variable,
supybot.plugins.ShrinkUrl.shrinkSnarfer.showDomain, which controls
whether the shrinkSnarfer displays the domain of the original URL
along with the shrunken URL.
* Updated the default value for
supybot.plugins.ChannelLogger.filenameTimestamp so it sorts
chronologically.
* Updated Misc.last to prevent users from retrieving messages from
channels they aren't in or from private channels when they're in
another channel.
* Fixed supybot.directories.plugins so the directory Supybot is
installed to is not included. This change makes the config file work
across Python upgrades without user-intervention.
* Updated Config.config to show both the global and channel-specific
value (if it exists) of the variable.
* Fixed Google.calc to work around a change in Google's HTML. This
change should be more resilient to future HTML changes.
* Fixed a bug where User.set.password could not be used if your
current hostmask wasn't recognized.
* Fixed a bug in Limiter where the limit could be set to fewer than
the current number of users in the channel.
* Updated String to give a more useful message when decoding a base64
string fails.
* Updated User.hostmask.add to require it be called in private since a
password may be given as part of the command.
* Updated BadWords to only strip the formatting of messages which have
a bad word in them.
* Fixed a bug in the supybot script where it would continue to run
even if it was unable to create the pidFile. This could cause
multiple instances of supybot to run simultaneously if using
supybot-botchk were being used to keep supybot running.
* Updated plugins.DB to return a fake database check when generating
documentation. This allows the user to generate docs without having
the required database plugins installed.
* Updated supybot-plugin-doc to be able to generate reStructuredText.
* Removed the Insult plugin.
* Added the Dunno plugin, which can be taught responses to use in
place of the normal invalid command response.
* Added the Success plugin, which can be taught responses to use in
place of the normal operation succeeded response.
* Updated the data file for Math's convert command.
2007-10-22 James Vega <[email protected]>
* Version 0.83.3!
* Added the BadWords plugin from supybot-plugins and updated the
plugin to allow kicking of people who use defined BadWords.
* Added support for different log levels on stdout vs the log file.
* Fixed a bug where the bot always reacted to invalid command floods
even if supybot.abuse.flood.command.invalid indicated not to.
(Closes: #1716878)
* Fixed a bug where the RSS plugin would lower-case URLs, thus making
them impossible to retrieve. (Closes: #1666786)
* Fixed ircmsgs.prettyPrint to handle unrecognized commands.
(Closes: #1630963)
* Fixed a bug in the Services plugin where the bot would continuously
send Ghost commands.
* Fixed Google.calc to handle a change in Google's HTML.
* Fixed a bug where Plugin.list was listing functions which weren't
valid commands.
* Fixed RSS's handling of encodings to eliminate some ascii conversion
errors.
* Updated the rssparser using plugins with the renamed and newer
feedparser 4.1 in order to properly handle Bugzilla RSS feeds.
* Updated PLUGIN_TUTORIAL to specify that the user needs to import
Python's random module.
* Updated the Web plugin so it uses HTMLParser over sgmllib's parser
since sgmllib's enters an infinite loop on invalid input.
* Updated getHelp() so callers can pass in the help string. This is
used in the Factoids plugin to dynamically generate a help string
based on a config value.
* Updated questions.py so bolding is handled better. User input,
default values, and defined choices are no longer bolded.
* Updated String.len to use wrap(). This greatly simplifies the
command and introduces better argument handling.
* Updated a few uses of sre to use re if the bot is running under
Python 2.5.
* Fixed test cases for mircColor and sorted (thanks dcraven).
* Updated assertAction's error message to give useful information
about what went wrong.
2006-07-23 James Vega <[email protected]>
* Version 0.83.2! (A long overdue bugfix release)
* Added ADVANCED_PLUGIN_CONFIG, ADVANCED_PLUGIN_TESTING, CAPABILITIES,
USING_UTILS, USING_WRAP, STYLE, and PLUGIN_TUTORIAL docs.
* Updated the Services plugin such that it will not spam GHOST
commands faster than once every 60 seconds (or as set by
supybot.plugins.Services.ghostDelay).
* Updated the Seen plugin so that performing @seen with a leading
wildcard will not result in duplicate nicks in the response.
* Updated RSS to handle the feed's advertised character encoding in
more of its commands.
* Updated "Channel.ban list" to show how long until the ban expires.
* Fixed the bug where addressed karma adjustments would cause the bot
to crash.
* Fixed Alias.lock and Alias.unlock to work properly now that the
alias functions are no longer attributes of the Alias plugin.
* Fixed a Windows-specific NameError in log.py.
* Fixed Config.help to actually perform the string substitution of the
given config name.
* Replace Twisted with Socket as the default network driver.
* Added an --ssl option to Network.connect.
* Added a question about SSL network connections in supybot-wizard.
* Added recognition of UnrealIRCd's protected users and channelowners
as ops.
* Updated URL.last to perform a case-insensitive search.
* Updated the Author class so it performs the email munging. This
prevents munging occurring for punctuation in a person's name.
* Updated ircutils' color handling to specify a default foreground
color of white if only a background color is specified.
* Updated registry.StringWithSpaceOnRight to accept the empty string.
* Updated registry.StringSurroundedBySpaces to be a single space if
given an empty string.
* Updated utils.str.format to recognize digits before the '.' in %f
formatting.
* Stop explicitly setting a umask. Instead we'll just obey the user's
umask.
2005-09-01 James Vega <[email protected]>
* Version 0.83.1!
* Fixed a bug in Owner where plugins would not be automatically loaded
unless the bot was connected to more than one network.
2005-08-30 James Vega <[email protected]>
* Version 0.83.0!
* Updated the Services plugin to realize it is identified when
NickServ says that the bot is already identified.
* Updated Network.whois so that +s channels are only returned when in
that channel.
* Updated RSS.info to retrieve the proper information from
rssparser's results.
* Updated the RSS plugin to encode the headlines in the proper
charset, if the feed specifies an encoding.
* Fixed a bug in Todo.todo when negative priorities are used.
* Fixed a bug in Web where the entire title was not correctly parsed
from the web page.
* Fixed a bug in Web where the title was correctly parsed, but a later
parsing problem caused the command to not reply with the title.
* Fixed a bug in Misc.last where the last message in a channel was
skipped when the command was not called in that channel.
* Fixed a bug in Channel.ban remove and Channel.ignore remove when
there were no bans or ignores.
* Fixed a bug in User.hostmask list when there are no registered
hostmasks.
* Changed the prefixName keyword argument to prefixNick.
* Updated the socket handling to properly detect when an IPV6
connection should be made.
* Updated irclib to handle IRCds (like IRCNet) which send a
MAXLIST-style value for the MAXBAN 005 key.
* Updated the plugin loading to happen during __init__ instead of when
receiving the 001 message. This allows the bot to connect to networks
that require a CTCP response on connect.
* Updated the SIGHUP handler to reload the ignoresdb.
* Fixed a bug in ircutils.isNick so that it no longer allows nicks to
start with a hyphen.
* Fixed a bug in the first spec which would cause an error to be
raised if the first converter failed.
2005-05-30 James Vega <[email protected]>
* Version 0.83.0rc3!
* Updated Topic such that it can undo the first topic change performed
in a channel.
* Removed -O and -OO options for scripts/supybot.
* Removed password hashing options for scripts/supybot-adduser.
* Fixed a bug where RSS.remove wasn't removing the feed from
conf.supybot.plugins.RSS.feeds.
* Fixed a bug in Topic.set where setting the first topic would change
the entire topic.
* Fixed an AttributeError in the Ctcp plugin.
* Fixed a problem where Supybot would attempt to connect to a network
it was already connected to.
* Fixed a problem where a command with the same name as its plugin had
to be invoked as "plugin command".
* Fixed an exception when irc.reply was called with a non-string
argument.
* Fixed an ImportError in Twisted driver when OpenSSL wasn't
available.
* Updated Socket driver to fix some longstanding issues.
* Added supybot.drivers.maxReconnectWait, which determines the maximum
amount of time the bot will wait before attempting to reconnect to an
IRC server.
* Added utils.python.Synchronized metaclass to ensure synchronized
access to class methods.
* Moved utils.changeFunctionName to utils.python.changeFunctionName.
2005-05-12 James Vega <[email protected]>
* Version 0.83.0rc2!
* Added News, Unix, and Insult plugins which were missing in the
previous RC.
* Updated Misc.list to show the full configuration variable name when
the plugin has no commands.
* Fixed an HtmlParseError exception in Web's title command and
titleSnarfer.
* Fixed an ImportError exception when calling Todo.todo with no
arguments.
* Fixed a bug where Channel.{enable,disable} would throw an exception
if only a command names was specified.
* Added utils.str.ordinal (patch from genjamin AT gmail DOT com).
2005-05-02 James Vega <[email protected]>
* Version 0.83.0rc1!
* Added supybot-botchk script. This script can be run from a
cron job to make sure your Supybot restarts when the computer it
runs on is rebooted, and can make sure the bot restarts if it
ever crashes (which it shouldn't). It also allows restarting the
bot without shelling out to the box it runs on; if you quit the
bot, it'll automatically restart.
* Added supybot-plugin-doc script, which generates documentation for a
plugin.
* Added SSL server support for the Twisted driver.
* Added Web plugin, which contains most of the commands that were
in the (formerly included) Http plugin.
* Added Reply plugin, which contains several commands that were
in the Misc and Utilities plugins.
* Added Games plugin, which contains several commands that were
in the (formerly included) Fun plugin.
* Added String plugin, which contains several commands that were
also in the formerly included Fun plugin.
* Added Topic.fit, which adds a new topic to the end of the
channel topic, removing topics at the beginning as necessary to
squeeze the new topic in.
* Added Seen.any, which reports the last time a person was seen
at all, rather than just the last time a person said something in
a PRIVMSG.
* Added Web.fetch, which replies with the text of the given URL.
This might be useful in combination with Utilities.re command,
for pseudo-parsing URLs within aliases.
* Added Note.next to retrieve the next unread note (patch from Sune
Foldager. Come back, Sune!).
* Updated User.capabilities always to respond in private (for
owner users) and to prevent non-owner-users from retrieving other
user's capabilities.
* Updated Relay.{join,part} so they require the admin capability.
* Updated Plugin.contributors to pull author/contributor information
from the plugin in addition to the authors already hard-coded in
Supybot.
* Added conf.supybot.protocols.irc.queuing.rateLimit.join to throttle
how fast Supybot joins channels.
* Added conf.supybot.plugins.Herald.requireCapability, which specifies
the capability a user needs to affect another user's herald.
* Added conf.supybot.plugins.ShrinkUrl.bold, which specifies whether
the plugin should use bold in its responses.
* Renamed conf.supybot.plugins.Herald.throttleTime to
conf.supybot.plugins.Herald.throttle.
* Renamed conf.supybot.plugins.Herald.throttleTimeAfterPart to
conf.supybot.plugins.Herald.throttle.afterPart.
* Renamed the general log file (misc.log) to messages.log.
* Renamed Google.metagoogle to Google.meta.
* Renamed conf.supybot.protocols.irc.queueDuplicateMessages to
conf.supybot.protocols.irc.queuing.duplicates.
* Updated Alias.add so that alias names can coincide with plugin names.
* Added netsplit throttling to Herald. Now if only we could do
that to Relay...
* Changed Todo's db format to a single flatfile db per user.
* Fixed a bug where the nickInChannel converter would add the channel
to the args list.
* Fixed some exceptions in RSS.
* Fixed a problem with RSS not properly escaping feed names.
* Fixed supybot.utils.str parsing of regular expression separators
other than / (patch from gcbirzan).
* Fixed Owner.enable so that commands can actually be re-enabled.
* Fixed Bug #1190350, incorrect extraction of a website's title.
* Added various functions to supybot.utils.file (touch, writeLine,
readLines, chunks).
* Renamed the 'regexps' attribute in callbacks.PluginRegexp
(formerly callbacks.PrivmsgCommandAndRegexp) to unaddressedRegexps
to callbacks.PluginRegexp so as to complement addressedRegexps.
* Removed the extra argument to utils.str.pluralize which specified
whether or not to pluralize the string.
* Changed the order of the arguments to utils.str.nItems.
2005-01-16 James Vega <[email protected]>
* Version 0.80.0!
* Updated Babelfish to include Dutch, Greek, Russian, and traditional
Chinese as supported languages.
* Updated RSS.rss to obey supybot.reply.oneToOne.
* Updated registry.py to specify which registry value has an improper
docstring.
* Fixed a bug in Ebay.auction, the "Current bid" regexp needed to be
updated.
2005-01-12 James Vega <[email protected]>
* Version 0.80.0rc3!
* Updated the Geekquote snarfer to snarf qdb.us' links.
* Fixed a bug in Infobot, mis-typed registry value.
* Fixed Network.connect to actually use the supplied password.
* Fixed supybot.databases.plugins.channelSpecific.getChannelLink()
to return the proper channel link instead of returning the given
channel.
2005-01-11 James Vega <[email protected]>
* Version 0.80.0rc2!
* Implemented Observer.remove, which disables and removes the observer
from all channels.
* Added supybot.databases.channelSpecific.link.allow to determine
whether a channel allows other channels to link to its database.
* Added supybot.plugins.BadWords.stripFormatting, which determines
whether the bot will strip any formatting before filtering bad words.
* Added supybot.plugins.Markov.ignoreBotCommands, which determines
whether the Markov plugin will learn commands given to the bot.
* Added a Network.driver command, which reports the current driver
being used.
* Added an Infobot.update command, which allows the user to import an
existing Infobot factpack.
* Added a Topic.replace command, which replaces the given topic with a
new topic.
* Added a Note.search command, which allows the user to search for
notes they have sent or received.
* Added supybot.databases.channelSpecific.getChannelLink(), which
returns a channel based on how channels link to each other.
* Added supybot.plugins.Channel.banmask which specifies the default
method of generating Channel.kban's banmask.
* Renamed supybot.databases.plugins.channelSpecific.channel to
supybot.databases.plugins.channelSpecific.link.
* Updated RSS.announce such that it adds the arguments to the current
list of announced feeds instead of overwriting the current list.
* Update the Google groupsSnarfer to work with Google's beta groups
website.
* Updated Network.disconnect to announce that the disconnection
attempt has started.
* Updated Debian.bug to handle website changes.
* Updated Observer.{add,remove} to require the Admin capability.
* Updated Infobot so that it actually works reasonably well; removed
the deprecation.
* Updated Sourceforge to handle changes in the website.
* Updated UrbanDict to handle changes in the website.
* Updated plugins.getChannel and plugins.makeChannelFilename to
properly handle the new channelSpecific database setup.
* Fixed a bug with ShrinkUrl.ln; the url needed to be urlquoted before
being passed off to ln-s.net.
* Fixed some database conversion bugs in fundbConvert.py.
* Fixed a bug in socketDrivers where reconnection attempts would
always occur immediately, thus continually blocking the bot.
* Fixed an exception in registry.OnlySomeString's error method;
the parent method doesn't accept an argument.
* Fixed a bug in RSS where announcing the same feed in multiple
channels would cause improper displaying of the new feeds.
2004-12-22 Jeremy Fincher <[email protected]>
* Version 0.80.0pre6!
* Added a Topic.separator command, which replaces the current
separator with a new separator, changing the topic to reflect the
change.
* Changed the supybot.user configuration variable so that if it
isn't configured, the user will stay up-to-date with the current
version of the bot. To take advantage of this, set your
supybot.user configuration variable to ""
* Removed the supybot.databases.users.hash configuration
variable, so all bots hash by default.
* Fixed a bug with AutoMode's auto-banning feature; a variable
was misspelled.
* Fixed a bug with ChannelValues picking up children that aren't
channels.
* Fixed Misc.apropos not to be case-sensitive.
* Fixed bug in User.register; it works now.
2004-12-20 Jeremy Fincher <[email protected]>
* Version 0.80.0pre5!
* Added a "shuffle" command to the Utilities plugin, which
shuffles its arguments. Useful in combination with
Utilities.last, which returns the last argument it's given, in
combination with Utilities.apply, in order to pick a random
string (think aliases).
* Added supybot.plugins.Relay.noticeNonPrivmsgs, for making the
relay plugin use NOTICEs rather than PRIVMSGs to relay
non-PRIVMSG messages to a channel. This often affects tab
coloring in IRC clients and thus makes it so that relay messages
color the tabs like the actual messages would have.
* Numerous bug fixes. Many, many bugs fixed. Oodles and oodles
of bugs have been fixed. Myriad bugs fixed. Get the idea? :)
2004-12-17 James Vega <[email protected]>
* Version 0.80.0pre4!
* supybot.databases.plugins.channelSpecific.channel is now a
channelValue so that individual channels can decide to link their
databases.
* Deprecated asyncoreDrivers. Use twistedDrivers or socketDrivers
instead.
* Moved {eval,exec} from Owner.py to Debug.py in the sandbox.
* Numerous bug fixes.
2004-09-30 Jeremy Fincher <[email protected]>
* Version 0.80.0pre3!
* Deprecated FunDB, added two new plugins, Lart and Praise, to
handle the same features individually for larts and praises.
There is a script in tools/ that will convert from a FunDB to a
lart or praise database.
* Deprecated the Infobot plugin, in expectation of a rewrite.
* Deprecated the Quotes plugin, since we don't know anyone who
seriously uses it. Let us know if you do use it, because it may
be removed in a future version.
* Added Karma.{dump,load} for dumping and subsequently loading
the Karma database.
* Changed the News database implementation to a flatfile
database.
* Removed the tinyurl shrinking code from the URL plugin and put
it in the ShrinkUrl plugin, and added the ability to use ln-s.net
as different URL shrinker as well.
* Added an outFilter to the ShrinkUrl plugin that will shrink any
outgoing URL that is longer than the minimum length.
* Added a Freenode plugin as proof-of-concept; the bot can now
use CAPAB IDENTIFY-MSG to ignore users that aren't identified.
* Added the ability for the Seen plugin to match nicks with
wildcards.
* Added a showLinks configuration option to the RSS plugin to
show links during announcements (and another such variable for
non-announcements).
* Added the spellit, hebrew, and shrink filters to the Filter
plugin.
* Added the ability to log to separate directories to
ChannelLogger.
* Added the option to Lookup.add to add lookups that don't reply
with the key.
* Added "at" and "until" commands to the Time plugin; they're not
perfect, and they don't parse nearly enough times, but they're
somewhat tolerable for now.
* Added a Sourceforge.stats command.
* Added single-letter commands to the Words plugin when a hangman
game is active.
* Added supybot.plugins.Services.disabledNetworks, to disable the
Services plugin specific networks.
* Added supybot.protocols.irc.vhost, for binding to a vhost
before connecting.
* Added supybot.reply.format.time.elapsed.short, offering now a
"short" formatting for elapsed times.
* Added supybot.commands.quotes, for configuring which quotes can
be used to quote arguments to commands.
* Added supybot.databases.plugins.channelSpecific.channel,
specifying the "default channel" for non-channel-specific
databases to use.
* Moved the supybot.humanTimestampFormat configuration variable
to supybot.reply.format.time.
* Added a configuration variable determining the maximum length
of replies internally, so they can't suck up as much CPU as they
would otherwise.
* Added a configuration variable determining the maximum nesting
depth allowed, so exceedingly nested commands will be stopped
before they're executed.
* Added configuration variables concerning the formats used by
the central and plugin logging facilities.
* Added a configuration variable determining the quote characters
used by the bot to quote literal strings.
* Added support for line-wrapping the registry configuration
file.
* Moved supybot.reply.{brackets,pipeSyntax} to
supybot.commands.nested.
* Fixed a longstanding bug with the bot "forgetting"
channel-specific configuration variables if they weren't
exercised during the duration of the bot's uptime.
* Fixed renames so they're finally persistent.
* Fixed a bug having to do with Note and unsent notes.
* Fixed several bugs in the interaction of Infobot with other
plugins.
* Added commands.wrap, the new method for wrapping commands and
handling type validation errors consistently throughout the bot.
* Upgraded many of the outside projects we include to their
newest versions.
2004-09-17 James Vega <[email protected]>
* Version 0.80.0pre2!
* Added supybot.plugins.Google.colorfulSnarfer, which determines
whether the word 'google' in the bot's output will be made colorful
(like Google's logo).
* Added the Time plugin, to hold all of our Time related commands.
* Added max() and min() to Math.calc.
* Added Unix.pid, which allows the Owner to retrieve the pid of the
bot's process.
* Added supybot.plugins.Sourceforge.enableSpecificTrackerCommands,
which enables the rfe, bug, and patch commands.
* Added Topic.topic, which returns the current topic of the channel.
* Updated conf.Databases to use a more sane database ordering and
include anydbm.
* Updated various plugins to use our new-style database abstraction.
Plugin databases using this new-style will be named Plugin.dbtype.db.
2004-09-12 Jeremy Fincher <[email protected]>
* Version 0.80.0pre1!
* Added the facility to supporting several different database
implementations in a plugin, allowing the user to specify which
databases are supported as well as in what order of preference.
* Added the Insult plugin, for colorful, creative insults.
* Added the UrbanDict plugin, for defining words based on
UrbanDictionary.com.
* Added the Observer plugin, for watching a channel for regexps
and running commands when the bot sees such regexps.
* Moved Http.geekquote to a new Geekquote plugin, added a command
for using qdb.us, and added a snarfer.
* Added a SuperIgnore plugin, a good example of an inFilter and a
way to completely, totally ignore people.
* Changed the name of the Network plugin to Internet.
* Added a new Network plugin, and moved some commands from Owner,
Misc, and Relay to it.
* Added CTCP flood protection.
* Added a supybot.plugins.Karma.allowUnaddressedKarma
configuration variable, for allowing karma increments/decrements
similar to Infobot.
* Added supybot.reply.whenAddressedBy.nicks, to allow users to
specify a list of nicks to which the bot will respond as if they
were its own nick.
* Added the ability to support multiple-word karma
increments/decrements.
* Changed Owner.rename to be handled persistently; now renames
work across restarts of the bot or reloads of a plugin.
* Changed Misc.last to include a timestamp for when the message
was sent.
* Added the Channel.alert command, to send all currently
connected ops on a channel a message.
* Changed the MoobotFactoids plugin to allow commands to be
nested in factoids definitions and searches.
* Removed the futurama command in favor of adding a
futurama.supyfact file to supybot-data.
* Improved the Http.kernel command, showing more kernel types.
* Added a new contributors command and a way of storing
contributors and their contributions in a plugin.
* Changed the name of Anonymous.action to Anonymous.do, to be
more consistent with "say" and other bots (MozBot, iirc).
* Added the ability for channel bans and ignores and global
ignores to have expiration times.
* Added invalid command flood protection.
* Changed RSS' headlines output to bold the separators in order
to make it easier to distinguish the headlines.
* Added a --no-network option to supybot-wizard.
* Added several attributes to IrcMsg objects as they pass through
the bot; currently we tag them with receivedAt, receivedBy, and
receivedOn.
* Added RichReplyMethods.errorInvalid, a nice helper method for
sending errors about invalid values.
* Changed the --nonetwork and --noplugins options to test/test.py
to --no-network and --no-plugins.
* Changed plugins.makeChannelFilename, swapping the order of the
channel and filename arguments and making the channel optional.
* Changed the first argument to callbacks.Privmsg.callCommand to
be a name rather than a method, for greater justice.
* Added a new mechanism for ordering plugins (subclasses of
callbacks.Privmsg) which is much more flexible than a simple
priority system.
2004-09-06 James Vega <[email protected]>
* Version 0.79.9999!
* Added stripFormatting option to ChannelLogger plugin, which
determines whether non-printable formatting characters are logged.
* Added Sourceforge.patches command to complement the current bugs
and rfes commands.
* Added abs() to Math.calc.
* Improved the interface for Config.list. Now groups and values
are listed, with groups being denoted by a leading @.
* Improved Config.config such that the user can specify the entire
config variable name (conf.supybot....).
* Fixed a bug where ChannelLogger wouldn't log ignored nicks.
* Fixed an incorrect path in INSTALL.
* Fixed some missing imports in Unix's configure method.
* Fixed a bug where an owner could publically retrieve a private
configuration variable.
* Fixed an exception when trying to remove non-existent Heralds.
* Fixed an exception in RSS.getHeadlines.
* Fixed a couple bugs in Poll, when retrieving the Poll id.
* Fixed a problem with trying to use socket.inet_pton under
Windows; Python doesn't build their Win32 port with IPV6 support,
so we have to brute-force IPV6 detection.
* Fixed a few bugs with how Infobot handled the SQLite db.
* Fixed others/convertcore.py so that liter-based units are
properly capitalized (L not l) and use 1000 as the conversion rate
for MB, KB, etc. since MiB, KiB, etc. are also known units.
* Fixed a bug where Infobot would confirm an unaddressed factoid
definition.
* Fixed a problem where Google.stats didn't keep track of all
searches.
2004-08-31 Jeremy Fincher <[email protected]>
* Version 0.79.999!
* Added the ability to send long fortunes line-by-line rather
than all in one (or several) messages; it will do this if
supybot.reply.oneToOne is set to False.