rubotyの画像検索用gemが動かなくなってたんで直しました

日記です。

ruboty-google_imageというgemにPRを送りました。採用されてますb
該当PRは以下です。
github.com

背景

なんかrubotyがimage検索返してこないなーとrubotyユーザー界隈では話題になっていたのですがふぇくさんが原因っぽいのを発見してくれました。

紹介されてたサイトは hubot-google-images の例ですがAPI廃止が原因なので ruboty-google_image もその可能性があるなと思って調査しました。

やったこと

原因の特定

とりあえずざーっと見てたらURLが古いAPIのほうだったので原因が確定。

修正

  • とりあえずfork
  • 記事にしたがってCustomSearchEngineのAPIキーなどを入手
  • まずはベタ書きでいいのでCSE_IDとCSE_KEYを埋め込んで使えるように変更
  • シェル対話型のrubotyをlocalにざっと作って動作確認
    • こういうときGemfileに path: 'Users/user/...' って記述できるの超ベンリ
  • なんかうまくいかなかったのでtapでレスポンス表示するように変更
    • セーフサーチの設定値が違った
    • レスポンスを掘るときの階層が違った
  • なんとなく動くようになったっぽいのでherokuにあるmiiraちゃん*1にデプロイ
    • こういうときにGemfileに github: 'hkdnet/ruboty-google_image'って書けるの超ベンリ
  • 動作確認OKっぽい

f:id:hkdnet:20151209213951p:plain

PR送信

お作法よくわからなかったのでなるべく丁寧に書いた

  • 勝手にバージョンあげたけどよくなかった気がする
  • 英語書くのに疲れてPR日本語にしたけどどうだろうね
  • CSE_IDとCSK_KEYについて書くのに疲れてhubot-google-imagesのをパク 借りてきたのはよかったと思う
  • しょうがないんだけど環境変数が2つ追加されたの、けっこーきつい

お知らせ

というわけでrubotyユーザーの方はruboty-google_imageがv0.1.0以上じゃないと動かないのでお気をつけください。
追加すべき環境変数は上記の記事を参考に設定してください。 なお、その際にAPIの「画像検索」を有効にしないとダメとかいう噂を聞いたので注意してください(僕は適当にそのへんいじったのでハマらなかった)

*1:うちのrubotyです kawaii