34 lines
728 B
Python
Executable File
34 lines
728 B
Python
Executable File
#!/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)
|