メッセージのリスニング
あなたのアプリがアクセス権限を持つメッセージの投稿イベントをリッスンするには 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?")