Pythonで作業効率化

【Python】Slackbotにリアクションをさせる

本記事では、PythonでSlackbotに絵文字でリアクションさせる方法について紹介します。

Slackbotは会話だけでなく以下のように絵文字でリアクションをさせることも可能です。
リアクションする

簡単なコード実装で実装するので本記事を参考にして作ってみてください。

PythonでのSlackbot作成の基本については「SlackbotをPythonで作成しよう」をお読みください。

◆関連記事
JavaScriptでSlackbotにリアクションをさせよう

Slackのリアクション機能とは?

Slackのリアクションは自分や他の人に投稿したコメントに対してマークをつけることができる機能です。

リアクションのマークをつけることで相手に同意や反対の意思を示すことができます。

下記のように1つのコメントに対して複数のリアクションをすることもできます。
昼はカレーかラーメンか

【Python】Slackbotに絵文字でリアクションさせる方法

Slackbotにメッセージで応答させる場合は、「reply」のメソッドを使用していました。

◆Botの応答の記述

@respond_to('^ご機嫌いかが?$')
def question_1(message):
message.reply('元気です!')

Slackbotにリアクションさせる処理を加える場合は「reply」メソッドを「react」に置き換えるだけでOKです

◆Botのリアクションの記述

@respond_to('^ご機嫌いかが?$')
def question_1(message):
message.react('smile')

◆実行結果
リアクションする

「react」の引数にはSlack絵文字の代替文字を指定します。
代替文字は以下の画面の下に表示されている「::」で囲まれている文字です。

リアクション一覧

Slack内から打つ場合は、「:スマイル:」など日本語での記述も可能ですが、Botにリアクションさせる場合はNGです。

◆この記述はエラーとなる

@respond_to('^ご機嫌いかが?$')
def question_1(message):
# 日本語はNG
message.react('スマイル')

Slackbotのリアクションのバリエーション

Slackbotのリアクションのバリエーションについて紹介します。

複数のリアクションする

応答の処理を並べることで複数のリアクションをすることも可能です。

◆記述方法

@respond_to('^今日の昼ご飯はカレーでいい?$')
def question_2(message):
message.react('bangbang')
message.react('thinking_face')
message.react('woman-gesturing-no')

◆実行結果
複数のリアクションをつける

聞いた言葉によってリアクションを変える

判定文を追加することで聞いた言葉によってリアクションを変えることもできます。

◆記述方法

@respond_to('^今日の昼ご飯は(カレー|ラーメン)でいい?$')
def question_4(message, group):
if group == 'ラーメン':
message.react('ok_hand')
else:
message.react('bangbang')
message.react('thinking_face')
message.react('woman-gesturing-no')

◆実行結果
a

以上、Botのリアクションについてでした。

SlackbotまとめTOP>>Slackbotの作り方マニュアル〜Python編〜

こちらの記事も読まれています

  • この記事を書いた人

みやびの

住んでいるところ:神奈川県。 プログラミング歴は13年ほど。 ※プログラミングに関する無料相談・質問への回答は行っていません。

-Pythonで作業効率化
-

Copyright© みやびのどっとぴーわい , 2024 All Rights Reserved Powered by AFFINGER5.