Bot開発を簡単にしたい
社内で使っているチャットサービス(SlackやTeamsなど)で何かしらのBotを開発する方へ向けて
Botを開発する際にお勧めのツールがあります!!
Node-RED
Node-REDとは?
簡単に説明すると、ローコードのフレームワークです。
線と線を繋いでプログラミングをしていけます。
よく使われている分野として、IoT などをよく聞きますが、
自分はBot開発にも向いていると思っています。
おうむ返しBotを爆速で作る。
長々と説明するより作った方がわかりやすいと思います。( 百聞は一見になんたらですね )
今回は例として、Slack向けにおうむ返しBotを作成します!!
まず、Slack上にアプリを作成します。
ngrok 等を使うとlocalで開発をして実際に試すことが可能です。
Node-REDでコードを書きます。( 後述で簡単さがわかります!! )
実際に動作を見ます。
/repeat testと入力すると以下のように帰ってきます。
どの程度簡単か。。
まず、Node-RED上でのコードを見てみましょう。
はい。Node-RED上には、3つのフローしかありません。。これが全てです。
[post]/repeat
は、slackからのrequestを受ける部分。
slackへ返却
は、おうむ返しするためのコーディング部分。
http
は、前工程で設定した内容をslackへ返しています。
slackへ返却
は、おうむ返しするためのコーディング部分。
ここでは本当に簡単なコーディングをしています。
はい。これだけです。。
変数に一旦データを置くなどしなければ実際3行でかけてしまいます。。
簡単ですよねww
最後に
実際にBotを開発する際にはslackへ返却
の部分でもっとゴニョゴニョすれば目的のBotが作成可能です。
今回は、簡単さを見せるために省略してますが、
Slackには、requestを受けてから3秒以内に返却できない場合Messaging APIで返す必要があったり、request時にsignatureの検証などが必要です。
また、当然Slack以外のTeamsやその他APIがあるチャットツールだと同様にbot作成できます。
Node-REDを使用することでとても簡単にBotを開発出来ることが雰囲気だけでも伝われば幸いですw