Как в Slack-bot добавить правильно функцию ответа?
Я пытаюсь сделать простого учебного бота для Slack. Использую пакет slack_bolt. Просто хочу чтобы бот повторял фразу за пользователем. У меня получилось это сделать, на основе документации. Но только, если вся обработка происходит внутри одной функции (Этот кусок я закоментировал).
Я же хочу внутри функции только получить введенный текст. Затем обработать его, и только затем запустить функцию "ответа". Но не могу понять, как правильно написать это разделение. Моя вариант "нерабочий"
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
import re
class AD_BOTS(App):
"""
Класс бота ADbot, наследуется из внешнемодульного slack_bolt
"""
pass
app_token = "..."
bot_token = "..."
signing_secret = "..."
app = AD_BOTS(token=bot_token,signing_secret=signing_secret)
# Повторить введенный текст
# Работает, если все делаю внутри одной функции
# @app.message(re.compile("(.)"))
# def say_hello(message, say):
# mytext=message['text']
# say(mytext)
# Но я хочу:
# 1. Получить введенный текст.
# 2. Затем я его обработаю
# 3. И после запустить функцию ответа
# Но вот тут не могу понять, как это сделать правильно
@app.message(re.compile("(.)"))
def say_hello(message):
mytext=message['text']
return mytext
def say_hello2(say):
say(say)
if mytext=='1':
say_hello2(mytext)
if __name__ == "__main__":
# Запускаем обработчик socket mode указав ему экземпляр класса app и app token приложения
SocketModeHandler(app, app_token).start()