ゆるふわ.rb in 大洲 〜作ってみよう Slack bot〜 を開催しました

1/30(土) にゆるふわ.rb を開催しました。
今回は Slack をテーマに、Ruby から Slack へ投稿する方法をレクチャーした後、実際に参加者のみなさんに bot を作成してもらいました。
ゆるふわ.rb in 大洲 〜作ってみよう Slack bot〜 - ゆるふわ.rb | Doorkeeper

ウェルカムドリンクで和む

まず初めに定番のウェルカムドリンク、あおさの味噌汁でみなさんの体と場の雰囲気を温めさせてもらいました。今回はいつもと違って麦味噌にしたんですが、それはそれで美味しかったようです。

そしてナカジさんがつい最近お誕生日を迎えたということで、あおさをプレゼントさせていただきました。ぜひご自宅の味噌汁に加えてみてください!

Slack へ投稿する方法をレクチャー

次にわたしから Slack へ投稿する方法をレクチャーさせていただきました。
投稿する方法はいくつかあるんですが、今回は Incoming WebHook という Slack の Custom Integration を利用して投稿する方法をとりました。
これは Slack 側でフック用の URL を発行し、その URL にリクエストを投入すると所定のチャネルへ投稿されるというものになります。(Incoming WebHook の設定ページ

また、 WebHook URL へリクエストを投入するのに slack-notifier という gem を利用しました。
これを利用すると ↓ のような感じでシンプルに実装できます。

require 'slack-notifier'

WEBHOOK_URL = 'https://hooks.slack.com/services/....'  # 発行した URL
CHANNEL  = '#yurufuwarb' # 投稿するチャネル
USERNAME = 'yurufuwan'   # 投稿するユーザー名

notifier = Slack::Notifier.new(WEBHOOK_URL, channel: CHANNEL, username: USERNAME)
notifier.ping 'Hello World'

さて、これでもう投稿できるようになったのでレクチャーはここで終えても良かったんですが、もう一歩踏み込んで bot っぽいことをしてみました。

次に利用したのは Slash Commands という Custom Integration です。
Slack には / で始まるコマンドが多数用意されているんですが、自分用に新しくコマンドを定義できるのがこちらの機構になります。(Slash Commoands の設定ページ

Slash Commands では新しく追加したコマンドを打った際に別のエンドポイントへリクエストを投入することができます。今回はそれを利用して、/yurufuwa というコマンドを作成、それをとある Web アプリへ送信、受け取ったアプリが Slack へ指定されたメッセージを投稿する、ということをやってみました。

これは以前話題になった ChatOps に利用できると思います。
これまでだと hubot をチャットに参加させてメッセージを監視、所定のメッセージで所定の動作をさせるというのが一般的でしたが、hubot の作成には Node.js の知識が必要ですし、他には API キーを発行・指定してあげたりなど、ものすごく大変なわけでは無いですが少し面倒に感じてしまう部分は拭いきれませんでした。

それが Slash Commands を利用すると Web アプリのエンドポイントを用意するだけで良いので、自分の好きな言語で実装できるし、Slack 用の設定は不要なため、大分敷居が下がるのではないかと思います。
これから ChatOps を実現しようと思っている方は選択肢の1つとして Slash Commands を一考してみてはいかがでしょうか?


お刺身をつつきながら Slack bot を作ってみる

次はみなさんお待ちかねのビアバッシュです。みんなで飲み食いしながら bot を作成したり仕事感を交わしあったり楽しい時間を過ごしました。

今回は鯛と太刀魚のお刺身をご用意、しゃぶしゃぶにしても絶品でした。

ほどよくお腹が満たされたところで bot 作りに。

途中で寒くなってストーブを着けるよとするもなかなか着けられないという一幕も(笑)

チェックアウト

楽しい時間はあっと言う間に過ぎるもので気がつけばチェックアウトの時間に。最後にみんなで片付けをして「来た時よりも美しく」して会場を後にしました。

今回はテーマ選びも良かったようで、実際に Slack へ投稿できると「お、できた!!」のような小さな成功体験が積めて、参加者のみなさんにも楽しんでいただけたようです。
また、いつものゆるふわ.rb らしくテーマ一辺倒ではなく、仕事のこととか業界のこと、将来のことなど色々話せたのが良かったと思います。
こうやって色んな立場の人で集まって話すことで、自分とは違う視点の意見も聞けるし、それが新たな気づきを促したり刺激になったりして、自身の成長につながっていくものだと改めて感じました。

これからもそういう場を提供できるコミュニティの1つとしてゆるふわ.rb を運営していければと思います。
参加いただいたみなさん、ありがとうございました。