]> git.cworth.org Git - turbot/blob - turbot/turbot.py
Initial implement of auto-creation of Google sheets
[turbot] / turbot / turbot.py
1 #!/usr/bin/env python3
2
3 from flask import Flask
4 from slackeventsapi import SlackEventAdapter
5 import os
6 from turbot.rot import rot_route
7 from turbot.slack import slack_send_message
8 from turbot.sheets import sheets_create
9
10 app = Flask(__name__)
11 app.register_blueprint(rot_route)
12
13 slack_signing_secret = os.environ['SLACK_SIGNING_SECRET']
14 slack_events = SlackEventAdapter(slack_signing_secret, "/slack/events", app)
15
16 @slack_events.on("channel_created")
17 def handle_channel_created(event_data):
18     event = event_data["event"]
19     channel = event["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 @slack_events.on("error")
26 def handle_error(error):
27     app.logger.error("Error from Slack: " + str(error))