#!/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.commands: return doc = bot.commands[name].doc docstring, examples = doc if examples: ex = random.choice(examples) bot.msg(docstring) if ex[0]: bot.msg("Ex. In: " + ex[0]) if ex[1]: bot.msg("Ex. Out: " + ex[1]) else: if trigger.owner: cmds = [cmd for _, cmd in bot.commands.items()] elif trigger.admin: cmds = [cmd for _, cmd in bot.commands.items() if cmd.priv <= 5] else: cmds = [cmd for _, cmd in bot.commands.items() if cmd.priv < 5] cmds = [cmd.name for cmd in cmds if not cmd.alias] cmds = sorted(cmds) msg = "Available commands: " + ", ".join(cmds) bot.msg(msg)