34 lines
728 B
Python
34 lines
728 B
Python
|
#!/usr/bin/env python3
|
||
|
"""
|
||
|
Displays help docs and examples for commands, as well as lists all commands
|
||
|
available.
|
||
|
"""
|
||
|
import random
|
||
|
|
||
|
from module import commands, example
|
||
|
|
||
|
@commands('help', 'commands')
|
||
|
@example('.help tell')
|
||
|
def help(bot, trigger):
|
||
|
"""Shows a command's documentation, and possibly an example."""
|
||
|
if trigger.group(2):
|
||
|
name = trigger.group(2)
|
||
|
name = name.lower()
|
||
|
if name not in bot.doc:
|
||
|
return
|
||
|
doc = bot.doc[name]
|
||
|
docstring, examples = doc
|
||
|
if examples:
|
||
|
ex = random.choice(examples)
|
||
|
|
||
|
bot.msg(docstring)
|
||
|
if ex:
|
||
|
bot.msg("Ex. In: " + ex[0])
|
||
|
if ex[1]:
|
||
|
bot.msg("Ex. Out: " + ex[1])
|
||
|
|
||
|
else:
|
||
|
cmds = sorted(bot.doc.keys())
|
||
|
msg = "Available commands: " + ", ".join(cmds)
|
||
|
bot.msg(msg)
|