環境構築

Hubotにhubot-google-imagesを使って画像検索機能を実装する

hubot-avatar
o_wani
この記事は作成から7年以上経過しているため、内容が古くなっている可能性があります。

前回、HubotをSlackに追加まで出来た。次は、Hubotを使ってどういうことをしたいか考えるうえで、みんなどういうふうにしてるのか調べてみた。基本的にはHubotはCoffeeScriptを使っての機能追加となるらしい。

参考にしたのは以下のサイトだ。

Hubot + CoffeeScript ではじめるやわらかプログラミング入門

このサイトの応用編で『tiqav 画像検索ボット』が気になった。
んじゃ、まずは、画像検索をつけてみよう!

手順を参考に画像検索機能をつけてみることにした。
試してみると

google image search API no longer available

使えなくなってる。。かわりに

  • 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とします。
CustomSearchEngine

以上で、新しい検索エンジンをつくります。

検索エンジンIDの取得

作成した検索エンジンのIDを取得します。
CSE-ID

詳細にある「検索エンジンID」をクリックで表示されます。

新しいプロジェクトをつくる

Googleのアカウントでログインし、Google APIsで以下URLより新しいプロジェクトの作成を行う。プロジェクト名は任意のものでOK。
Google APIs

GoogleAPI
作成後、認証情報から、APIのKEYを取得できる。

API-KEY

プロジェクトを有効にする

Googleのアカウントでログインし、さっきつくったプロジェクトを有効にする。
Google APIs

APIEnable

ここまで出来れば準備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 ドラえもん

doraemon

image ケンシロウ

kenshiro
今度はもっと実用的な機能を追加します\(^o^)/

STAFF
o_wani
o_wani
スタッフ
大学卒業後、15年間WEB業界で働く。現在はマネジメントに従事していますが、ChatGPTの登場に触発され、このブログを再開。AIをパートナーに、自分で手を動かして実装する楽しさと喜びを再発見中。時代が変わりつつある中でも、陳腐化しない情報発信も目指しています。
記事URLをコピーしました