Slackにコメントで、抽選で電子マネーを配るキャンペーンを実装(Integromat)

こんにちは、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モジュールの存在だけでも覚えると便利ですよ。

それでは、今日も良いノーコードライフを♪

この記事を書いた人

tsubasatwi( つばさ)

国立工業高専卒業(新居浜工業高等専門学校)
「イベント×IT×営業」のカスタマーサクセスマネージャーとして活躍。セールス→構築管理運用まで全体プロジェクト管理の豊富な経験あり。

・主にITに関するイベント集客/法人営業/開発を担当
・大手通信会社を中心にエンタープライズのIT導入を担当(B2B)

DMMで日本初の NoCodeサロン を運営
「NoCodeCamp プログラミングを使わないIT開発 」
https://lounge.dmm.com/detail/2549/