8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

enebularAdvent Calendar 2018

Day 5

語尾にゲスをつけて返すslack bot(enebular + Firebase)

Last updated at Posted at 2018-12-04

出オチ

22.PNG

うわああああああ・・・・・

という夢だったとさ

enebularを使って、語尾にゲスをつけて返すbotを作ってみました。
正規表現が甘くて言葉遣いが甘いところも可愛いところ。

24.PNG

つくりかた

フローの全体像はこのようになっています。
23.PNG

Slack関連ノード

Slack Bot In

Bot API Tokenが必要であったため、
以下を参考にしてレガシートークンを取得しました。

Slack APIのTokenの取得・場所
https://qiita.com/ykhirao/items/0d6b9f4a0cc626884dbb

Slack

こちらはWebhook用のURLを取得して投入しています。
SlackのWebhook URL取得手順
https://qiita.com/vmmhypervisor/items/18c99624a84df8b31008

firebase関連ノード

firebaseの初期設定はこちらのブログを参考にしました。

M5StackとFirebaseを使ってenebularとつないでみよう
https://blog.enebular.com/firebase/m5stack-firebase-enebular-collaboration/

firebase modify

Child Pathは任意です。次の、firebase.onと合わせます。

26.PNG

firebase.on()

Child Pathは先ほどのfirebase modifyと合わせる形で。
event typeはchild_addにします。
27.PNG

その他ノード

Switchノード

冒頭の無限ループを回避するためにつけたノードです。
すでにゲス化したメッセージはスルーしてdebugノードに放り投げます。

28.PNG

Changeノード

文字列をゲス化するためのノードです。

29.PNG

debugノード

そのまま繋げるだけで機能します。

そんなこんなで

enebularはライトにNode-REDで遊べていいですね。

ちなみに、冒頭のゲスループは、
投稿を拾ってゲス化して投稿⇒botのその投稿を拾ってさらにゲス化⇒botのその投稿を拾って・・・
のループにより起きました。
slack botを作るときは無限ループにご注意ください。

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?