Commit Graph

862 Commits

Author SHA1 Message Date
Jeremy Fincher
6169822349 Guarded IrcState.doMode to work only with channels. 2003-09-29 07:44:27 +00:00
Jeremy Fincher
d88b7e94ca Added a check to template.py that makes sure it doesn't run as root. 2003-09-29 06:12:41 +00:00
Jeremy Fincher
14459d05d8 Commented out new.function stuff for later when new.function actually works. 2003-09-29 05:41:03 +00:00
Jeremy Fincher
a91c55a93a Updated to use checkChannelCapability. 2003-09-29 05:01:41 +00:00
Jeremy Fincher
f6ccc126a3 Added debug.reset, necessary for helping out testing. 2003-09-29 04:41:18 +00:00
Jeremy Fincher
fe4af22e50 Added op/halfop/voice handling in IrcState. 2003-09-29 04:30:18 +00:00
Jeremy Fincher
31b1abaa59 Forgot to change an IndexError to a ValueError. 2003-09-25 16:09:18 +00:00
Jeremy Fincher
60c00549e1 Fixed Strike's bug: <jemfinch-nw> angryman^^^^^: list would elicit a response from angryman. 2003-09-25 16:07:41 +00:00
Jeremy Fincher
d7812d7b58 Added a note in the helps for commands that accept passwords that they must be sent privately if they include a password. Also, one command wouldn't return conf.requiresPrivacy if it was sent in a channel with a password; that's been fixed. 2003-09-25 14:21:46 +00:00
Jeremy Fincher
407ac34e52 Fix for RFE #811970, generalized not a command response. 2003-09-25 08:22:16 +00:00
Jeremy Fincher
c3e9c38b6a Changed @help to @syntax, @morehelp to @help, and changed the output of @morehelp to be prettier. 2003-09-25 08:14:46 +00:00
Jeremy Fincher
6061513c20 Fix for minor lack of period, and update to not limit own results (now we have more :)) 2003-09-25 07:57:17 +00:00
Jeremy Fincher
923a38b4ed Fix for RFE #811853, and fix for bug where @voice would actually try to give halfops (good thing no one ever found that :)) 2003-09-25 07:52:03 +00:00
Jeremy Fincher
949f744ba9 Added a debugVariables hole in the template so we can set debug variables. 2003-09-25 07:15:39 +00:00
Jeremy Fincher
757f1aa927 Fixes to expect, some to the way it wraps, etc. 2003-09-25 07:15:10 +00:00
Jeremy Fincher
eeccf8487b Changed some quotes so emacs would syntax-highlight properly. 2003-09-25 06:17:44 +00:00
Jeremy Fincher
343fd76d51 Removed unused variable. 2003-09-25 05:28:18 +00:00
Jeremy Fincher
a13c8ab528 Removed the old sys.path-munging code now that we're disutil'ed. 2003-09-24 07:28:25 +00:00
Jeremy Fincher
0bbaa4a30c Updated template for the new distutils install and gave it the ability to run on its own. 2003-09-24 07:27:13 +00:00
Jeremy Fincher
d97698d315 Missing a return. 2003-09-24 07:26:22 +00:00
Jeremy Fincher
474e611feb Initial checkin of the distutils stuff. 2003-09-24 07:19:54 +00:00
Jeremy Fincher
12d707a90f Updated IrcObjectProxyRegexp.reply to match the interface of IrcObjectProxy.reply. 2003-09-23 20:45:00 +00:00
Jeremy Fincher
3f78522f15 Made sure the error message is correct when a user tries to removeCapability something that isn't there. 2003-09-23 17:05:53 +00:00
Jeremy Fincher
b50a01db7d Made sure IrcUser.removeCapability raises KeyError on capabilities the user doesn't have. 2003-09-23 17:04:53 +00:00
Jeremy Fincher
6084d00067 Added __slots__ to IrcDict and IrcSet for optimization purposes. 2003-09-23 15:53:04 +00:00
Jeremy Fincher
fa1115327f Removed possible UnboundLocalError that would (a) crash the bot, and (b) never be reported. 2003-09-23 15:38:40 +00:00
Jeremy Fincher
14f008df26 Made debug.py make conf.logDir if it doesn't exist. 2003-09-23 13:01:08 +00:00
Jeremy Fincher
644eb1c248 Removed inapplicable comment. 2003-09-22 14:00:26 +00:00
Jeremy Fincher
015bb9ef53 Fixed bug in addPeriodicEvent with a name. 2003-09-22 13:50:59 +00:00
Jeremy Fincher
8680d464c9 Miscommunication between callbacks.py and MiscCommands.py over what the boolean in Privmsg._mores meant. 2003-09-22 13:07:20 +00:00
Jeremy Fincher
f325de3a76 Thought of a bug, wrote a test, discovered it was a bug, fixed it. 2003-09-22 13:04:15 +00:00
Jeremy Fincher
29d297af8d Oops, missed something that should've been in the test case. 2003-09-22 11:43:35 +00:00
Jeremy Fincher
9092fb7b83 Fixed bug with lines not ending in \n because of the optimization added earlier, storing the original string form as originally received. 2003-09-22 11:04:39 +00:00
Jeremy Fincher
d2eff8fdaf RFE #810366: --private option to MiscCommands.list. 2003-09-22 10:22:06 +00:00
Jeremy Fincher
a1da1ba14d Made IrcObjectProxy.error respect conf.errorReplyPrivate. 2003-09-22 09:45:23 +00:00
Jeremy Fincher
e75b92853b Fixed bug with channel capabilities for channels with . in their name. 2003-09-22 09:18:13 +00:00
Jeremy Fincher
1ac029a54c Added rsplit function. 2003-09-22 09:13:40 +00:00
Jeremy Fincher
cae8905594 RFE #807340: OwnerCommands command for setting conf variables. 2003-09-22 08:36:12 +00:00
Jeremy Fincher
90d1a55f6c Had an addCapability where I should've had a removeCapability. 2003-09-22 02:14:40 +00:00
Jeremy Fincher
f13aa41e1b Added error reporting for unmet capability checks. 2003-09-19 06:24:38 +00:00
Jeremy Fincher
d6854355be Added error reporting for unmet capability checks. 2003-09-19 05:57:46 +00:00
Jeremy Fincher
1ad12d2fcf Fixed an oversight. 2003-09-18 10:25:20 +00:00
Jeremy Fincher
4ab9dc7718 Added changeusername command and fixed the framework so tests could run. 2003-09-18 07:52:34 +00:00
Jeremy Fincher
476ef32f47 Changed conf.py to remove some useless files (rawlogfile and ignoresfile weren't used) and changed ircdb to do the os.path.join itself. 2003-09-18 07:44:25 +00:00
Jeremy Fincher
3af8f1c790 Added private and action keywords to IrcObjectProxy.reply and converted FunDB to use them. 2003-09-18 07:26:21 +00:00
Jeremy Fincher
a16bb77cba Extracted loadPlugin{Module,Class} behavior into separate functions that can be exported to all modules. 2003-09-18 05:52:55 +00:00
Jeremy Fincher
a765308cbd Extracted loadPlugin{Module,Class} behavior into separate functions that can be exported to all modules. 2003-09-18 05:47:42 +00:00
Jeremy Fincher
411289e625 Made privmsgs wrappers stackable. 2003-09-17 23:31:45 +00:00
Jeremy Fincher
d227111b0c Added privmsgs.name, privmsgs.channel, and privmsgs.checkChannelCapability. Converted the Topic plugin to use some of them. 2003-09-17 22:38:03 +00:00
Jeremy Fincher
70b80f0622 Added configuration variable to determine whether pipe syntax is accepted. 2003-09-17 19:19:38 +00:00
Jeremy Fincher
41339e80e7 Added an exception for malformed IRC messages and a little more error checking to the string parsing for IrcMsgs. 2003-09-17 18:21:35 +00:00
Jeremy Fincher
5ace516fb1 Reworked some callCommand stuff to centralize some code. 2003-09-17 08:12:59 +00:00
Jeremy Fincher
457de48be4 Made sure no information is leaked with last being able to return private messages. 2003-09-17 08:07:24 +00:00
Jeremy Fincher
71bba5d28c I was setting the prefix for the message to be added to the IrcState object, but I don't know why. We'll find out soon enough. 2003-09-17 07:54:02 +00:00
Jeremy Fincher
288f6179d6 Fixed a bug in the handling of the msg keyword argument in IrcMsg. 2003-09-17 07:53:11 +00:00
Jeremy Fincher
e02589c204 Added small optimization. 2003-09-17 07:32:02 +00:00
Jeremy Fincher
bd800365ec Made sure to canonicalName the capabilities that are added. 2003-09-17 07:27:11 +00:00
Jeremy Fincher
3016b98ce5 setdefaultcapability and unsetdefaultcapability were behind the times. 2003-09-16 19:01:23 +00:00
Jeremy Fincher
66b64bd002 Oops, forgot to remove this before committing :) 2003-09-15 17:26:00 +00:00
Jeremy Fincher
1abddefa52 Added upgrade script to upgrade old botscripts to the new template. 2003-09-15 17:20:23 +00:00
Jeremy Fincher
35e7d409dd Reorgnized template in preparation for the upgrade script. 2003-09-15 17:08:24 +00:00
Jeremy Fincher
feb85382af Made usernames case-insensitive. 2003-09-14 07:05:41 +00:00
Jeremy Fincher
2d0671b6f6 Changed delhostmask to removehostmask and fixed a bug. 2003-09-14 02:52:40 +00:00
Jeremy Fincher
0293a2ba0d Fixed bug in addhostmask. 2003-09-14 02:45:09 +00:00
Jeremy Fincher
36163997d2 Added documentation. 2003-09-13 17:29:56 +00:00
Jeremy Fincher
9e042c5701 Added reconf command. 2003-09-13 15:13:46 +00:00
Jeremy Fincher
e31d2d8b85 Added unregister command. 2003-09-13 13:44:13 +00:00
Jeremy Fincher
5a15783e7a Made sure chanop capability supercedes everything else. 2003-09-13 12:59:22 +00:00
Jeremy Fincher
2e82a85e40 Added hostmask command. 2003-09-12 21:16:59 +00:00
Jeremy Fincher
92369c6fde Changed logging of ignorance in PrivmsgRegexp. 2003-09-12 20:20:18 +00:00
Jeremy Fincher
41d266f207 Updated ircdb to have persistent user ids. 2003-09-12 20:06:58 +00:00
Jeremy Fincher
a0e0ca2c5f Forgot to check if conf.replyWhenNotCommand is True before deciding not to respond if there's a non-command in the dealio. 2003-09-12 19:15:33 +00:00
Jeremy Fincher
417c1f3ea4 Added a 'from fix import *' 2003-09-12 18:07:04 +00:00
James Vega
fac234359a Switch whoami to use conf.replyNotRegistered 2003-09-12 17:08:09 +00:00
Jeremy Fincher
0aa448bfc7 Added keyword option And to commaAndify to allow specifying a word other than 'and' as the last separator. 2003-09-12 08:55:30 +00:00
Jeremy Fincher
a169b64740 Registered upkeep with atexit. 2003-09-12 07:48:01 +00:00
Jeremy Fincher
da8ee2a758 Fixed bug where the bot would respond with 'there is no such command' if it wasn't the canonical name. 2003-09-12 06:59:41 +00:00
Jeremy Fincher
407da29675 Made more help a little clearer. 2003-09-11 22:21:56 +00:00
Jeremy Fincher
00418143dc Forgot to handle the case where there wasn't any command in morehelp. 2003-09-11 20:18:58 +00:00
Jeremy Fincher
74a9964da2 Updated PrivmsgCommandAndRegexp to also sort its regexps by their method name. 2003-09-11 09:10:42 +00:00
Jeremy Fincher
ab88ee0d25 Fixed bug where he'd reply that a command didn't match when regexp methods matched. 2003-09-11 05:31:01 +00:00
Jeremy Fincher
30bedebba3 Oops, broke something, and didn't fix anything. 2003-09-10 19:28:44 +00:00
Jeremy Fincher
7dfdef787a Made the bot not respond to himself when he gets something that's not a command. 2003-09-10 18:52:12 +00:00
Jeremy Fincher
335addc623 Had to move baseplugin.py to src/ for supporting multiple plugin directories. 2003-09-10 18:42:27 +00:00
Jeremy Fincher
176b9b30b6 Fix for RFE #801934: Response in case of non-commands. 2003-09-10 08:32:20 +00:00
Jeremy Fincher
e0fae30f46 Now allow multiple plugin directories, RFE #802614. 2003-09-10 06:05:58 +00:00
Jeremy Fincher
f95a804fe9 Changed asserts to show the repr() if they fail. 2003-09-09 20:44:58 +00:00
Jeremy Fincher
671648368a Added version check to the template. 2003-09-09 08:04:25 +00:00
Jeremy Fincher
071f3916f8 Most IrcMsg.__hash__ were returning 0, because I was using & instead of ^ 2003-09-08 20:29:02 +00:00
Jeremy Fincher
61a0142265 Added functionality to protect private commands from being @more <nicked>, and fixed the fact that it doesn't work across the Relay. 2003-09-08 19:43:33 +00:00
James Vega
6b3600c1e5 Added replyNotRegistered 2003-09-08 08:46:23 +00:00
Jeremy Fincher
f818efa588 Added better logging of message times and prefixName option to IrcObjectProxy.reply. 2003-09-08 08:44:51 +00:00
Jeremy Fincher
6aa3e06402 Raise ValueError in the case of bad input. 2003-09-08 06:10:06 +00:00
Jeremy Fincher
6b72288bc2 A little more error-checking can't hurt. 2003-09-07 09:50:14 +00:00
Jeremy Fincher
315d8710dc Added pipe syntax. 2003-09-07 09:41:47 +00:00
Jeremy Fincher
c2f73da997 Made @bug send an email to a private mailing list. 2003-09-07 07:41:56 +00:00
Jeremy Fincher
45044c525d Made it copy the list of messages when <nick> is used. 2003-09-07 06:48:42 +00:00
Jeremy Fincher
017ddb198d Added optional <nick> argument to more command. 2003-09-07 06:42:17 +00:00
Jeremy Fincher
8dc457961a Added a bit better diagnostic to IrcCallback.__call__ except clause. 2003-09-07 06:08:16 +00:00
Jeremy Fincher
757154313e Added first exception for pluralize. 2003-09-07 05:48:20 +00:00
Jeremy Fincher
01d71dc9a3 Changed maxHistory to 1000. 2003-09-07 05:27:24 +00:00
Jeremy Fincher
5ef3d7c5f5 Moved tell and last commands from FunCommands to MiscCommands. 2003-09-07 05:26:18 +00:00
Jeremy Fincher
5db67b0b2c Changed (more) to show the number of remaining messages. 2003-09-07 05:13:58 +00:00
Jeremy Fincher
92b745f42f Added bold to the (more) that gets appended. 2003-09-07 05:08:07 +00:00
Jeremy Fincher
723ff123e1 Fixed bug in more stuff. 2003-09-07 04:56:26 +00:00
Jeremy Fincher
3873b351f4 Added the more command. 2003-09-07 04:05:34 +00:00
Jeremy Fincher
2266faec5f Fixed enable and disable not to allow ValueError through their makeAntiCapability calls. 2003-09-06 18:37:22 +00:00
Jeremy Fincher
5296d51dc2 Changed some asserts to raise ValueError instead. 2003-09-06 18:32:10 +00:00
Jeremy Fincher
91de0b066c Fix bug that didn't allow commands without arguments in onStart. 2003-09-06 08:00:46 +00:00
Jeremy Fincher
c0eb527117 Uh, why did I raise? I don't know. Anyway, handle write errors correctly in _sendIfMsgs. 2003-09-06 07:45:47 +00:00
Jeremy Fincher
7d01f9eeb3 Made IrcState handle empty TOPIC correctly. 2003-09-06 02:09:02 +00:00
Jeremy Fincher
3eb86b8869 Made PRIVMSG and NOTICE low-priority so TOPIC would happen before them. 2003-09-06 02:01:44 +00:00
Jeremy Fincher
c45e38b537 Added ability to send empty topic messages to get the current topic. 2003-09-06 01:28:12 +00:00
Jeremy Fincher
be45eb2e25 Reordered some statements. 2003-09-06 01:13:43 +00:00
Jeremy Fincher
15c115d028 Added a sanity guard to finalEval and changed a debug.printf to a debug.msg. 2003-09-06 01:07:08 +00:00
Jeremy Fincher
da329a3196 Changed priority of OwnerCommands to make sure it's ***always*** first. 2003-09-06 01:05:52 +00:00
Jeremy Fincher
5bc445fd5d Added docstring for CapabilityCheckingPrivmsg 2003-09-06 00:37:28 +00:00
Jeremy Fincher
0719bdec92 Added priority stuff for RFE #799899 2003-09-05 19:28:04 +00:00
Jeremy Fincher
dd6f5de32e Minor cosmetic changes. 2003-09-05 18:54:35 +00:00
Jeremy Fincher
57146b93cf Added tests for src/ modules. 2003-09-05 18:47:58 +00:00
Jeremy Fincher
7e80782452 Added a test to make sure JOINs happen before WHOs, and changed code to make that the case. 2003-09-05 18:16:51 +00:00
Jeremy Fincher
7b3a62eacf Fixed bug with empty [] in command. 2003-09-05 07:26:55 +00:00
Jeremy Fincher
15f4ad8e60 Converted timeElapsed to use nItems. 2003-09-05 06:50:06 +00:00
Jeremy Fincher
bef838bf42 The setattr of the _exec function wasn't right. 2003-09-04 21:46:16 +00:00
Jeremy Fincher
dd27e3ae23 Forgot to import utils. 2003-09-04 21:41:31 +00:00
Jeremy Fincher
f65829b768 Moved several things from fix.py to utils.py. 2003-09-04 20:42:37 +00:00
Jeremy Fincher
708e8e553b Forget docstring and to remove the old regexp. 2003-09-04 17:33:04 +00:00
Jeremy Fincher
64459c93ec Fixed unColor to be right. 2003-09-04 17:32:27 +00:00
Jeremy Fincher
bb91ade49e Updated world.upkeep to return the number of objects that have been collected and updated the upkeep command to return that number. 2003-09-03 17:27:08 +00:00
Jeremy Fincher
9256468885 Changed maxHistory to 300. 2003-09-03 17:17:36 +00:00
Jeremy Fincher
f06a552b73 Fixed bug in socketDrivers and made it less likely to happen with a fix in drivers. 2003-09-03 11:06:02 +00:00
Jeremy Fincher
25aca81c9a Added warning about blocking in the morehelp for cvsup. 2003-09-03 09:57:30 +00:00
Jeremy Fincher
0a2d17396e Updated module docstring. 2003-09-03 09:50:04 +00:00
Jeremy Fincher
f0816d56a7 Changed bold and mircColor to use the right ender \x0F. 2003-09-03 09:46:06 +00:00
Jeremy Fincher
4c980aeb3e Added nItems. 2003-09-03 09:40:26 +00:00
Jeremy Fincher
9a1959e04d Made _checkNotChannel return False if it's sent in a channel, and checked that return value in the resulting functions. 2003-09-03 09:22:59 +00:00
Jeremy Fincher
a764de50ad Added sortBy, which uses the decorate/sort/undecorate pattern to sort by a certain criteria. 2003-09-03 08:51:45 +00:00
Jeremy Fincher
64c97a7c98 Added morehelps for some functions. 2003-09-02 19:55:53 +00:00
Jeremy Fincher
8f475fdcdd The command finder function (I forget the name) would find serendipitously named methods in PrivmsgRegexp, and that's bad. Fixed and added a test for the known case of it. 2003-09-02 07:30:35 +00:00
Jeremy Fincher
83707f81c1 Added normalizeWhitespace. 2003-09-01 18:39:27 +00:00
Jeremy Fincher
ebc00fe4d7 Fixed logging of ignores to actually say who's being ignored. 2003-09-01 18:35:00 +00:00
Jeremy Fincher
5c92c85342 Changed socketDrivers to be the default Driver. 2003-09-01 17:35:09 +00:00
Jeremy Fincher
1d77fa5354 Added exponential (well, 0 -> 60 -> 300) reconnect backoff. 2003-09-01 17:31:24 +00:00
Jeremy Fincher
9600ada127 Oops, thought I tested, turns out I didn't. start -> started. 2003-09-01 16:54:43 +00:00
Jeremy Fincher
a2d9e58c2a Changed format of reconnect scheduling log. 2003-09-01 16:50:56 +00:00
Jeremy Fincher
1cf1e022a2 Removed some debugging stuff (clearing msg.prefix before sending it) and added logging to match asyncoreDrivers and twistedDrivers. 2003-09-01 16:14:04 +00:00
Jeremy Fincher
2b6f989cb1 Removed useless line. 2003-09-01 15:53:29 +00:00
Jeremy Fincher
2bd4a88d76 Made it reset the IRC object before reconnection, and made it catch connect errors. 2003-09-01 15:46:10 +00:00
Jeremy Fincher
57b21b6394 Added line for socketDrivers. 2003-09-01 15:22:04 +00:00
Jeremy Fincher
35aff3f642 Added a sleep so we don\'t spin if we're the only driver. 2003-09-01 08:13:52 +00:00
Jeremy Fincher
38d1896da3 Changed to make sure every SocketDriver times out in a conf.poll length. 2003-09-01 08:11:24 +00:00
Jeremy Fincher
5313428ca7 Initial checkin. 2003-09-01 08:06:55 +00:00
Jeremy Fincher
78d32f1be9 Forgot the world.upkeep periodic event. 2003-09-01 07:15:18 +00:00
Jeremy Fincher
85caaf6696 Fixed bug in automatic canonicalNaming of non-commands. 2003-09-01 06:47:22 +00:00
Jeremy Fincher
d1677d4192 Changed regexp in Privmsg to be more flexible. 2003-09-01 05:59:58 +00:00
Jeremy Fincher
e6bfc72b77 Minor changes, added some (commented-out) debug.printfs. 2003-09-01 05:59:34 +00:00
Jeremy Fincher
30d3747f1d Added utils.pluralize. 2003-09-01 05:42:35 +00:00
Jeremy Fincher
7795e6bbf3 Fixed help to work with plugin names. 2003-08-30 19:52:56 +00:00
Jeremy Fincher
442392b5ba Guarded inserts into sys.path. 2003-08-30 19:20:08 +00:00
Jeremy Fincher
1cd7ccbfa4 Found bug in perlReToPythonRe and fixed it. 2003-08-30 18:39:19 +00:00
Jeremy Fincher
21879d0723 Turned off color if on a windows box. 2003-08-30 05:08:15 +00:00
Jeremy Fincher
b2436f4a99 Changed %70 to %68 for safety and lining up reasons. 2003-08-30 04:54:35 +00:00
Jeremy Fincher
f3b2ea905d Fixed our code that caused a bug in textwrap.py. 2003-08-30 02:52:35 +00:00
Jeremy Fincher
55384617d4 Converted schedule over to heapq from bisect. 2003-08-29 14:18:18 +00:00
Jeremy Fincher
b29da50397 Hopefully got the prefix thing right. 2003-08-29 08:09:09 +00:00
Jeremy Fincher
900fa495f8 Changed default on allowEval to False, for safety reasons. 2003-08-29 07:23:14 +00:00
Jeremy Fincher
89a0d12cce Added tracking of how many commands have been processed. 2003-08-29 07:08:03 +00:00
Jeremy Fincher
376e4043f0 Added commandsOnStart to make PyChecker happy. 2003-08-29 00:34:05 +00:00
Jeremy Fincher
4763cb4daa Made expect even prettier. 2003-08-28 23:03:09 +00:00
Jeremy Fincher
3c8a7c2387 Used textwrap to make things prettier. 2003-08-28 22:55:22 +00:00
Jeremy Fincher
c81c452306 Added expectWithDefault. 2003-08-28 17:55:47 +00:00
Jeremy Fincher
a0bf562d7a Redid startup/configuration junk. 2003-08-28 16:33:45 +00:00
Jeremy Fincher
aabd095239 Moved world.version to conf.version. 2003-08-28 13:59:07 +00:00
Jeremy Fincher
b572562cb3 Added utils.wrapLines and wrapped the lines of each plugin's example. 2003-08-27 16:25:43 +00:00
Jeremy Fincher
adbd4fd23b Guarded the sys.path.insert. 2003-08-27 07:46:19 +00:00
Jeremy Fincher
9550971042 Added ability for commands to raise callbacks.CannotNest if they are not nestable. 2003-08-27 07:45:48 +00:00
Jeremy Fincher
51a474dd14 Added verbose log for spawning CommandThreads. 2003-08-27 01:39:58 +00:00
Jeremy Fincher
8f4bc0c325 Fixed possible error (uncovered during test) in Irc.die. 2003-08-26 18:14:59 +00:00
Jeremy Fincher
58d444b571 More documentation. 2003-08-26 17:18:35 +00:00
Jeremy Fincher
09c77aa234 Can catch re.error instead of sre_constants.error. 2003-08-26 17:08:46 +00:00
Jeremy Fincher
b1a392c691 Made the driver reset the Irc on disconnection, not connection. 2003-08-26 16:39:42 +00:00
Jeremy Fincher
c38099550e Made IrcState keep history persistent through resets. 2003-08-26 16:39:23 +00:00
Jeremy Fincher
b1e6cc53ac Added a reset method to RingBuffer and queue. 2003-08-26 16:38:28 +00:00
Jeremy Fincher
ed92fcad2b Changed to make 'too long a message' error messages less inaccurate. 2003-08-26 15:03:34 +00:00
Jeremy Fincher
ab562416bf Added getopt.GetoptError to exceptions to return help on. 2003-08-26 13:44:32 +00:00
Jeremy Fincher
b8550ab31d Made the driver die in Irc.die. 2003-08-26 13:06:13 +00:00
Jeremy Fincher
28d81d656d Made it handle improper arguments correctly; I never noticed that it wasn't doing it already. 2003-08-26 12:44:49 +00:00
Jeremy Fincher
5289f6bc75 Renamed conf.timestampFormat to conf.logTimestampFormat and added conf.humanTimestampFormat. 2003-08-26 11:15:15 +00:00
Jeremy Fincher
79fe7d8014 Added thread, to make threaded commands in an unthreaded module. 2003-08-25 20:19:42 +00:00
Jeremy Fincher
5630782e85 Made CommandThread work with non-instancemethods. 2003-08-25 19:50:46 +00:00
Jeremy Fincher
d73abebb36 Made @karma++ not return [karma++]. 2003-08-25 07:23:36 +00:00
Jeremy Fincher
e18bc38676 Fixed asserts to use the new 'all' predicate in fix.py. 2003-08-23 12:11:46 +00:00
Jeremy Fincher
a7826bdc34 Added any/all sequence predicates. 2003-08-23 12:08:14 +00:00
Jeremy Fincher
6c26e4e28f Made the response of the upkeep command more useful. 2003-08-23 11:41:25 +00:00
Jeremy Fincher
68b9b5f378 Guard against an error on exit. 2003-08-23 10:59:28 +00:00
Jeremy Fincher
f0b533098c Added a return value to shrinkList, the number of things removed from the list. 2003-08-23 09:07:45 +00:00
Jeremy Fincher
53d883710e Added unCommaThe function. 2003-08-23 07:57:04 +00:00
Jeremy Fincher
0743b3eb0a Moved commandArgs outside of __init__. 2003-08-23 06:05:01 +00:00
Jeremy Fincher
bdd66dbd5e Removed comments; removed zipiter (no one used it, and itertools.izip is available now). Added docstrings to all remaining non-docstringed functions. 2003-08-23 05:53:20 +00:00
Jeremy Fincher
f9413129a9 Satisfying PyChecker is my life's goal. 2003-08-23 05:14:16 +00:00
Jeremy Fincher
147d5cf6da Finally got the persistent configuration working with the Relay module (though don't try to reload it :)). 2003-08-23 04:42:04 +00:00
Jeremy Fincher
8e068ce8c0 Made configuration commands persistent, yay! 2003-08-22 23:15:29 +00:00
Jeremy Fincher
a11873a260 Must've missed some sliceIndices conversion. 2003-08-22 23:10:08 +00:00
James Vega
ab93b9072f Committing jemfinch's commaAndify fixes 2003-08-22 21:31:17 +00:00
Jeremy Fincher
f98d1f9db5 Small refactoring (the calm before the storm, so to speak) to start putting some more config stuff in conf.py. 2003-08-22 07:20:31 +00:00
Jeremy Fincher
94e25c6c17 Forgot to guard morehelp command against None __doc__s. 2003-08-22 07:00:07 +00:00
Jeremy Fincher
710dcd71c6 Added the capability to specify a mask for the whois helper. 2003-08-21 16:53:19 +00:00
Jeremy Fincher
6bfd991947 commaAndified timeElapsed. 2003-08-21 16:31:11 +00:00
Jeremy Fincher
4858770ee7 Ew, modified the original argument in utils.commaAndify. 2003-08-21 11:47:43 +00:00
Jeremy Fincher
ca646716b1 Removed spaces at the end of lines. 2003-08-20 16:26:23 +00:00
Jeremy Fincher
01eb6934ef Added function commaAndify to turn a list of strings into a proper English foo, bar, and baz string. 2003-08-20 09:24:57 +00:00
Jeremy Fincher
06c36d283a Change to satisfy PyChecker. 2003-08-20 07:19:56 +00:00
Jeremy Fincher
137f05b2e8 Made supybot report SyntaxError to the user. 2003-08-20 07:19:20 +00:00
Jeremy Fincher
3e58971fe6 Line shortened. 2003-08-19 19:02:59 +00:00
Jeremy Fincher
2e28200a41 Fixed extra [y/n] options in expect. 2003-08-19 13:36:14 +00:00
Jeremy Fincher
fb07813a55 Added docstring for PrivmsgCommandAndRegexp 2003-08-19 10:46:52 +00:00
Jeremy Fincher
230020ad5f Removed sliceIndices and replaced all uses with slice.indices. Yay 2.3 2003-08-19 10:41:19 +00:00
Jeremy Fincher
7fd35a1071 Made some changes to satisfy PyChecker. 2003-08-19 10:38:45 +00:00
Jeremy Fincher
ef4b6d94a8 Removed some apostrophes so syntax highlighting works in emacs. 2003-08-17 21:29:50 +00:00
Daniel DiPaolo
83c44eecab * added new utility, findBinaryInPath which searches the PATH for a specific binary
* removed getSpellBinary, and replaced with findBinaryInPath calls
2003-08-17 20:09:09 +00:00
Jeremy Fincher
62fbcccdf4 Removed enumerate. 2003-08-17 08:43:23 +00:00
Jeremy Fincher
e3364e0fdd string_escape is better than unicode_escape. 2003-08-17 06:28:05 +00:00
Jeremy Fincher
b299a564ce Added a noneFill parameter to group. 2003-08-17 06:24:58 +00:00
Jeremy Fincher
00290faca9 Fixed a possible bug in the ArgumentError handler and replaced my SyntaxError(Error) stupidity. 2003-08-17 06:24:17 +00:00
Jeremy Fincher
b78cabaed5 Wrote some more tests for FunCommands; found some bugs in the process. 2003-08-17 02:02:53 +00:00
Jeremy Fincher
1d9f7f331c Added a little del to the reload/unload stuff 2003-08-15 05:39:35 +00:00
Jeremy Fincher
9db6ace58b Added upkeep command. 2003-08-15 02:56:41 +00:00
Jeremy Fincher
46cf8bb6fd Tyop. 2003-08-14 18:53:22 +00:00
Jeremy Fincher
936c1fd85e Re-enabled ircutils.nick under a new name (IrcString) and for a different purpose (to make IrcDict and IrcSet work properly). 2003-08-14 14:15:07 +00:00
Jeremy Fincher
c4005a115a Made the reload and load commands also update linecache, so tracebacks are correctly line-numbered and whatnot. 2003-08-14 12:01:37 +00:00
Jeremy Fincher
622f96c8d4 Made the old callbacks die before the new callbacks are loaded. 2003-08-13 05:41:48 +00:00
Jeremy Fincher
2dd5a522d3 Changed nick/user/host of server hostmask to be the hostmask itself. Also disabled _ircmsg import for the time being. 2003-08-12 19:12:44 +00:00
Jeremy Fincher
2a4c2ea185 Nuked ircutils.nick. Good riddance. 2003-08-12 19:12:12 +00:00
Jeremy Fincher
199de7e71a Changed the signature of canonicalColor to return an (fg, bg) pair. Also accepts a shift parameter which is the number of bits to >> the hash of the string. Both are used in Relay.py. 2003-08-12 08:50:28 +00:00
Jeremy Fincher
39cce9c3af Changed from 's.find(x) != -1' to 'x in s' 2003-08-11 17:16:03 +00:00
Jeremy Fincher
2760c1bce0 Added group and test for group. 2003-08-11 07:12:41 +00:00
Jeremy Fincher
eb6fb90801 Removed the immutability checks in IrcMsg. 2003-08-11 06:57:17 +00:00
Jeremy Fincher
2c87c183b2 Optimized IrcMsg.__str__ slightly. 2003-08-11 05:08:33 +00:00
Jeremy Fincher
5f7656c781 Made throttling properly respect world.testing. 2003-08-11 05:07:07 +00:00
Jeremy Fincher
f203bca787 Added ability to define regexp callbacks in a mostly-Privmsg environment. 2003-08-11 03:34:54 +00:00
Jeremy Fincher
60fa81c268 Removed nick hack in IrcMsg; I never liked it anyway. 2003-08-10 11:25:03 +00:00
Jeremy Fincher
f9e6777f08 Added more docstrings. 2003-08-10 10:45:44 +00:00
Jeremy Fincher
031c81e937 Added ilen, a function to return the length of an iterator. 2003-08-07 06:13:11 +00:00
Jeremy Fincher
36996dd3cf Updated stuff for 2.3 to break 2.2 compatibility :) 2003-08-07 02:48:44 +00:00
Jeremy Fincher
29f0b638b2 Added some more documentation. 2003-08-02 16:48:43 +00:00
Jeremy Fincher
ade9514212 Added more documentation. 2003-08-02 06:22:13 +00:00
Jeremy Fincher
5ec5b997ca Made safeArgument handle colors correctly. 2003-08-01 23:48:02 +00:00
Jeremy Fincher
a4b6ee2028 Added caching for __str__, __repr__, and __len__. 2003-08-01 14:23:54 +00:00
Jeremy Fincher
3b5825ebe3 Removed use of eval from the tokenizer. 2003-07-31 06:45:03 +00:00
Jeremy Fincher
1cae9664a7 Upgraded to 2.3. 2003-07-31 06:20:58 +00:00
Jeremy Fincher
b7cb48b19b Added flip function. 2003-07-30 21:47:21 +00:00
Jeremy Fincher
ad3fb443a6 Bugfix in mircColor. 2003-07-30 11:04:59 +00:00
Jeremy Fincher
c6a8cebc2d Slight optimization in getCallback. 2003-07-30 11:04:29 +00:00
Jeremy Fincher
51ab17ad98 One line fix that's been in my code for awhile but not committed. 2003-07-29 00:58:57 +00:00
Jeremy Fincher
7a281d5e4b Fixed some mircColors indiscretions and added a test for the new (proper) behavior. 2003-07-25 04:00:38 +00:00
Jeremy Fincher
5644c8da57 Changed some mircColor stuff. 2003-07-23 15:24:05 +00:00
Jeremy Fincher
2a52871fcc Tweaked mircColor (yeah, I'm anal beyond all reason) 2003-07-23 15:13:30 +00:00
Daniel DiPaolo
0e16b70f8b * added mircColor() function to ircutils as well as mircColors dict
* added test cases for this function
* implemented nick coloring for Relay
2003-07-23 05:29:16 +00:00
Jeremy Fincher
ebc3533275 This file was hanging back on protocol since it's been less used. 2003-07-23 02:16:06 +00:00
Jeremy Fincher
c8fbb4581b Made the part command behave sensibly in the face of an empty argument list. 2003-07-23 02:12:17 +00:00
Jeremy Fincher
a7daba5eb7 Added some more documentation (though the work is probably not done). 2003-07-21 06:10:35 +00:00
Jeremy Fincher
e27f7e555c Had to make it handle -O and -p in the getopt jazz. 2003-06-18 18:44:16 +00:00
Jeremy Fincher
6ead5d2692 Added psyco option, -O 2003-06-18 18:39:40 +00:00
Jeremy Fincher
5f8c054805 TypoError 2003-06-18 18:37:52 +00:00
Jeremy Fincher
1928b2f70d Added psyco option, -O 2003-06-18 18:35:37 +00:00
Jeremy Fincher
725da854ce TyopError 2003-06-18 07:19:27 +00:00
Jeremy Fincher
5c0ae0ecbf Changed moduleof to use the canonicalName of the command. 2003-06-18 06:05:33 +00:00
Jeremy Fincher
a44ecb4aa0 Made the reliance on conf even less user-intensive. 2003-06-16 07:43:18 +00:00
Jeremy Fincher
f8a54c4872 Fixed irclib.Channel to use ircutils.nick on its stuff. 2003-06-16 04:56:06 +00:00
Jeremy Fincher
d9b994f6fe Fixed bug in Irc.reset. 2003-06-06 04:47:18 +00:00
Jeremy Fincher
51cb83d3e6 Made logging for rate limiting more informative. 2003-06-05 10:00:31 +00:00
Jeremy Fincher
4c6e33b72d Added rudimentary profiling support. 2003-06-04 05:23:55 +00:00
Jeremy Fincher
90409d0e19 Braino. 2003-06-04 04:48:49 +00:00
Jeremy Fincher
d810fe37b0 TypoError. 2003-06-04 04:45:46 +00:00
Jeremy Fincher
bbb46497b5 TypoError. 2003-06-04 04:44:19 +00:00
Jeremy Fincher
93df6be0c3 TypoError. 2003-06-04 04:42:32 +00:00
Jeremy Fincher
f2ae4b5f34 Finally found the underlying cause of the relaynames bug. 2003-06-04 03:56:59 +00:00
Jeremy Fincher
b1a1c85a17 Fixed bug in queue.__{get,set}item__. 2003-06-03 03:24:06 +00:00
Jeremy Fincher
a35bf21b4e Made sure utils.timeElapsed doesn't go all decimal on me. 2003-06-03 03:18:14 +00:00
Jeremy Fincher
f35c9e8d05 Had wrong channel argument in IrcStat.do332. 2003-06-02 07:27:43 +00:00
Jeremy Fincher
ec8011347c Fixed bug in Channel. 2003-06-02 07:21:08 +00:00
Jeremy Fincher
76539b36ef Made it so if IndexError is raised, the data structure isn't modified in __delitem__ 2003-06-02 06:47:53 +00:00
Jeremy Fincher
00d186cc42 Forgot underscore in isNick. 2003-06-02 05:31:13 +00:00
Jeremy Fincher
66497f1f4e Added __delitem__ (untested, though) 2003-05-29 17:06:04 +00:00
Jeremy Fincher
f40780156e Added IrcCommandDispatcher as base class for IrcCallback and IrcState. 2003-05-29 17:03:42 +00:00
Jeremy Fincher
db4495111c Changed a debug.printf to a debug.msg. 2003-05-29 16:37:03 +00:00
Jeremy Fincher
97ce807088 Fixed a slight ugliness, use dir() instead of __dict__. 2003-05-29 16:36:34 +00:00
Jeremy Fincher
328cdf2c0e Fixed bug in isNick that was causing the Relay.relaynames bug. 2003-05-28 21:32:36 +00:00
Jeremy Fincher
9b56122a8e Fixed quit function. 2003-05-27 20:07:58 +00:00
Jeremy Fincher
82c2a83c91 Fixed quit function. 2003-05-27 20:06:05 +00:00
Jeremy Fincher
1e910d3948 Added quit function. 2003-05-27 20:03:37 +00:00
Jeremy Fincher
c0c5101cd3 Changed to only strip \r\n from right side of last argument. 2003-05-21 17:52:23 +00:00
Jeremy Fincher
09340376cb Changed utils.timeElapsed to use just a seconds instead of a now/then argument. 2003-05-20 15:37:25 +00:00
Jeremy Fincher
345f819e7a Changed reload to not unload the module if there's an error in loading. 2003-05-19 13:47:19 +00:00
Jeremy Fincher
737f35c99d Removed rate limiting during testing. 2003-04-29 13:13:55 +00:00
Jeremy Fincher
26a457920e Added slice support to queue. 2003-04-29 13:00:43 +00:00
Jeremy Fincher
71bd193c16 Turned off superreload command. 2003-04-29 13:00:04 +00:00
Jeremy Fincher
54788a643a Some slightly new helper functions and stuff. 2003-04-29 07:37:54 +00:00
Jeremy Fincher
ce6b03d52f Added a few important helper methods. 2003-04-29 07:36:18 +00:00
Jeremy Fincher
6eacfb6c26 Changed IrcState.history to a RingBuffer instead of a MaxLengthQueue. 2003-04-22 11:18:57 +00:00
Jeremy Fincher
ff54eecefc Swapped implementation of MaxLengthQueue. 2003-04-22 11:16:03 +00:00
Jeremy Fincher
fe2f2c1ac0 Swapped implementation of MaxLengthQueue. 2003-04-22 11:15:15 +00:00
Jeremy Fincher
8fa7c95067 Somehow these didn't get updated when I moved queue to structures. 2003-04-22 11:13:03 +00:00
Jeremy Fincher
25daf96a9c Enabled __slots__ on RingBuffer. 2003-04-22 11:02:39 +00:00
Jeremy Fincher
45b4d95184 Moved data structures from fix to structures; changed implementation of MaxLengthQueue to a RingBuffer. 2003-04-22 11:00:28 +00:00
Jeremy Fincher
ca4ad3882f Initial import. 2003-04-22 08:27:11 +00:00
Jeremy Fincher
5aa9beacfb Forgot to import world. 2003-04-21 06:17:19 +00:00
Jeremy Fincher
545f675ae4 Forgot to add prefix to IrcMsg in two functions. 2003-04-21 06:12:57 +00:00
Jeremy Fincher
b8e3396d6b Added some (now commented out) debugging printfs. 2003-04-21 05:54:38 +00:00
Jeremy Fincher
35d0a3cb22 Decreased size of checkCapability by moving some duplicated code out to another function with no good name. 2003-04-21 05:38:13 +00:00
Jeremy Fincher
2456082661 New test-passing implementation of checkCapability with debug.printfs commented out. 2003-04-21 05:23:31 +00:00
Jeremy Fincher
67e072c746 Changed implementation of queue. 2003-04-21 05:17:06 +00:00
Jeremy Fincher
d9ca1637d7 Had to change PING/PONG handling to workaround non-RFC-compliant servers. 2003-04-21 04:37:35 +00:00
Jeremy Fincher
06fe786029 Added .reconnect() method to drivers. 2003-04-21 04:32:42 +00:00
Jeremy Fincher
e1e6b974d6 Had to add and \!owner and \!admin to conf.defaultCapabilities 2003-04-21 03:04:40 +00:00
Jeremy Fincher
96e2a67aa5 Added say command to OwnerCommands. 2003-04-21 01:58:04 +00:00
Jeremy Fincher
8b2ef2403e Removed comment. 2003-04-20 21:56:54 +00:00
Jeremy Fincher
83e8422a44 Whitespace change. 2003-04-20 21:56:41 +00:00
Jeremy Fincher
959459d063 Finally passes all tests. 2003-04-20 21:52:53 +00:00
Jeremy Fincher
9fee5f17a9 Again, run tests before committing. 2003-04-20 17:57:16 +00:00
Jeremy Fincher
df66715089 Oops...should run the tests before submitting new assertions :) 2003-04-20 17:28:26 +00:00
Jeremy Fincher
2227f5caae Fix for bug in Irc.removeCallback. 2003-04-20 17:18:34 +00:00
Jeremy Fincher
e1dfcbd390 Added partition to facilitate bugfix in irclib.Irc.removeCallback. 2003-04-20 17:17:50 +00:00
Jeremy Fincher
80e4dfbe63 Added world.threadsSpawned, logging of the number of threads spawned, and added the information to cpustats. 2003-04-20 16:15:35 +00:00
Jeremy Fincher
cc61041491 Removed commented out stuff, added help string to superreload. 2003-04-20 15:55:32 +00:00
Jeremy Fincher
b3e6c686a4 Changed nick class not to use __slots__. 2003-04-20 09:34:42 +00:00
Jeremy Fincher
30322c42b6 Changed nick class to use __slots__. 2003-04-20 09:33:41 +00:00
Jeremy Fincher
8bdfe2de97 Added docstrings to all the functions. 2003-04-20 09:32:52 +00:00
Jeremy Fincher
bacbf53386 Lowered the default values for limit on shrinkList and privmsgPayload. 2003-04-20 09:20:49 +00:00
Jeremy Fincher
3188810d21 Added returns after irc.errors. 2003-04-20 08:54:27 +00:00
Jeremy Fincher
674fe77386 Added some asserts to match RFC more. 2003-04-20 07:17:40 +00:00
Jeremy Fincher
c0d511c4f1 Added Driver module attribute. 2003-04-20 07:15:39 +00:00
Jeremy Fincher
29efc019df Added copyright. 2003-04-20 07:12:18 +00:00
Jeremy Fincher
f6392d4806 Added ignoring check in PrivmsgRegexp. Fixed stupid bug stupid stupid bug tyop bug.GRRRRR 2003-04-20 01:35:05 +00:00
Jeremy Fincher
92250ca055 Added ignoring check in PrivmsgRegexp. 2003-04-20 01:28:40 +00:00
Jeremy Fincher
f6488d6071 Prevented deprecation warning and added another logging feature. 2003-04-20 01:18:09 +00:00
Jeremy Fincher
a861941626 Fixed stupid bug. 2003-04-20 01:02:29 +00:00
Jeremy Fincher
0e505d89e1 Some more .__class__.__name__ -> name() conversions. 2003-04-20 00:47:04 +00:00
Jeremy Fincher
eb44d5cfed Added new driverModule attribute for driver independence. 2003-04-19 23:53:47 +00:00
Jeremy Fincher
77ac7c6b4e Added newDriver function for driver-module independence. 2003-04-19 23:52:34 +00:00
Jeremy Fincher
dc8b430754 Fixed reconnects. 2003-04-19 23:51:26 +00:00
Jeremy Fincher
ee74036505 Changed to be driver-module independent. 2003-04-19 23:51:11 +00:00
Jeremy Fincher
e4fd36ffef Fixed 'useless reply on bad arguments' in threaded commands; added/changed Combine class. 2003-04-19 21:42:55 +00:00
Jeremy Fincher
e4591e3d57 Changed list command to use cb.name() instead of cb.__class__.__name__. 2003-04-19 21:41:23 +00:00
Jeremy Fincher
4cb24f7aa4 Added robustness changes and manhole stuff. 2003-04-18 08:24:25 +00:00
Jeremy Fincher
1178536288 Added Combine, a callback to combine two Privmsg callbacks (most often Privmsg and PrivmsgRegexp) 2003-04-18 08:24:04 +00:00
Jeremy Fincher
5adbaf5be4 Made the join command not send the WHO command if the bot is already on the channel. 2003-04-18 08:22:02 +00:00
Jeremy Fincher
7fa59b0f35 Changed definition of notFunky to include extended characters that might not be printable in my locale. 2003-04-17 10:11:34 +00:00
Jeremy Fincher
73a5de98eb Scheduler implementation changes to be (hopefully) more efficient, to pop() rather than pop(0). 2003-04-17 10:08:32 +00:00
Jeremy Fincher
77154f2c34 Changed asyncorePoll to just 'poll' 2003-04-17 10:07:43 +00:00