)
from turbot.round import round_quoted_puzzles_titles_answers
from turbot.help import turbot_help
+from turbot.have_you_tried import have_you_tried
import turbot.rot
import turbot.sheets
import turbot.slack
Displays help on how to use Turbot.
"""
+ channel_name = body['channel_name'][0]
channel_id = body['channel_id'][0]
response_url = body['response_url'][0]
+ user_id = body['user_id'][0]
+
+ # Process "/help me" first. It calls out to have_you_tried rather
+ # than going through our help system.
+ #
+ # Also, it reports in the current channel, (where all other help
+ # output is reported privately to the invoking user).
+ if args == "me":
+ to_try = "In response to <@{}> asking `/help me`:\n\n{}\n".format(
+ user_id, have_you_tried())
+
+ # If this is a direct message then there's not a usable channel_id
+ # and we have to use the response_url instead
+ if channel_name == "directmessage":
+ requests.post(response_url,
+ json = {"text": to_try},
+ headers = {"Content-type": "application/json"})
+ else:
+ turb.slack_client.chat_postMessage(
+ channel=channel_id, text=to_try)
+ return lambda_ok
help_string = turbot_help(args)
- # The "/help me" command is special in that it reports in the
- # current channel, (where all other commands report privately to
- # the invoking user).
- if args == "me":
- turb.slack_client.chat_postMessage(
- channel=channel_id, text=help_string)
- else:
- requests.post(response_url,
- json = {"text": help_string},
- headers = {"Content-type": "application/json"})
+ requests.post(response_url,
+ json = {"text": help_string},
+ headers = {"Content-type": "application/json"})
return lambda_ok