コマンドのリスニングと応答
スラッシュコマンドが実行されたリクエストをリッスンするには、command()
メソッドを使用します。このメソッドでは str
型の command_name
の指定が必要です。
コマンドリクエストをアプリが受信し確認したことを Slack に通知するため、ack()
を呼び出す必要があります。
スラッシュコマンドに応答する方法は 2 つあります。1 つ目は say()
を使う方法で、文字列または JSON のペイロードを渡すことができます。2 つ目は respond()
を使う方法です。これは response_url
がある場合に活躍します。これらの方法はアクションへの応答セクションで詳しく説明しています。
アプリの設定でコマンドを登録するときは、リクエスト URL の末尾に /slack/events
をつけます。
# echoコマンドは受け取ったコマンドをそのまま返す
@app.command("/echo")
def repeat_text(ack, respond, command):
# command リクエストを確認
ack()
respond(f"{command['text']}")