summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f0ed5cb)
Since Turbot can't send a message to a private channel, instead we
just reply as an ephemeral message to the user.
Displays help on how to use Turbot.
"""
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]
channel_id = body['channel_id'][0]
response_url = body['response_url'][0]
user_id = body['user_id'][0]
to_try = "In response to <@{}> asking `/help me`:\n\n{}\n".format(
user_id, have_you_tried())
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":
+ # We'll try first to reply directly to the channel (for the benefit
+ # of anyone else in the same channel that might be stuck too.
+ #
+ # But if this doesn't work, (direct message or private channel),
+ # then we can instead reply with an ephemeral message by using
+ # the response_url.
+ try:
+ turb.slack_client.chat_postMessage(
+ channel=channel_id, text=to_try)
+ except SlackApiError:
requests.post(response_url,
json = {"text": to_try},
headers = {"Content-type": "application/json"})
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)
return lambda_ok
help_string = turbot_help(args)