三流窓際エンジニアがやる初めてのSlack Bot開発 〜サーバーサイド開発と思いきやIntegromatでイキナリ完成編 〜

前回：[三流窓際エンジニアがやる初めてのSlack Bot開発 〜Bot 準備編 〜](https://qiita.com/kaba_U1/items/49ccee633003f525195e)

前回から2週間以上経ってしまったが、ウマ娘のイベントも無事完走できたので再開する。

<h1>今日の目標</h1>
今回はサーバー側を作る。

参考にしたサイト：
[誰でも分かるはず！本気でSlackBotの作り方を解説してみた！](https://belltree.life/slack-bot-hands-on/)

引き続き、上記の記事を参考にさせていただきます！

<h1>Integromatとは？</h1>

参考にさせていただいているサイトでは、Integromatを使っているので、こちらも使うことにする。
ただ、Integromatとはなんぞや？、と思ったので調べてみた。

[最強連携サービス「Integromat」がZapier/IFTTTをあっさり超えるラスボス感](https://awe-some.net/2016/10/integromat/)
↑こちらの記事はちょっと古めだが、Integromatの概要が分かる。
ノンコーディングでWebサービス同士を連携させてなんやかんやできるサービスのようだ。
同種のサービスに[IFTTT](https://ifttt.com)や[Zapier](https://zapier.com)があるが、Integromatの方が自由度が高いというか多機能なようだ。
記事の時点では日本語の情報がほとんど無かったようだが、昨年に[日本コミュニティ](https://integromat.ethical.works)が立ち上がったようだ。
トップにある「ラクを極める」がスローガンっぽく見えるが、この言葉には共感しか感じない。

<h1>IntegromatへSignUP!</h1>

とりあえずSign upしてみる。

![スクリーンショット 2022-02-07 21.36.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/bcc789cf-af7e-2cde-39ad-ff98f895a0a0.png)

Integromatのトップページから「Get started - it's free!」ボタンを押す。

![スクリーンショット 2022-02-07 21.38.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/e95a41e0-4af5-ba4b-d9a0-3f3c95fa7757.png)
どうやってSign upするか聞かれるのでとりあえずGoogleのアカウントでSign upした。

![スクリーンショット 2022-02-07 21.41.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/68ebe55f-88e9-b871-b50a-471566705a2b.png)
会社の業種、役職、従業員数、これまで他の同種のサービスを使ったことがあるかを答えるアンケートが出てくる。
答えないと先に進めないので、適当に答えておく。

![スクリーンショット 2022-02-07 21.48.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/f38a1623-438a-f447-f8b5-c5834245b1d6.png)
やっと準備が整った！

<h1>機能を作っていく</h1>
"All scenarios"の右上にある"Create a new scenario"ボタンを押す。

![スクリーンショット 2022-02-07 21.53.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/531af3fe-643c-a68e-d479-437dd6de80fe.png)

![スクリーンショット 2022-02-07 21.55.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/c60743ce-da94-6f39-2e73-b914751216d7.png)

出てきた画面中央の中に"+"が書かれた○ボタンを押すとABC順で様々なWebサービスが出てくる。

![スクリーンショット 2022-02-07 21.58.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/f16b9a63-49a1-df4c-2196-6e93603ae372.png)
ベータ版であるものの"Slack"があったので、ちょっと使ってみよう。
(参考にしたサイトでは"HTTP"を使っている)

![スクリーンショット 2022-02-07 22.01.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/41f5bdfb-bdf3-d28d-add3-c280cb45cb16.png)
Slackに対してどんな操作をするかを選択する。
今回はメッセージの投稿なので"Create a Message"を選択。

![スクリーンショット 2022-02-07 22.01.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/ea1d6cd8-c61a-242f-0f79-9e153652c512.png)
![スクリーンショット 2022-02-07 22.02.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/52bd3e2c-f89c-bbc4-7784-e4bb84ac336c.png)
![スクリーンショット 2022-02-07 22.02.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/58fa7114-051c-55b0-528e-f5679df80821.png)

"+"ボタンが"Slack"アイコンのボタンに変化する。
"Slack"アイコンのボタンを押すと、漠然と"Connection"を聞かれる。
最初何をすればいいか分からなかったが、とりあえず"Add"ボタンを押してみる。
SlackへBotとして操作するのかユーザーとして操作するのかを聞かれてる風に見えるので、
とりあえず"Slack(bot)"を選択し、"Connection name"は考えるのが面倒だったので、デフォルトのままにした。
気に入らなければなんかいい感じの名前をつけてください。

![スクリーンショット 2022-02-07 22.03.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/bc339832-9716-0843-3fa1-702139672eca.png)
Slackの権限をリクエストされるので、許可する。

![スクリーンショット 2022-02-07 22.21.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/bf9d4170-8657-7929-c5a0-20705633534d.png)
![スクリーンショット 2022-02-07 22.13.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/559b846d-15e8-9af1-a7cf-661857dcae1a.png)
Blocks(Slackへの投稿内容)の書き方が分からず何度かエラーになったが、
とりあえず、上記の画像のように書くと「Hello!」とだけ言うみたいだ。
横にある時計(現在時刻を示している上、秒針がちゃんと動いていて芸が細かい)を押すと、
いつBotを動かすか設定できる。

とりあえずで動かしたい場合は、左下の"Run once"ボタンを押す。
![スクリーンショット 2022-02-07 22.33.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/68429ad0-2178-60d8-88cb-fee2da01d3ed.png)
![スクリーンショット 2022-02-07 22.21.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201583/41b1bb5b-415d-ad39-1817-f7af73785519.png)

やったー！投稿された！
というか、時間設定できるなら、当初やりたかったことほぼ達成じゃないか！
そして、前回の作業要らなかった！！(勉強になったから良かったけど)

土日祝日はスキップする考慮は必要だが…。
次回は土日祝日をどうにかできないかやってみよう。