Rewrite of the help output. now it will PM you

This commit is contained in:
Luke Robles 2017-09-02 00:56:34 -04:00
parent 3702b58de4
commit 03eef33b9a
2 changed files with 33 additions and 24 deletions

View File

@ -105,8 +105,9 @@ async def on_message(message):
await client.send_message(message.channel, excuse.get_excuse()) await client.send_message(message.channel, excuse.get_excuse())
if message.content.startswith('!help'): if message.content.startswith('!help'):
await client.send_message(message.channel, "ok {}, check your private messages".format(message.author.mention))
await client.send_message( await client.send_message(
message.channel, message.author,
help_methods.parse_message(message.content) help_methods.parse_message(message.content)
) )

View File

@ -10,56 +10,64 @@ def get_help_message(method):
supported_methods = { supported_methods = {
'8ball': [ '8ball': [
'Ask dragon bot a question and it will give you an 8ball response', 'Ask dragon bot a question and it will give you an 8ball response',
'\n\nUsage: !8ball Will I win the lottery tomorrow?' '\nUsage: !8ball Will I win the lottery tomorrow?'
], ],
'decide': [ 'decide': [
'Dragon-bot will help make the tough decisions for you', 'Dragon-bot will help make the tough decisions for you',
'\n\n!decide option 1 or option 2.\n\nIf thre is only', ' If there is only one option, it will give you a yes or no',
'one option, it will give you a yes or no' '\nUsage: !decide cake or pie\n!decide should I do my homework'
], ],
'define': [ 'define': [
'Returns a definiton of a word from urban dictionary', 'Returns a definiton of a word from urban dictionary',
'\n\nUsage: !define loli' '\nUsage: !define loli'
], ],
'docker': [ 'docker': [
'Two supported actions: logs and restart\n\nlogs: Shows you the', 'Two supported actions: logs and restart\nlogs: Shows you the',
'last X number of lines from the minecraft server. If no number', 'last X number of lines from the minecraft server. If no number',
'is specified, defaults to 10.\n\nrestart: will restart the min', ' is specified, defaults to 10.\nrestart: will restart the min',
'ecraft server if something is fucky' 'ecraft server.'
], ],
'excuse': [ 'excuse': [
'Generates a random excuse you can give your boss'], 'Generates a random excuse you can give your boss',
'\nUsage: !excuse'
],
'help': [ 'help': [
'Prints out a list of everything dragon-bot can do' 'Shows you this message'
], ],
'lewd': [ 'lewd': [
'Returns a URL for a lewd image.', 'Returns a URL for a lewd image.',
'Can only be used in NSFW channels' 'Can only be used in NSFW channels.',
'\nUsage: !lewd'
], ],
'purge': [ 'purge': [
'Deletes the last 20 messages you sent from the channel you', 'By default, will delete your last 20 messages. You can override this',
'typed purge in, unless otherwise specified. eg. !purge 8' ' with your own number. \nUsage: !purge or !purge 15'
], ],
'wallpaper': [ 'wallpaper': [
'Returns the URL for a 4k wallpaper. You can enter', 'Returns the URL for a 4k wallpaper. You can enter',
'a search term as well, for example, !wallpaper, or', 'a search term as well. Supports multiple search terms as well',
', !wallpaper flowers. Supports multiple tags.' '\nUsage: !wallpaper flowers or !wallpaper mountain flowers sky '
], ],
'message': [ 'message': [
'You can ask me a question directly and I will do my best to answer it.', 'You can ask me a question directly and I will do my best to answer it.',
'\nUsage:\n\n@dragon-bot what is the capital of France?\n@dragon-bot 94*37', '\nUsage: @dragon-bot what is the capital of France?'
'\n@dragon-bot how many calories in a bottle of wine?'
] ]
} }
# Print out every help method
if method == 'show_all': if method == 'show_all':
count = len(supported_methods) # Might be a better way to do this, but build a list of method : description
keys = ', '.join(supported_methods.keys()) build_message = []
for key, value in supported_methods.items():
message = "I currently have `{}` methods,\n\n```{}```\n\nYou can get in formation about a specific method by typing !help <method>".format(count, keys) build_message.append("\n{} : {}\n".format(key, ' '.join(supported_methods[key])))
# Join every element of the list with a space
message = ' '.join(build_message)
else: else:
message = ' '.join(supported_methods[method]) # Join key : value of the help method they passed in
return message message = "{} : {}".format(method, ' '.join(supported_methods[method]))
# Return the message wrapped in css formatting so we get pretty colors
return "```css\n{}\n```".format(message)
def parse_message(message): def parse_message(message):
if len(message.split()) > 1: if len(message.split()) > 1:
@ -68,6 +76,6 @@ def parse_message(message):
explanation = get_help_message(method) explanation = get_help_message(method)
except KeyError: except KeyError:
return "I can't help you with that" return "I can't help you with that"
return "```{}```".format(explanation) return "```css\n{}\n```".format(explanation)
return get_help_message('show_all') return get_help_message('show_all')