Show command prefix in usage strings (commands.py)
This commit is contained in:
parent
5d47e7e895
commit
79ff20b66a
1 changed files with 14 additions and 7 deletions
|
@ -194,7 +194,11 @@ class Module(ModuleManager.BaseModule):
|
||||||
|
|
||||||
min_args = hook.kwargs.get("min_args")
|
min_args = hook.kwargs.get("min_args")
|
||||||
if min_args and len(args_split) < min_args:
|
if min_args and len(args_split) < min_args:
|
||||||
usage = self._get_usage(hook, command)
|
command_prefix = ""
|
||||||
|
if is_channel:
|
||||||
|
command_prefix = self._command_prefix(event["server"],
|
||||||
|
target)
|
||||||
|
usage = self._get_usage(hook, command, command_prefix)
|
||||||
if usage:
|
if usage:
|
||||||
stderr.write("Not enough arguments, usage: %s" %
|
stderr.write("Not enough arguments, usage: %s" %
|
||||||
usage).send(command_method)
|
usage).send(command_method)
|
||||||
|
@ -224,6 +228,10 @@ class Module(ModuleManager.BaseModule):
|
||||||
target.buffer.skip_next()
|
target.buffer.skip_next()
|
||||||
event.eat()
|
event.eat()
|
||||||
|
|
||||||
|
def _command_prefix(self, server, channel):
|
||||||
|
return channel.get_setting("command-prefix",
|
||||||
|
server.get_setting("command-prefix", "!"))
|
||||||
|
|
||||||
@utils.hook("received.message.channel", priority=EventManager.PRIORITY_LOW)
|
@utils.hook("received.message.channel", priority=EventManager.PRIORITY_LOW)
|
||||||
def channel_message(self, event):
|
def channel_message(self, event):
|
||||||
commands_enabled = event["channel"].get_setting("commands", True)
|
commands_enabled = event["channel"].get_setting("commands", True)
|
||||||
|
@ -231,8 +239,7 @@ class Module(ModuleManager.BaseModule):
|
||||||
return
|
return
|
||||||
prefixed_commands = event["channel"].get_setting("prefixed-commands", True)
|
prefixed_commands = event["channel"].get_setting("prefixed-commands", True)
|
||||||
|
|
||||||
command_prefix = event["channel"].get_setting("command-prefix",
|
command_prefix = self._command_prefix(event["server"], event["channel"])
|
||||||
event["server"].get_setting("command-prefix", "!"))
|
|
||||||
if event["message_split"][0].startswith(command_prefix):
|
if event["message_split"][0].startswith(command_prefix):
|
||||||
if not prefixed_commands:
|
if not prefixed_commands:
|
||||||
return
|
return
|
||||||
|
@ -252,7 +259,7 @@ class Module(ModuleManager.BaseModule):
|
||||||
|
|
||||||
def _get_help(self, hook):
|
def _get_help(self, hook):
|
||||||
return hook.get_kwarg("help", None) or hook.docstring.description
|
return hook.get_kwarg("help", None) or hook.docstring.description
|
||||||
def _get_usage(self, hook, command):
|
def _get_usage(self, hook, command, command_prefix=""):
|
||||||
usage = hook.get_kwarg("usage", None)
|
usage = hook.get_kwarg("usage", None)
|
||||||
if usage:
|
if usage:
|
||||||
usages = [usage]
|
usages = [usage]
|
||||||
|
@ -308,15 +315,15 @@ class Module(ModuleManager.BaseModule):
|
||||||
"""
|
"""
|
||||||
command_prefix = ""
|
command_prefix = ""
|
||||||
if event["is_channel"]:
|
if event["is_channel"]:
|
||||||
command_prefix = event["target"].get_setting("command-prefix",
|
command_prefix = self._command_prefix(event["server"],
|
||||||
event["server"].get_setting("command-prefix", "!"))
|
event["target"])
|
||||||
|
|
||||||
command = event["args_split"][0].lower()
|
command = event["args_split"][0].lower()
|
||||||
if command in self.events.on("received").on(
|
if command in self.events.on("received").on(
|
||||||
"command").get_children():
|
"command").get_children():
|
||||||
command_str = "%s%s" % (command_prefix, command)
|
command_str = "%s%s" % (command_prefix, command)
|
||||||
hooks = self.events.on("received.command").on(command).get_hooks()
|
hooks = self.events.on("received.command").on(command).get_hooks()
|
||||||
usage = self._get_usage(hooks[0], command_str)
|
usage = self._get_usage(hooks[0], command_str, command_prefix)
|
||||||
|
|
||||||
if usage:
|
if usage:
|
||||||
event["stdout"].write("Usage: %s" % usage)
|
event["stdout"].write("Usage: %s" % usage)
|
||||||
|
|
Loading…
Reference in a new issue