Commit Graph

517 Commits

Author SHA1 Message Date
Valentin Lorentz
c310d74a19 Enfore capability checks when supybot.reply.error.noCapability is False. 2012-05-01 13:15:54 +00:00
Valentin Lorentz
590a992651 Add the channel where a command has been called in the logs ('XXX called by XXX'). 2012-03-18 20:45:17 +01:00
Daniel Folkinshteyn
43a3285f48 core: avoid casting data to string if it is already an instance of basestring, in irc.reply. 2011-12-18 12:39:05 +01:00
Daniel Folkinshteyn
e98ac0f4c2 Some improvements to the commands.process function - better process naming and informational output.
Conflicts:

	plugins/String/plugin.py
	src/commands.py
2011-08-25 11:36:47 +02:00
Daniel Folkinshteyn
37597bfe94 Create a commands.process function which runs a function inside a separate process.
This is the only way to limit the execution time of a possibly long-running python statement.
Use this on String.re, due to the possibility of pathologically long re matching in python.
This allows us to remove the 'trusted-only' restriction on string.re.
In the future, this should probably be used in other places that take user-supplied regexps,
such as 'misc last --regexp', for example, as well as other potentially long-running tasks
that can block the bot.

Conflicts:

	plugins/String/plugin.py
	src/commands.py
2011-08-15 17:24:33 +02:00
Valentin Lorentz
693ba6aba0 Don't tell owner to contact an admin. Closes GH-20. 2011-06-22 21:37:34 +02:00
Valentin Lorentz
676c08ad8e Fix possible truncation of messages
Possible bug with languages which has a long translation for '(XX more messages)'.
2010-10-31 13:35:23 +01:00
Valentin Lorentz
6b26861c23 Internationalize callbacks.py, commands.py, and conf.py ; and generated the messages.pot 2010-10-20 18:27:58 +02:00
James Vega
e7ef97e529 Ensure channel-specific reply.whenNotAddressed works.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 166f32dcb0)
2010-08-24 19:52:59 -04:00
James Vega
e13d3d6943 Decode/encode as 'string_escape' when (de)serializing the registry.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-08-24 19:43:24 -04:00
James Vega
166f32dcb0 Ensure channel-specific reply.whenNotAddressed works.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-07-26 19:48:37 -04:00
James Vega
c10d964604 Elide ignored replies from nested command output.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-06-24 00:33:04 -04:00
James Vega
0540513387 Decode/encode as 'string_escape' when (de)serializing the registry.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-01-30 23:03:35 -05:00
James Vega
eff20402ac Change canonize => normalize
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-27 16:41:34 -04:00
Štěpán Němec
a66034f852 Fix some typos/wordings.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-26 16:34:12 -04:00
Štěpán Němec
53cac5b078 callbacks.py: Remove duplicated getRealIrc() definition
NestedCommandsIrcProxy inherits the method from ReplyIrcProxy.
(Also fix some typos.)

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-20 11:23:12 -04:00
James Vega
54dda880d4 Add a pluginCommands kwarg to Commands.listCommands.
Plugins which implement their own listCommands method should pass their
non-typically discoverable commands to Commands.listCommands via this
mechanism.  This means that the de-duplication of commands is performed in one
spot instead of having each plugin implement it on their on in their
listCommands method.

