Hubotにhubot-google-imagesを使って画像検索機能を実装する
前回、HubotをSlack
に追加まで出来た。次は、Hubotを使ってどういうことをしたいか考えるうえで、みんなどういうふうにしてるのか調べてみた。基本的にはHubotはCoffeeScript
を使っての機能追加となるらしい。
参考にしたのは以下のサイトだ。
このサイトの応用編で『tiqav 画像検索ボット』が気になった。
んじゃ、まずは、画像検索をつけてみよう!
手順を参考に画像検索機能をつけてみることにした。
試してみると
使えなくなってる。。かわりに
- Custom Search Engine APIを使う
⇒hubot-google-imagesを使う
ということでhubot-google-images
を使いましょう。
ここからは以下参考サイトをもとに進める。
A hubot script that interacts with the Google Images API
hubot-scripts/hubot-google-images
カスタム検索の設定
Googleのアカウントでログインし、カスタム検索の設定を以下URLより行う。
自分好みの新しい検索エンジンを新規でつくりましょう。
カスタム検索
今回は、検索するサイトはtiqav.comとします。
以上で、新しい検索エンジンをつくります。
検索エンジンIDの取得
作成した検索エンジンのIDを取得します。
詳細にある「検索エンジンID」をクリックで表示されます。
新しいプロジェクトをつくる
Googleのアカウントでログインし、Google APIsで以下URLより新しいプロジェクトの作成を行う。プロジェクト名は任意のものでOK。
Google APIs
作成後、認証情報から、APIのKEYを取得できる。
プロジェクトを有効にする
Googleのアカウントでログインし、さっきつくったプロジェクトを有効にする。
Google APIs
ここまで出来れば準備OK。次は、herokuへのデプロイをします。
ターミナルでの操作
hubot-google-imagesのインストール
Hubotのプロジェクトディレクトリにてコマンドを実行していきます。
$ npm install hubot-google-images --save
KEYの登録
ここからは上記で設定したIDやKEYをheroku側に登録していきます。
HUBOT_GOOGLE_CSE_ID
『検索エンジンID』を登録します。
$ heroku config:set HUBOT_GOOGLE_CSE_ID=673224599983673626007:jfi4djqkodw
Setting HUBOT_GOOGLE_CSE_ID and restarting ⬢ test-bot... done, v18
HUBOT_GOOGLE_CSE_ID: 673224599983673626007:jfi4djqkodw
HUBOT_GOOGLE_CSE_KEY
『APIキー』を登録します。
$ heroku config:set HUBOT_GOOGLE_CSE_KEY=Afdjklfejewpewpefwebf_efjij99494jvklds_U
Setting HUBOT_GOOGLE_CSE_KEY and restarting ⬢ test-bot... done, v19
HUBOT_GOOGLE_CSE_KEY: Afdjklfejewpewpefwebf_efjij99494jvklds_U
HUBOT_GOOGLE_IMAGES_HEAR
画像検索を実行するコマンドを登録します。
今回は『image キーワード』と入力で、画像検索するようにします。
つまり値はimage
で登録します。
$ heroku config:set HUBOT_GOOGLE_IMAGES_HEAR=image
Setting HUBOT_GOOGLE_IMAGES_HEAR and restarting ⬢ test-bot... done, v20
HUBOT_GOOGLE_IMAGES_HEAR: image
これでOKです。
herokuへデプロイ
※必要あれば実施
(自分の場合必要なかったと記憶している)
commit
$ git commit -a
push
$ git push heroku master
動作確認
画像検索できました。
image ドラえもん
image ケンシロウ
今度はもっと実用的な機能を追加します\(^o^)/