added a usage command to show usage help for commands.
This commit is contained in:
parent
f19389ec8c
commit
e8875ef17d
1 changed files with 19 additions and 1 deletions
|
@ -47,7 +47,9 @@ class Module(object):
|
||||||
bot.events.on("received").on("message").on("private").hook(
|
bot.events.on("received").on("message").on("private").hook(
|
||||||
self.private_message)
|
self.private_message)
|
||||||
bot.events.on("received").on("command").on("help").hook(self.help,
|
bot.events.on("received").on("command").on("help").hook(self.help,
|
||||||
help="Show help on commands")
|
help="Show help for commands")
|
||||||
|
bot.events.on("received").on("command").on("usage").hook(self.usage,
|
||||||
|
help="Show usage help for commands", min_args=1)
|
||||||
bot.events.on("received").on("command").on("more").hook(self.more,
|
bot.events.on("received").on("command").on("more").hook(self.more,
|
||||||
help="Get more output from the last command")
|
help="Get more output from the last command")
|
||||||
bot.events.on("new").on("user", "channel").hook(self.new)
|
bot.events.on("new").on("user", "channel").hook(self.new)
|
||||||
|
@ -147,6 +149,10 @@ class Module(object):
|
||||||
hooks = self.bot.events.on("received").on("command").on(command).get_hooks()
|
hooks = self.bot.events.on("received").on("command").on(command).get_hooks()
|
||||||
if hooks and "help" in hooks[0].kwargs:
|
if hooks and "help" in hooks[0].kwargs:
|
||||||
event["stdout"].write("%s: %s" % (command, hooks[0].kwargs["help"]))
|
event["stdout"].write("%s: %s" % (command, hooks[0].kwargs["help"]))
|
||||||
|
else:
|
||||||
|
event["stderr"].write("No help available for %s" % command)
|
||||||
|
else:
|
||||||
|
event["stderr"].write("Unknown command '%s'" % command)
|
||||||
else:
|
else:
|
||||||
help_available = []
|
help_available = []
|
||||||
for child in self.bot.events.on("received").on("command").get_children():
|
for child in self.bot.events.on("received").on("command").get_children():
|
||||||
|
@ -156,6 +162,18 @@ class Module(object):
|
||||||
help_available = sorted(help_available)
|
help_available = sorted(help_available)
|
||||||
event["stdout"].write("Commands: %s" % ", ".join(help_available))
|
event["stdout"].write("Commands: %s" % ", ".join(help_available))
|
||||||
|
|
||||||
|
def usage(self, event):
|
||||||
|
command = event["args_split"][0].lower()
|
||||||
|
if command in self.bot.events.on("received").on(
|
||||||
|
"command").get_children():
|
||||||
|
hooks = self.bot.events.on("received").on("command").on(command).get_hooks()
|
||||||
|
if hooks and "usage" in hooks[0].kwargs:
|
||||||
|
event["stdout"].write("Usage: %s %s" % (command, hooks[0].kwargs["usage"]))
|
||||||
|
else:
|
||||||
|
event["stderr"].write("No usage help available for %s" % command)
|
||||||
|
else:
|
||||||
|
event["stderr"].write("Unknown command '%s'" % command)
|
||||||
|
|
||||||
def more(self, event):
|
def more(self, event):
|
||||||
if event["target"].last_stdout and event["target"].last_stdout.has_text():
|
if event["target"].last_stdout and event["target"].last_stdout.has_text():
|
||||||
event["target"].last_stdout.send()
|
event["target"].last_stdout.send()
|
||||||
|
|
Loading…
Reference in a new issue