This reverts commits 0ce829af6215b97e725f4d6d580d1151950be869 and
09fb0e6fc974445a3414fb03a94625f8538d4570.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-22 18:52:15 -04:00
James Vega
0d98118247 Allow getCommandHelp to be told whether to use simpleSyntax.
Use this to force Misc.help to ignore simpleSyntax since the user has
explicitly asked for the help.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 03:12:54 -04:00
James Vega
0615846ab3 Fix getCommandHelp's use of dynamic.msg
Default chan to None so we can still retrieve a config value if dynamic.msg
isn't valid (e.g., when running supybot-plugin-doc).

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-28 08:14:46 -04:00
James Vega
b3d97ea03e callbacks: Only use dynamic.msg if it's not None in getCommandHelp
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-28 00:33:03 -04:00
James Vega
84ca6f2ae3 callbacks: Update PluginRegexp docstring to reference (un)addressedRegexps
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-09 10:53:02 -04:00
James Vega
e00e161a73 Comments can't follow line continuations
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-12 17:16:56 -04:00
Jeremy Fincher
bc70ab8aad Fixes SR #2233215. 2009-03-12 13:54:05 -05:00
James Vega
db615f2c40 callbacks: Actually obey the to argument of reply() 2009-03-11 13:37:27 -04:00
James Vega
768119d258 Directly call isCommandMethod from listCommands. 2009-03-11 13:37:27 -04:00
James Vega
0b6926826a Make sure getCommandMethod only returns a valid command method
In situations like an alias, simply using getattr(self, command[0]) may
return a class method instead of the alias (think "Alias add die ...").
2009-03-11 13:37:26 -04:00
James Vega
eb6117da4f Embed formatArgumentError in Commands._callCommand.
This allows it to utilize getCommandHelp which means that plugins which define
their own getCommandHelp will no longer have broken help responses when
ArgumentError exceptions are raised.
2009-03-11 13:37:26 -04:00
James Vega
338a899782 Make getCommandHelp respect supybot.reply.showSimpleSyntax 2009-03-11 13:37:26 -04:00
James Vega
c936897488 Allow doc to be specified for getSyntax, similar to getHelp 2009-03-11 13:37:26 -04:00
James Vega
d72b696739 Do not pass arguments to object's __init__ 2009-03-11 13:37:26 -04:00
James Vega
73fb339b04 Only disable prefixNick if action is actually True 2009-03-11 13:37:26 -04:00
James Vega
a9d1830303 Do not prefixNick for actions 2009-03-11 13:37:26 -04:00
James Vega
ea6000b407 src/callbacks.py: Methods whose name != their canonical name should not be considered command methods (and therefore won't be listed in the output from Misc.list). 2006-08-28 13:15:21 +00:00
James Vega
cd2b58a7d5 src/callbacks.py: Allow the docstring to be passed to getHelp() 2006-08-28 13:13:43 +00:00
James Vega
48120bfdd2 src/callbacks.py: Update a debug statement so it prints the proper method name. 2006-05-01 17:08:44 +00:00
James Vega
a3e4fc5b1d Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
Jeremy Fincher
1a5e05ee8e NestedCommandsIrcProxy should set self.repliedTo if self.error is called. 2005-06-30 22:10:04 +00:00
Jeremy Fincher
830a5c5084 Commented out an overly verbose (even for DEBUG level) log message. 2005-06-30 22:04:59 +00:00
James Vega
464c1e3cb9 src/callbacks: Remove a duplicate except statement. 2005-06-28 20:57:32 +00:00
Jeremy Fincher
3d66bc88e5 Let's ensure that self.repliedTo is False before calling invalidCommands. 2005-06-08 17:49:54 +00:00
Jeremy Fincher
dff2862bb1 Fixed jamessan's multiple-invalidCommand bug. 2005-06-08 17:45:58 +00:00
Jeremy Fincher
0d83dde909 Moved a comment to the appropriate place. 2005-06-08 16:24:54 +00:00
Jeremy Fincher
490fb0b140 Changed prefixName to prefixNick, which is more appropriate, and has always bothered me. Better now than later. 2005-06-01 21:08:30 +00:00
Jeremy Fincher
5815b3b348 Added some elucidating comments. 2005-05-30 19:19:43 +00:00
Jeremy Fincher
66076c0831 Removed a useless wrapper around a method that shouldn't exist. 2005-05-27 03:47:04 +00:00
Jeremy Fincher
4fb15198a0 Properly fixed bugs where plugins expected strings and got non-strings. 2005-05-23 11:51:22 +00:00
Jeremy Fincher
a1992b55ec Fixed the bug that caused "reply reply" to be necessary instead of just "reply". 2005-05-23 11:23:53 +00:00
Jeremy Fincher
ce74fa825e Synchronized Commands (basically, all command-based plugins). Should fix the issue with Karma causing crashes due to PySQLite's un-thread-friendliness. 2005-05-15 18:27:12 +00:00
James Vega
44ef2bd81a Add unaddressedRegexps to PluginRegexp. 2005-04-21 17:28:48 +00:00
James Vega
e7e72d4484 Unbreak invalidCommands. 2005-04-20 23:06:50 +00:00
Jeremy Fincher
c621905d91 We now spawn a thread for invalidCommands when any of the plugins that will run invalidCommands are threaded. 2005-04-13 03:20:58 +00:00
Jeremy Fincher
e1d3c5e537 Changed the name of IrcObjectProxy to something more indicative of what it does. 2005-04-13 03:18:17 +00:00
Jeremy Fincher
bc9cdc4927 Fixed the broken mores. 2005-03-28 13:29:55 +00:00
Jeremy Fincher
0773aa31e5 Made Proxy Irc objects map to the same dictionary slot, so we don't need to worry about calling getRealIrc all the time. 2005-03-28 13:00:37 +00:00
Jeremy Fincher
71830d0c84 Because super sucks, we need to assign to self.log before calling our parents' __init__s, because mixins might be before our parents. Ridiculous. Don't be surprised if we go on a super-excising rampage in the future. 2005-03-24 16:27:41 +00:00
James Vega
9971e991fe Fix the modelines. 2005-03-23 20:07:45 +00:00
Jeremy Fincher
3d60b66ee2 Made the SimpleProxy interface a little more consistent with IrcObjectProxy. 2005-03-14 03:52:30 +00:00
Jeremy Fincher
7445ed05b8 Let's give do* methods at least a SimpleProxy, if for no other reason than to stave off the questions and consternation resulting from *not* having an irc.reply available. 2005-03-12 22:27:23 +00:00
Jeremy Fincher
bd6aa8fda8 Fixed some bugs introduced in my earlier commit, uncovered by the Note tests. 2005-03-09 10:42:16 +00:00
Jeremy Fincher
0e68a44513 Fixed bug with nested plugins having the same name as themselves. 2005-03-09 08:05:24 +00:00
Ali Afshar
d13458726d Added getPluginHelp() method to return docstring for individual plugins. 2005-03-03 19:34:26 +00:00
Jeremy Fincher
574e9509b7 Added support for source-nested plugins. 2005-02-24 12:49:08 +00:00
James Vega
b272bd7752 Goodbye debug log. 2005-02-25 04:58:40 +00:00
Kevin Murphy
5e5e2f3336 Fixed some typos 2005-02-23 17:40:44 +00:00
Jeremy Fincher
5985562a31 Put the monkey patch in the wrong place. 2005-02-18 23:53:11 +00:00
Jeremy Fincher
c9408a95f5 Re-added capability checking stuff. Boo. This needs refactored. 2005-02-18 23:44:38 +00:00
Jeremy Fincher
ff3b03973f Let's not try to call getCommand on callbacks that don't have it. 2005-02-18 23:01:41 +00:00
Jeremy Fincher
b0df87ed7d Fixed addressedRegexps handling in PluginRegexp. 2005-02-18 16:19:44 +00:00
Jeremy Fincher
34e4891bbc Changed to use getattr again; getCommandMethod is pretty much reserved for, well, commands. 2005-02-18 08:26:28 +00:00
Jeremy Fincher
9327be4b59 Added an assert to make sure findCallbacksForArgs is used correctly. 2005-02-18 08:26:02 +00:00
Jeremy Fincher
180291dd34 Cleaned up listCommands a bit. 2005-02-18 06:30:46 +00:00
Jeremy Fincher
2f928e9888 Added default-to-important-plugins behavior back. 2005-02-18 06:30:22 +00:00
Jeremy Fincher
2a75f4b83d Added a classModule attribute to plugins to have easy access to it (the new plugin format made that significantly harder for us; this is an easy workaround). 2005-02-18 06:14:17 +00:00
Jeremy Fincher
ed0b91c3df Tweaked some methods to fix some bugs (yes, it's ambiguous, I know). 2005-02-18 06:13:47 +00:00
Jeremy Fincher
c864836a2f Finally refactored to make commands be "lists of strings" rather than just strings. This is preliminary to allowing nested plugins. 2005-02-18 05:17:23 +00:00
Jeremy Fincher
4f99f41266 Removed a useless comment. 2005-02-18 00:23:53 +00:00
Jeremy Fincher
c1c46495b3 Added a canonicalName method to plugins. 2005-02-18 00:16:06 +00:00
Jeremy Fincher
c3e1d1daca Another elucidating comment. 2005-02-17 23:39:21 +00:00
Jeremy Fincher
e26d46f416 Added some elucidating comments and asserts. 2005-02-17 23:26:11 +00:00
Jeremy Fincher
849b12ec8b Removed getCommands, which isn't being used by anything. 2005-02-17 23:14:54 +00:00
Jeremy Fincher
156084c225 Fixed some bugs introduced with the latest refactoring of callCommand, etc. 2005-02-17 22:39:44 +00:00
Jeremy Fincher
2693d404b4 Refactored _callCommand to put it in its appropriate place. 2005-02-16 02:17:05 +00:00
James Vega
90c000793d utils.gen.* functions shouldn't explicitly be called since they're all in the utils namespace. 2005-02-15 13:57:57 +00:00
Jeremy Fincher
e97f111042 Removed the checkCapabilities keyword argument because it wasn't used anywhere in our source code. 2005-02-15 06:56:24 +00:00
Jeremy Fincher
99d723802e Changed the name of getCommand to getCommandMethod in preparation for a major refactoring. 2005-02-15 06:53:30 +00:00
Jeremy Fincher
c09a7cace1 Removed log.stat, it was dumb. 2005-02-15 06:49:51 +00:00
Jeremy Fincher
ad35c62568 Refactored to split up Plugin into Commands and PluginMixin. 2005-02-10 02:46:18 +00:00
Jeremy Fincher
181d0d59c6 Had the more and the messages reversed. 2005-02-10 01:28:38 +00:00
James Vega
f7917bce77 Update class names. 2005-02-09 21:50:12 +00:00
Jeremy Fincher
b0cb616709 Changed callbacks.Privmsg to be callbacks.Plugin, and callbacks.PrivmsgCommandAndRegexp to be callbacks.Plugin. 2005-02-09 07:04:04 +00:00
Jeremy Fincher
70d1b1d5d0 Moved _mores to IrcObjectProxy, where it more rightfully belongs. 2005-02-07 06:28:52 +00:00
Jeremy Fincher
972716069c Removed callbacks.Privmsg; if it is replaced at some later time, it'll be different. 2005-02-07 06:10:41 +00:00
Jeremy Fincher
fdddefe129 Added a listCommands method to PrivmsgRegexp, to allow plugins to list their own commands. 2005-02-04 20:08:38 +00:00
Jeremy Fincher
65f713df4b Removed log.verbose. I never liked it anyway. 2005-02-04 05:59:07 +00:00
Jeremy Fincher
566b273a97 Removed some imports. 2005-02-04 03:25:30 +00:00
Jeremy Fincher
571ff24155 Changed canonicalize to canonize -- thanks Skorobeus! 2005-02-04 03:19:05 +00:00
Jeremy Fincher
e6beec2989 Removed some more unused imports. 2005-02-04 03:11:02 +00:00
James Vega
68d3b830da Remove the use of format() in logger functions since they handle it natively. 2005-02-01 13:43:57 +00:00
James Vega
0fde2393e6 Update usage of utils.iter functions. 2005-01-31 15:22:48 +00:00
James Vega
4d32d36982 Update a few more places that use utils.str functions. 2005-01-31 15:21:22 +00:00