A Slack communication channel
Slack input channel implementation. Based on the HTTPInputChannel.
Create a Slack input channel.
Needs a couple of settings to properly authenticate and validate messages. Details to setup:
slack_token- Your Slack Authentication token. You can create a Slack app and get your Bot User OAuth Access Token
slack_channel- the string identifier for a channel to which the bot posts, or channel name (e.g. '#bot-test') If not set, messages will be sent back to the "App" DM channel of your bot's name.
proxy- A Proxy Server to route your traffic through
slack_retry_reason_header- Slack HTTP header name indicating reason that slack send retry request.
slack_retry_number_header- Slack HTTP header name indicating the attempt number.
errors_ignore_retry- Any error codes given by Slack included in this list will be ignored. Error codes are listed
use_threads- If set to
True, your bot will send responses in Slack as a threaded message. Responses will appear as a normal Slack message if set to
slack_signing_secret- Slack creates a unique string for your app and shares it with you. This allows us to verify requests from Slack with confidence by verifying signatures using your signing secret.
Slack retries to post messages up to 3 times based on failure conditions defined here: https://api.slack.com/events-api#failure_conditions
Extracts the metadata from a slack API event.
Slack Documentation: https://api.slack.com/types/event
Requestobject that contains a slack API event in the body.
Metadata extracted from the sent event payload. This includes the output channel for the response, and users that have installed the bot.
Validate a request from Slack for its authenticity.
Checks if the signature matches the one we expect from Slack. Ensures we don't process request from a third-party disguising as slack.
request- incoming request to be checked
True if the request came from Slack.