]> git.cworth.org Git - turbot/blob - turbot/turbot.py
Add target to deploy our lambda code to AWS
[turbot] / turbot / turbot.py
1 #!/usr/bin/env python3
2
3 from flask import Flask
4 from slackeventsapi import SlackEventAdapter
5 import os
6 import threading
7 from turbot.rot import rot_route
8 from turbot.slack import slack_send_message
9 from turbot.sheets import sheets_create
10
11 app = Flask(__name__)
12 app.register_blueprint(rot_route)
13
14 slack_signing_secret = os.environ['SLACK_SIGNING_SECRET']
15 slack_events = SlackEventAdapter(slack_signing_secret, "/slack/events", app)
16
17 @slack_events.on("channel_created")
18 def handle_channel_created(event_data):
19     def later(channel):
20         sheet_url = sheets_create(channel["name"])
21         slack_send_message(channel["id"],
22                            "Auto-created a sheet for this channel: {}"
23                            .format(sheet_url))
24
25     event = event_data["event"]
26     channel = event["channel"]
27     thread = threading.Thread(target=later, kwargs={'channel': channel})
28     thread.start()
29     return
30
31 @slack_events.on("error")
32 def handle_error(error):
33     app.logger.error("Error from Slack: " + str(error))