Send help message in case of missing/wrong cmd parameters

This commit is contained in:
Twentysix 2016-02-18 13:12:32 +01:00
parent 3588993af7
commit 5412c8a28f

19
red.py
View File

@ -55,6 +55,23 @@ async def on_message(message):
if user_allowed(message): if user_allowed(message):
await bot.process_commands(message) await bot.process_commands(message)
@bot.event
async def on_command_error(error, ctx):
if isinstance(error, commands.MissingRequiredArgument):
await send_cmd_help(ctx)
elif isinstance(error, commands.BadArgument):
await send_cmd_help(ctx)
async def send_cmd_help(ctx):
if ctx.invoked_subcommand:
pages = bot.formatter.format_help_for(ctx, ctx.invoked_subcommand)
for page in pages:
await bot.send_message(ctx.message.channel, page)
else:
pages = bot.formatter.format_help_for(ctx, ctx.command)
for page in pages:
await bot.send_message(ctx.message.channel, page)
@bot.command() @bot.command()
@checks.is_owner() @checks.is_owner()
async def load(*, module : str): async def load(*, module : str):
@ -160,7 +177,7 @@ async def setowner(ctx):
@checks.is_owner() @checks.is_owner()
async def shutdown(): async def shutdown():
"""Shuts down Red""" """Shuts down Red"""
exit(1) await bot.logout()
@bot.command() @bot.command()
@checks.is_owner() @checks.is_owner()