質問ではない
江添さん良いですよね。強いし。
強い江添亮 pic.twitter.com/tktbE2U5tz
— ゆっくりしない (@yukkuri_sinai) 2015, 2月 28
江添さんの ask.fm はコンテンツ力の凄さが有名で、これを毎日の楽しみにしているなんていう人も結構いるんじゃないかと思います。
質問ではない。
ターミナルから簡単に質問できる ezoe コマンドも話題になりました。この技術革新が ezoe.fm の盛り上がりに一役買ったことは間違いないと思います。大変便利に使わせてもらいました。
ちなみに、その ezoe コマンドにも既に様々な言語による実装が存在するようです。
Slack から質問したい
もちろん私が個人で使っている Slack にも #ezoe というチャンネルが設けられていて、そこには質問と回答が次々と流れてくるようになっています。そしてグッと来た回答には reaction をつけるなどして毎日を楽しんでいるわけです。
オッケーウーマン。そうなってくるとやっぱり質問の投稿も Slack で完結させたくなります。ターミナルへの切り替えすらめんどくさい。
Slack と何かを連携させる際にいま最もアツいのは HUBOT かなと思ったところで、ちょうど JavaScript による ezoe コマンドの実装があったことに気づきます。
コマンドライン引数の扱い、HTTPクライアントのGETとPOST, Cookieの扱い、HTMLのスクレイピングとXMLのパース、標準入出力の細かいテクニックなど、ezoe コマンドは新しい言語を学ぶのにとてもいい題材かもしれない https://t.co/bK8W4SyTX6
— Toshihiro Shimizu (@meso) 2015, 7月 25
たしかに良い題材なんですが、今回はその実装にそのまま乗っからせていただきたい。
できた
細かい話はおいといて、使ってみます。
回答が来ました。 Slack の RSS 連携で流れてきます。
というわけで、江添さんに簡単に質問出来る hubot script ができたので、 npm に公開するところまでやりました。みんなの hubot にいますぐインストールしてほしい。必要なのは ask.fm アカウントの username と password だけ。
しかも、できたあとにツッコミを受けてから気づいたんですが、これは別に hubot なんだから好きな adapter 使えるし、つまり Slack にかぎらず様々なコミュニケーションツールから質問可能になってしまった、ということのようでした。 hubot スゴイ。(最初は hubot-slack-ezoe って名前にしていたけど、その事実に気づかされて hubot-ezoe に改名した)
npm にも ezoe 関連モジュールが増えていくと楽しそうですね。いまは ezoe と hubot-ezoe のみ。
また、この hubot-ezoe をインストールした hubot の Slack 向けサンプルも作って、 Deploy to Heroku ボタンを使えるようにしました。 Heroku アカウントがあれば、いますぐ試せる。
HUBOT_SLACK_TOKEN に心当たりがない場合は、 https://my.slack.com/services/new/hubot から hubot の integration を追加してゲットした API トークンを入力すればいけそうです。(余談だけど、 Slack には my.slack.com っていう見てる人各位の team にリダイレクトされるリンクが用意されていて便利)
あとがき
ezoe.fm も最近はちょっと下火になってきたのかな、という印象があり、江添さんファンとしてはまだまだ盛り上がっていってほしいなと思う次第です。
この hubot-ezoe に関して、作ったはいいもののどうしてこの JavaScript で動くのか理解できていないので、 hubot-ezoe の作り方や疑問、 npm や heroku の話、開発中のハートフルエピソードや作業メモなどをまたブログにまとめたいと思っています。今回は bot の紹介でモチベーションが切れてしまいました。