メッセージのリスニング
あなたのアプリがアクセス権限を持つメッセージの投稿イベントをリッスンするには message()
メソッドを利用します。このメソッドは type
が message
ではないイベントを処理対象から除外します。
message()
の引数には str
型または re.Pattern
オブジェクトを指定できます。この条件のパターンに一致しないメッセージは除外されます。
# '👋' が含まれるすべてのメッセージに一致
@app.message(":wave:")
def say_hello(message, say):
user = message['user']
say(f"Hi there, <@{user}>!")
正規表現パターンの利用
文字列の代わりに re.compile()
メソッドを使用すれば、より細やかな条件指定ができます。
import re
@app.message(re.compile("(hi|hello|hey)"))
def say_hello_regex(say, context):
# 正規表現のマッチ結果は context.matches に設定される
greeting = context['matches'][0]
say(f"{greeting}, how are you?")