JavascriptでSlackbotにリアクションをさせよう
本記事はJavaScriptでSlackbotにリアクションさせる方法を紹介するものです。
Pythonでリアクションをさせる方法については「Slackbotにリアクションをさせる〜PythonでのBot開発〜」をお読みください。
Slackの絵文字リアクション機能について
Slackの機能で自分や他の人に投稿したコメントに対してマークをつけることができます。
リアクションのマークをつけることで相手に同意や反対の意思を示すことが可能です。
下記のように一つのコメントに対して複数のリアクションをすることも可能です。
JavaScriptでSlackbotにリアクションをさせる方法
◆Botのリアクションの記述
JavaScriptでSlackbotにリアクションさせる場合の記述例は以下の通りです。
controller.hears(['ご機嫌いかが'], 'direct_message,direct_mention,mention', function(bot, message) {
// nameに絵文字を指定する
bot.api.reactions.add({
timestamp: message.ts,
channel: message.channel,
name: 'smile',
}, function(err, res) {
if (err) {
bot.botkit.log('Failed to add emoji reaction :(', err);
}
});
});
このままだとかなり長いので関数化しておきましょう。
controller.hears(['ご機嫌いかが'], 'direct_message,direct_mention,mention', function(bot, message) {
bot_react(bot, message, 'smile')
});
function bot_react(bot, message, emoji) {
bot.api.reactions.add({
timestamp: message.ts,
channel: message.channel,
name: emoji,
}, function(err, res) {
if (err) {
bot.botkit.log('Failed to add emoji reaction :(', err);
}
});
}
1度に複数のリアクションをさせることも可能です。
controller.hears(['ご機嫌いかが'], 'direct_message,direct_mention,mention', function(bot, message) {
bot_react(bot, message, 'smile')
bot_react(bot, message, 'robot_face')
});
絵文字について
Slack絵文字の代替文字を指定します。
代替文字は以下の画面の下に表示されている「::」で囲まれている文字です。
Slack内から打つ場合は、「:スマイル:」など日本語での記述も可能ですが、Botにリアクションさせる場合はNGです。
◆この記述はエラーとなる
@respond_to('^ご機嫌いかが?$')
def question_1(message):
# 日本語はNG
message.react('スマイル')
以上、JavaScriptでBotのリアクションをさせる方法についてでした。
Author And Source
この問題について(JavascriptでSlackbotにリアクションをさせよう), 我々は、より多くの情報をここで見つけました https://qiita.com/miyabikno/items/9f7c3ba07fa496c3b5e6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .