KibelaのリンクをSlack上で展開するdeglacerというSlack Appを作った
https://github.com/Songmu/deglacer
KibelaのリンクをSlackに貼り付けたら展開して欲しいという気持ちがあり、公式に対応してほしいなーと思っていたのだが、なかなか対応されないのでSlack Appを習作する意味でも作ってみた。
とは言っても、以下のhigebuさんのサイトにめっちゃ詳しく書いてあって、それをそのまま参考にさせてもらいました。
Kibela のリンクを Slack に貼ったときに展開されるようにした
何故か僕が勘違いしていて、これのソースコードがhttps://github.com/otofune/slack-unfurl-kibelaだと思っていて、これがRuby製なのでそれをGoに移植した。しかし本当は上記のエントリ上のソースはhttps://github.com/higebu/slack-app-unfurl-kibelaで、これはGo製なのであった…。自分でも何を言っているのか分からない…。
動かし方
README.mdに記載の通り。Webアプリとして動かしますが、HerokuやGoogle App Engineとして動かすのがお手軽。
そもそもの動機として、社内の技術スタックとしてHerokuではなくGoogle App Engineでやってみたかったというのがあり、Google App Engineで動かしやすいように作ってある。
結果として、HerokuでもGoogle App EngineでもGoのアプリケーションを今や簡単に動かせるということが分かったので良かった。
機能
Slackに貼られたKibelaのURLを展開するが、コメントリンクの場合はコメントを展開します。また、Vefification Tokenによるリクエスト検証も必須にしてますが、今後はSigning Secretによるリクエスト検証に切り替えたほうが良さそうに思っています…。
命名について
西洋調理手法であるdéglacer(デグラッセ)から命名しました。鍋についたこびり付いた焦げのようなものをワインなど酒を使って木べらなどでこそぎながら煮溶かしてソースなどを作る手法です。それっぽくて、ちょっと気に入っています。
GoとPaaS
degacerを作って、GoのWebアプリやSlack Appを簡単にHerokuやGoogle App Engineにdeployできることが分かり、Webアプリの類を作る心理的ハードルがものすごく下がったので今後色々作っていきたい。そのあたりの解説はそのうちするかも知れません。