как использовать декоратор событий Slack в не app.py - PullRequest
0 голосов
/ 21 июня 2020

Я использовал этот пример кода https://github.com/slackapi/python-slack-events-api/blob/master/example/blueprint/example.py

Но это не окончательный код, который я хочу иметь

Я хочу иметь такой код

в app.py

import os
from flask import Flask
from slackeventsapi import SlackEventAdapter
from slack import WebClient
from slack_ops import SlackOps

# This `app` represents your existing Flask app
app = Flask(__name__)

SLACK_SIGNING_SECRET = os.environ["SLACK_SIGNING_SECRET"]
slack_bot_token = os.environ["SLACK_BOT_TOKEN"]
slack_client = WebClient(slack_bot_token)

# An example of one of your Flask app's routes
@app.route("/slack/events")
def handler():
  ... here it invokes slack_ops.py

slack_ops.py

class SlackOps:

    def __init__(self, event_adaptar):
        self.event_adaptar=event_adaptar


    # Example responder to greetings
    @event_adaptar.on("message")
    def handle_message(event_data):
        message = event_data["event"]
        text=message["text"]
        channel = message["channel"]
        message = "<@{0}> {1}".format(message["user"], text)
        slack_client.chat_postMessage(channel=channel, text=message)


    # Example reaction emoji echo
    @event_adaptar.on("reaction_added")
    def reaction_added(event_data):
        event = event_data["event"]
        emoji = event["reaction"]
        channel = event["item"]["channel"]
        text = ":%s:" % emoji
        slack_client.chat_postMessage(channel=channel, text=text)

Но декоратор не работает. Ошибка говорит, что "event_adaptar" не определен. как я могу достичь того, что мне нужно?

...