if (resp.status_code != 200):
app.logger.error("Error posting request to Slack: " + resp.text)
else:
- try:
- slack_client.chat_postMessage(channel=channel, text=text)
- except SlackApiError as e:
- app.logger.error("Slack API error: " + e.response["error"])
+ slack_send_message(channel, text)
+
+def slack_send_message(channel, text):
+ """Send a Slack message to a specified channel.
+
+ Note: If flask is in debug mode, this function will just print the
+ text to stdout."""
+
+ app = current_app
+
+ if (app.debug):
+ print("Sending message to channel '{}': {}".format(channel, text))
+ return
+
+ try:
+ slack_client.chat_postMessage(channel=channel, text=text)
+ except SlackApiError as e:
+ app.logger.error("Slack API error: " + e.response["error"])
from slackeventsapi import SlackEventAdapter
import os
from turbot.rot import rot_route
+from turbot.slack import slack_send_message
app = Flask(__name__)
app.register_blueprint(rot_route)
slack_signing_secret = os.environ['SLACK_SIGNING_SECRET']
slack_events = SlackEventAdapter(slack_signing_secret, "/slack/events", app)
+@slack_events.on("channel_created")
+def handle_channel_created(event_data):
+ event = event_data["event"]
+ channel = event["channel"]
+ slack_send_message(channel["id"],
+ "Cool. You made a channel named {}"
+ .format(channel["name"]))
+
@slack_events.on("error")
def handle_error(error):
app.logger.error("Error from Slack: " + str(error))