Commit Graph

131 Commits

Author SHA1 Message Date
Valentin Lorentz
9288b16cd2 Fix 918b8a3c01 on Windows. 2013-08-09 12:21:24 +02:00
Valentin Lorentz
918b8a3c01 commands.py: Add heap_size argument to process(). 2013-08-09 12:16:24 +02:00
Valentin Lorentz
29dc1438a0 commands.py: Fix error message of getSomethingWithoutSpaces. 2013-07-16 20:20:08 +00:00
Valentin Lorentz
43563bcc1c core & Factoids: Allow commands to disable doc-availability checks for programmatically setting it. 2013-06-01 17:13:55 +02:00
Valentin Lorentz
f82a7c7e17 Issue error message at plugin load if a command has no docstring. 2013-06-01 16:35:47 +02:00
Valentin Lorentz
c56f26b91d Wrap now internationalizes docstrings. 2013-05-20 17:52:41 +02:00
Valentin Lorentz
66025cf7e4 New syntax for wrap(). Now supports being used as a Python decorator with arguments.
For example, in Admin, "join = wrap(join, ['validChannel', additional('something')])" could become "@wrap(['validChannel', additional('something')])".
2013-05-20 17:40:04 +02:00
Valentin Lorentz
1090c4623f Factoids: Add supybot.plugins.Factoids.requireVoice. Closes GH-378. 2013-05-17 17:47:43 +02:00
Valentin Lorentz
ed62c9efb1 commands.py: Rename 'isGranted' to 'haveHalfop+' and add 'haveVoice+'. 2013-05-17 17:36:11 +02:00
Valentin Lorentz
d13015dfb5 Fix tests with Travis. 2013-04-11 19:09:50 +02:00
Valentin Lorentz
916a85c965 core: Various Python 3 compatibility fixes. 2013-03-25 19:15:08 +01:00
Valentin Lorentz
75f19a9f50 core: Add docstring to commands.wrap. 2013-02-01 20:38:18 +01:00
Valentin Lorentz
3dba9088b0 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	INSTALL
	plugins/ChannelLogger/README.txt
	plugins/ChannelStats/README.txt
	plugins/Google/plugin.py
	plugins/Google/test.py
	plugins/Plugin/test.py
	plugins/Web/test.py
	setup.py
	src/callbacks.py
	src/ircdb.py
	src/irclib.py
	src/utils/str.py
	test/test_irclib.py
2013-01-01 21:11:24 +01:00
Valentin Lorentz
93586d71f4 Add support for extended banmasks. Closes GH-105. 2012-12-02 19:04:48 +01:00
Valentin Lorentz
59d6d4da03 commands.py: Fix name conflict. 2012-10-29 20:16:08 +01:00
Valentin Lorentz
d3da0c2efc commands.py: Add 'channelOrGlobal' converter. 2012-10-18 19:30:35 +02:00
James McCoy
82ecf36fcd Update my name/contact information
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-09-01 10:16:48 -04:00
Valentin Lorentz
82fdc2dda3 core: Internationalize some strings & update l10n-fr & change translation for 'is not a valid %s'. 2012-07-30 11:35:44 +02:00
skizzhg
977f3f5110 Fix typoes in core. 2012-04-23 21:55:21 +02:00
Valentin Lorentz
570e30f1b7 Pass supybot.protocols.irc.strictRfc to ircutils.isNick in 'nick' converter. Closes GH-312. 2012-02-11 09:03:52 +01: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
Daniel Folkinshteyn
3fa45b3b5f Secure some more commands which take a regexp from untrusted user input.
Namely todo.search, note.search, dunno.search.

Conflicts:

	plugins/Note/plugin.py
	plugins/Todo/plugin.py
	src/version.py
2011-08-13 01:59:18 +02:00
Daniel Folkinshteyn
3526d5dabf src/commands.py: make subprocesses raise an error on timeout, rather than return a string
Conflicts:

	src/commands.py
