こんにちは、NoCodeCampのツバサです。今回 NADJAの濱口さんが、社内で、従業員にできた投稿で、
ギフト券抽選でプレゼントみたいなことをやっていて、面白そうだったので私も実装してみました。
私の運営しているNoCodeCampでは、ノーコードで作ったものをサロン会員が投稿しあうというチャンネルがあり、ここに投稿した人に抽選でギフト券プレゼントみたいにできればいいかなと思い、Integromatで実装してます。
今回のやりたいこと
特定のSlackチャンネルでコメントがあったら、Botで自動的にコメントをする機能を実装していきます。
事前知識/目的(データセット)
IntegromatとSlackで実装していきます。
Integromatは、こんな実装をしています。
モジュールを作っていく
Slackは、New Eventをつくります。これは、投稿があったらすぐにBotがコメントする(Instance)を実装するためです。
つぎに、ToolsのVariable設定します。ここで、乱数調整を行います。
最終的に、適当な数を出せば良いので、ここでは以下の式を入れてます。
Randomは、0~1 までの小数点の数をランダムで出力するため、それを掛けてなるべく、0~1の数字が出力されるようにします。Lengthのところは、10 などでも実装できますが、
floor は、1.2 などの小数点を 1 の 整数にしてくれる関数です。これで、Toolsのあとは、0~9の値が表示されます。正直、ここが一番山場です。
Integromatの関数は、こちらを参考下さい。
Toolsで出た数字によって、条件分岐をします。例の場合は、5なら上(あたり)、5以下なら下へとSetFilerをかけます。
Fileterの設定(あたりの場合)
はずれの場合には、以下のところに☑を入れるだけでOKです。
あたり、はずれ両方にSlackのコメントがつくようにしましょう。
Slackのモジュールから、CreateMessegeを入れます。
コメントに対して、スレッドを付けたい場合には、Thread Message IDに入れるのを忘れずにしましょう。
Slackの投稿をお洒落にしたい場合には、Slack Block Kit Builder のテンプレートを使って下さい。
最後にBotのコメントには反応しないようにするします
流れとしては、Slackに投稿がある→乱数で0~9までを出力→5が出たら当たりをSlackにコメントするというようにしてます。基本的な実装はこれでおしまいです。(とても簡単です)
ただし、このままだと、Botが投稿したものに対して、さらにBotが投稿してしまうので、
setFilter でbotのSlackID【以外】(Uから始まるはず)を反映するようにしてください。
まとめ
今回は、IntegromatとSlackネタを紹介しました。サクッと実装できるので、これは結構お勧めです。
他にも、おみくじや、ビンゴなどにも実装できそうですね。SlackはInstance機能が無いと思っている人もいるのではないかしら、New Eventモジュールの存在だけでも覚えると便利ですよ。
それでは、今日も良いノーコードライフを♪