Commit Graph

466 Commits

Author SHA1 Message Date
Jeremy Fincher
4b3b245834 Made addressedRegexps and Regexps not run if there was an error. Also slightly refactgored handling of errors in Privmsg/IrcProxyObject. Also fixed spawning of threads to set the callback's threaded attribute. 2004-01-01 20:15:25 +00:00
Jeremy Fincher
bbafb4294e Added conf.replyWhenNotAddressed for RFE #859183. 2003-12-17 13:22:21 +00:00
Jeremy Fincher
db8d18b1aa Oops, forgot to commit this with the case-insensitive more changes. 2003-12-16 13:32:31 +00:00
Jeremy Fincher
42ce8c33a6 Swapped the argument order for utils.{pluralize,nItems} 2003-12-12 15:41:33 +00:00
Jeremy Fincher
8f777db9f9 Fixed bug #858008, and a fix for another bug that invalidCommands that raise an exception stop the whole process; now it'll continue to later plugins. 2003-12-11 14:32:45 +00:00
Jeremy Fincher
f592aab3c0 Fixed bug #857299. 2003-12-10 19:17:48 +00:00
Jeremy Fincher
f6f46f6689 Fixed bug #855014 and added RFEs #855453 and #855454. 2003-12-06 23:52:23 +00:00
Jeremy Fincher
40dcc0eb1c Changed a log.info to a log.warning (more appropriate). 2003-12-05 11:52:50 +00:00
Jeremy Fincher
a74d1d5aef Added a little extra logging. 2003-12-04 00:29:06 +00:00
Jeremy Fincher
bc7083506f Make sure to normalize the whitespace on help. 2003-12-03 22:02:29 +00:00
Jeremy Fincher
8e7416fd72 Limit the number of mores to 50. 2003-12-03 05:42:55 +00:00
Jeremy Fincher
41ab05862f Changed the priority of the ignoring logged message. 2003-11-26 18:46:47 +00:00
Jeremy Fincher
48166f4895 Huge update to the logging infrastructure. 2003-11-26 18:21:12 +00:00
Jeremy Fincher
4770ef1b3f Added the to= keyword argument to reply. 2003-11-25 11:08:57 +00:00
Jeremy Fincher
a4284e7924 Added __revision__ strings. 2003-11-25 08:38:19 +00:00
Jeremy Fincher
1d95410f91 Fixed introduced bug in that callbacks.Privmsg.handled wasn't set appropriately when a command was called. 2003-11-22 07:16:34 +00:00
Jeremy Fincher
37c6516693 Fix for bug #846065. 2003-11-22 02:10:51 +00:00
Jeremy Fincher
eb6e112f70 Changed some maps/filters to imaps/ifilters for efficiency reasons (I was bored, basically). 2003-11-15 04:37:04 +00:00
Jeremy Fincher
0e01a1dee8 Sweede is a fscking retard. 2003-11-15 03:01:01 +00:00
Jeremy Fincher
08244ff36e New test and fix for the associated bug. 2003-11-12 21:57:21 +00:00
Jeremy Fincher
e4f912fc51 Made Aliases disambiguate themselves, and made that API in Owner public. 2003-11-12 02:18:22 +00:00
Jeremy Fincher
28753856eb __parented some classes. 2003-11-04 08:13:22 +00:00
Jeremy Fincher
65e469ba38 Removed crazy-buggy rate limiting stuff. 2003-11-04 08:05:16 +00:00
Jeremy Fincher
895ecf718f Fixed bug #832590. 2003-10-30 05:27:25 +00:00
Jeremy Fincher
58cf080109 Fixed the nesting bug with testEval and testCalc. 2003-10-29 23:40:14 +00:00
Jeremy Fincher
e556e783b1 Moved ambiguous command handling to Owner; fixed handling of empty nested command. 2003-10-29 23:02:27 +00:00
Jeremy Fincher
afbf513df2 Changed not to use the deprecated new module. 2003-10-29 13:06:17 +00:00
Jeremy Fincher
186239ee84 Fixed an infinite loop problem in the new invalidCommand code. 2003-10-28 06:57:52 +00:00
Jeremy Fincher
a34589cce7 Completed the removal of callbacks.Privmsg.doPrivmsg. 2003-10-28 06:30:42 +00:00
Jeremy Fincher
86a3746994 Added a finished variable so we don't have to rely on return values from invalidCommand. 2003-10-28 06:06:21 +00:00
Jeremy Fincher
b9fb362a65 Oops, not self.msg. 2003-10-28 05:16:17 +00:00
Jeremy Fincher
e03c65f753 Changed the whole handling of nonCommands and ambiguousCommands and whatnot. Now plugins can define an 'invalidCommand' method to be called on invalid commands. 2003-10-28 00:22:15 +00:00
Jeremy Fincher
39349302a6 Changed the way the plugin name is reported in help. 2003-10-24 23:14:27 +00:00
Jeremy Fincher
094bdee30b Fixed bug with commandsOnStart not being called unless they were already canonical names. 2003-10-24 18:53:34 +00:00
Jeremy Fincher
d85c8c555b Added plugin name to help output. 2003-10-24 13:52:09 +00:00
Jeremy Fincher
ff8159c91e Made only-syntax return without the parentheses. 2003-10-24 11:47:45 +00:00
Jeremy Fincher
af402fd60a Added a configuration option to show only syntax on ArgumentError. 2003-10-24 11:31:09 +00:00
Jeremy Fincher
8b200efaa0 Removed bug. 2003-10-23 14:46:56 +00:00
Jeremy Fincher
f847208b65 Updated docstring for dispatchers slightly. 2003-10-23 08:43:50 +00:00
Jeremy Fincher
d60b3daecb Made error message better for dispatcher commands. 2003-10-22 17:19:08 +00:00
Jeremy Fincher
cad2269ba5 Made ordering in PrivmsgCommandAndRegexp depend on the list of regexp-methods. 2003-10-21 21:15:29 +00:00
Jeremy Fincher
7a1130cc28 Made it so only one method will be called, unless a plugin specifically declares a command to be alwaysCalled. 2003-10-21 21:01:43 +00:00
Jeremy Fincher
72402b98c7 Removed handling of ambiguous commands in IrcObjectProxy; Misc is the only place where it's to be handled. Also fixed bug that a dispatched command raising callbacks.ArgumentError results in the syntax for the dispatcher. 2003-10-21 07:20:54 +00:00
Jeremy Fincher
3212ece69c Finished 'big change' to allow dispatching and stuff. 2003-10-20 11:34:21 +00:00
Jeremy Fincher
55ccb85542 Removed the syntax command; changed interface of callbacks.findCallbackForCommand to return a list of the matching callbacks; fix help to handle the prefixing of the plugin name. 2003-10-20 10:25:13 +00:00
Stéphan Kochen
e12f69b7a2 Added conf.replyWithPrivateNotice and 'notice' command. 2003-10-20 10:10:46 +00:00
Jeremy Fincher
0b6c2084cf Fixed handling of callbacks.ArgumentError in PrivmsgCommandAndRegexp. 2003-10-20 07:31:17 +00:00
Jeremy Fincher
eb31db6277 Added memoization optimization to tokenize function. 2003-10-20 04:26:37 +00:00
Jeremy Fincher
68fd496516 Added memoization optimization to tokenize function. 2003-10-20 04:17:14 +00:00
Jeremy Fincher
06cd9ae285 Added memoization optimization to tokenize function. 2003-10-20 04:16:44 +00:00
Jeremy Fincher
8fc200ae1f Removed premature optimization of using the regexp to decide when to tokenize. We'll optimize when we have to, likely by making tokenize memoize. 2003-10-20 03:56:15 +00:00
Jeremy Fincher
63135c4c48 Removed a debugging print. 2003-10-15 06:53:54 +00:00
Jeremy Fincher
aa1b992643 Added error reporting to regexp-based callCommands. 2003-10-13 23:20:15 +00:00
Jeremy Fincher
9eff6d997e Removed/commented out some debug.printfs. 2003-10-12 12:42:43 +00:00
Jeremy Fincher
e96c1359fd Added addressedRegexps set to PrivmsgCommandAndRegexp. 2003-10-09 04:29:37 +00:00
Jeremy Fincher
b0f5674f91 Fixed bug #820262. 2003-10-08 22:38:27 +00:00
Jeremy Fincher
b1495a1718 Added a docstring. 2003-10-05 20:40:45 +00:00
Jeremy Fincher
970c819e79 Changed fix.py to munge __builtins__ rather than requiring a "from fix import *" statement. 2003-10-05 12:47:19 +00:00
Jeremy Fincher
71fcfb8db9 Deleted a few variables that shouldn't have been exported. 2003-10-04 12:29:58 +00:00
Jeremy Fincher
8d620207ea Added lots of docstrings. 2003-10-04 11:34:44 +00:00
Jeremy Fincher
bbbc97c11b Added fix for possible bug in re.finditer. 2003-10-04 09:59:06 +00:00
Jeremy Fincher
1e64fad163 Fixed replyNoCapability messages to be in private. 2003-10-03 10:04:40 +00:00
Jeremy Fincher
41bacaba13 Accepted RFE #812257: Multiple regexp matches in one message. 2003-10-02 22:37:36 +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
12d707a90f Updated IrcObjectProxyRegexp.reply to match the interface of IrcObjectProxy.reply. 2003-09-23 20:45:00 +00:00
Jeremy Fincher
a1da1ba14d Made IrcObjectProxy.error respect conf.errorReplyPrivate. 2003-09-22 09:45:23 +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
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
411289e625 Made privmsgs wrappers stackable. 2003-09-17 23:31:45 +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
5ace516fb1 Reworked some callCommand stuff to centralize some code. 2003-09-17 08:12:59 +00:00
Jeremy Fincher
92369c6fde Changed logging of ignorance in PrivmsgRegexp. 2003-09-12 20:20:18 +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
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
74a9964da2 Updated PrivmsgCommandAndRegexp to also sort its regexps by their method name. 2003-09-11 09:10:42 +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
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
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
315d8710dc Added pipe syntax. 2003-09-07 09:41:47 +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
91de0b066c Fix bug that didn't allow commands without arguments in onStart. 2003-09-06 08:00:46 +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
7b3a62eacf Fixed bug with empty [] in command. 2003-09-05 07:26:55 +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
ebc00fe4d7 Fixed logging of ignores to actually say who's being ignored. 2003-09-01 18:35:00 +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
89a0d12cce Added tracking of how many commands have been processed. 2003-08-29 07:08:03 +00:00
Jeremy Fincher
a0bf562d7a Redid startup/configuration junk. 2003-08-28 16:33:45 +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
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
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
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
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
0743b3eb0a Moved commandArgs outside of __init__. 2003-08-23 06:05:01 +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
ca646716b1 Removed spaces at the end of lines. 2003-08-20 16:26:23 +00:00
Jeremy Fincher
137f05b2e8 Made supybot report SyntaxError to the user. 2003-08-20 07:19:20 +00:00
Jeremy Fincher
fb07813a55 Added docstring for PrivmsgCommandAndRegexp 2003-08-19 10:46:52 +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
f203bca787 Added ability to define regexp callbacks in a mostly-Privmsg environment. 2003-08-11 03:34:54 +00:00
Jeremy Fincher
3b5825ebe3 Removed use of eval from the tokenizer. 2003-07-31 06:45:03 +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
51cb83d3e6 Made logging for rate limiting more informative. 2003-06-05 10:00:31 +00:00
Jeremy Fincher
db4495111c Changed a debug.printf to a debug.msg. 2003-05-29 16:37:03 +00:00
Jeremy Fincher
737f35c99d Removed rate limiting during testing. 2003-04-29 13:13:55 +00:00
Jeremy Fincher
5aa9beacfb Forgot to import world. 2003-04-21 06:17:19 +00:00
Jeremy Fincher
b8e3396d6b Added some (now commented out) debugging printfs. 2003-04-21 05:54:38 +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
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
e4fd36ffef Fixed 'useless reply on bad arguments' in threaded commands; added/changed Combine class. 2003-04-19 21:42:55 +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
8a18f03faa Comment changes. 2003-04-16 07:12:36 +00:00
Jeremy Fincher
5c3cf2bc93 Made PrivmsgRegexp use isCommand. 2003-04-14 07:01:20 +00:00
Jeremy Fincher
2148a6e704 Added proper ArgumentError handling for threaded callbacks. 2003-04-14 05:51:41 +00:00
Jeremy Fincher
4e14a85ea1 Added verbose logging of tokenize times. 2003-04-12 12:19:27 +00:00
Jeremy Fincher
5a8f0ce7fa Forgot to put backtick in validchars. 2003-04-11 20:30:02 +00:00
Jeremy Fincher
04855169e2 Security fix. 2003-04-11 20:17:35 +00:00
Jeremy Fincher
59b6a7b67d Fixed stupid regexp. 2003-04-09 17:19:06 +00:00
Jeremy Fincher
091f2872b3 Fixed the unallowed dashes and underscores in command names. 2003-04-09 16:55:25 +00:00
Jeremy Fincher
f76dedd795 Fixed verbose logging of command times to only print once for threaded commands. 2003-04-08 18:42:10 +00:00
Jeremy Fincher
3c419192c8 Fixed length check to be 512, not 450. 2003-04-08 07:27:53 +00:00
Jeremy Fincher
89fa7855da Added command timing to the verbose log. 2003-04-07 15:23:12 +00:00
Jeremy Fincher
7d2a096e7a Added check for rateLimiting in Privmsg.doPrivmsg (didn't check before) 2003-04-06 12:23:35 +00:00
Jeremy Fincher
83dd73a643 Fixed bug #715340, nested commands not parsed correctly. 2003-04-06 10:36:31 +00:00
Jeremy Fincher
29effdf8cc Made sure the bot responds with uneven quotations or brackets. 2003-04-04 08:29:13 +00:00
Jeremy Fincher
8d2ac8c359 Changed nickToLower to toLower (it works for channels too 2003-04-04 07:07:19 +00:00
Jeremy Fincher
33b4aa052c Changed debug.debugMsg to debug.msg. 2003-04-03 10:06:11 +00:00
Jeremy Fincher
d5c5e1240b Removed funkyArgument; now we use safeArgument which does the repr() itself. 2003-04-03 08:31:47 +00:00
Jeremy Fincher
c31167ed3f Stopped catching exceptions in the wrong place in callCommand. 2003-04-02 07:42:07 +00:00
Jeremy Fincher
806a45a936 Reverted back to non-exception-raising irc.error. 2003-04-02 07:27:32 +00:00
Jeremy Fincher
cd5781c81a Added flags class attribute to PrivmsgRegexp 2003-04-01 07:59:17 +00:00
Jeremy Fincher
a54020ad59 Fixed bug #711056 2003-04-01 05:39:36 +00:00
Jeremy Fincher
46f3012f9a Changed privmsgs.getArgs to raise ArgumentError, and make the necessary changes in callbacks to Do The Right Thing 2003-03-31 22:22:59 +00:00
Jeremy Fincher
2806ec0a69 Fixed double-reply on bracketed non-commands 2003-03-31 07:00:25 +00:00
Jeremy Fincher
0f6fe97bf4 Fixed a single-quote bug in Tokenizer 2003-03-31 06:08:23 +00:00
Jeremy Fincher
22490174f3 Made single quotes not quotes anymore. Now only double quotes and backticks work. 2003-03-28 07:02:44 +00:00
Jeremy Fincher
cd350457b2 Fixed leftover debuging line and TypeError 2003-03-28 02:01:51 +00:00
Jeremy Fincher
f97ab0d0b9 Fixed IrcObjectProxy.finalEval to give help in the face of an empty Error exception (like that raised by privmsgs.getArgs) 2003-03-28 01:17:33 +00:00
Jeremy Fincher
20c37dd96f Put setDaemon in its proper place. 2003-03-27 06:04:56 +00:00
Jeremy Fincher
6c3e6d7b99 PyChecker found another non-selfed variable 2003-03-26 10:08:27 +00:00
Jeremy Fincher
a13c55a896 PyChecker found a non-selfed variable 2003-03-26 10:07:55 +00:00
Jeremy Fincher
5fa489e826 Fixed bug in IrcObjectProxy.getRealIrc: issubclass->isinstance 2003-03-26 07:39:34 +00:00
Jeremy Fincher
56a204b453 Made isCommand checking more flexible. 2003-03-26 07:02:09 +00:00
Jeremy Fincher
05b6303684 Added extra line before vim line at bottom. 2003-03-26 02:41:39 +00:00
Jeremy Fincher
4d43fe11db Changed nature of threaded implementation to give more descriptive debug messages and to catch and report uncaught exceptions. 2003-03-26 02:30:05 +00:00
Jeremy Fincher
1ceab4306c Fixed bug in recent commit: msg -> self.msg in IrcObjectProxy 2003-03-25 23:16:10 +00:00
Jeremy Fincher
03c50ff7b4 Made a helper function tokenize(s) so it can be called instead of Tokenizer().tokenize(s) 2003-03-25 22:32:14 +00:00
James Vega
c803e5e9d8 Added vim:set ... : strings to source in order to keep file formatting
consistent between developers. Jeremy should be adding the equivalent
settings for emacs soon.
2003-03-24 08:41:19 +00:00
Jeremy Fincher
dd35f8f610 Fixed typo: reponse->response 2003-03-24 08:27:58 +00:00
Jeremy Fincher
089e6a400d Fixed a lot of RateLimiter problems; solved Forums.gameknot problem. Also made irc.error raise an exception (that's later handled) in non-threaded callbacks, so there's less a chance of error in not returning after irc.error. 2003-03-22 03:16:20 +00:00
Jeremy Fincher
25d4f1238e Fixed lacking irc.error and irc.reply in PrivmsgRegexp; pulled reply functionality into its own function. 2003-03-15 11:09:52 +00:00
Jeremy Fincher
7801c84d84 Initial revision 2003-03-12 06:26:59 +00:00