2011-08-13 01:53:58 +02:00
Valentin Lorentz
4ebcda024b Bug fix (I didn't test the previous commit correctly) 2011-07-01 16:11:37 +02:00
Valentin Lorentz
41514bafdd Core & Channel & Topic: Add the isGranted converter. Closes GH-39. 2011-07-01 15:58:39 +02:00
Valentin Lorentz
32b21cbc18 Add a clue in solving issue with wrapping wrapped commands 2011-03-01 08:47:53 +01:00
Valentin Lorentz
e8814fc07a Add checkCapabilityButIgnoreOwner converter 2011-01-27 19:32:43 +01:00
Valentin Lorentz
e705d3b5a9 Fix name conflict with _() 2011-01-26 10:01:58 +01:00
Valentin Lorentz
0998c2a43f Fix bug in src/commands.py (forgotten comma) 2010-11-14 14:36:02 +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
288d7c6e02 Update plugins to ignore all non-ACTION CTCP messages.
Also update commands.urlSnarfer to do the same, which allows us to revert
"Don't bother snarfing URLs from non-Action CTCP messages."

This reverts commit 3282e3407e.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-01-28 08:14:44 -05:00
James Vega
8a98653d3b Allow Banmask.makeBanmask to work when dynamic.channel is None.
This gives back the ability to generate a banmask based on the global banmask
settings instead of per-channel settings.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-01 10:26:08 -05:00
James Vega
56fbbe9f36 commands.py: Explain the odd userHostmask check in getOtherUser
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-23 18:29:49 -04:00
James Vega
459bc616b1 Reply with an error when getBanmask doesn't have a valid channel.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-02 07:40:33 -04:00
James Vega
260570bd4f Ensure getBanmask has a channel variable as per makeBanmask's requirement
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-01 23:29:42 -04:00
Štěpán Němec
2fa0f6dedc commands.py: Sort the items of the wrappers dictionary
(just to make it readable)

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-20 11:20:48 -04:00
James Vega
abb83d4863 Make getBanmask use protocols.irc.banmask.makeBanmask 2009-03-11 13:37:27 -04:00
Jeremy Fincher
d08eee8f13 Made httpUrl arg wrapper add http:// if that produces a valid http url. 2009-03-11 13:37:25 -04:00
James Vega
2f15eb2418 getHaveOp needs to call getChannel if state.channel isn't set 2009-03-11 13:37:25 -04:00
James Vega
a3e4fc5b1d Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
James Vega
17afef9c30 src/commands: Change the rest context so that it raises an IndexError when no arguments are available.
This fixes the problem in Dunno (and any other plugin that uses plugins.ChannelIdDatabasePlugin) where calling the search command using only the getopts and no additional arguments will cause the command to fail and the help to be displayed.
2005-07-27 21:57:17 +00:00
James Vega
e4c9381f7b src/commands: Update first so that state.errored will not prevent the bot from responding when the first converter fails. 2005-06-13 17:27:15 +00:00
Jeremy Fincher
4da1f38235 Fixed the security issue nicktastic reported, and made sure that if, for some reason, an error doesn't raise an exception, it still stops the calling of the command function. 2005-06-01 20:13:33 +00:00
Jeremy Fincher
c1dcb47e3f Added another elucidating comment. 2005-05-30 19:20:17 +00:00
Jeremy Fincher
0b848199b5 Fixed some style issues with logging calls. 2005-05-18 04:18:35 +00:00
James Vega
994cff5c05 Update a couple missed changeFunctionName calls. 2005-05-16 03:25:43 +00:00
Jeremy Fincher
2394005cdd Moved utils.changeFunctionName to utils.python. 2005-05-15 17:17:26 +00:00
James Vega
9971e991fe Fix the modelines. 2005-03-23 20:07:45 +00:00
James Vega
aefcd594df Move structures to utils/ 2005-03-12 18:01:47 +00:00
Jeremy Fincher
fc2a18bdb3 Added a name= keyword argument for commands.wrap, to override the name of the method being wrapped. 2005-02-28 07:58:46 +00:00