A hubot script that interacts with the Google Images API
CoffeeScript JavaScript Shell
Clone or download
Latest commit d6c105b Jun 27, 2017
Failed to load latest commit information.
script First commit Aug 25, 2014
src Fix minor typo Dec 10, 2015
test First commit Aug 25, 2014
.gitignore First commit Aug 25, 2014
.travis.yml First commit Aug 25, 2014
Gruntfile.js First commit Aug 25, 2014
README.md Add extra step to instructions to include enabling api. Dec 14, 2015
index.coffee First commit Aug 25, 2014
package.json 0.2.7 Jun 27, 2017



A hubot script that interacts with the Google Custom Search API for greater productivity and lulz.

See src/google-images.coffee for full documentation.


In hubot project repo, run:

npm install hubot-google-images --save

Then add hubot-google-images to your external-scripts.json:



Custom Search Engine

Google no longer offers an unregistered image search API. You must set up a Google Custom Search API and set the environment variables HUBOT_GOOGLE_CSE_ID and HUBOT_GOOGLE_CSE_KEY.

The Custom Search API provides up to 100 search queries per day for free. If you need more than that you'll have to pay.

CSE setup details

  1. Create a CSE via these instructions.
  • To simulate the old behavior: select "Search the entire web but emphasize included sites" in 'Sites to Search'
  • Give it any site on creation, and then remove it when it's selected, unless you want to emphasize that site(s).
  1. Turn on images in Edit Search Engine > Setup > Basic > Image Search
  2. Get the CSE ID in Edit Search Engine > Setup > Basic > Details (via these instructions)
  3. Get the CSE KEY here https://code.google.com/apis/console
  • You will need a project, you may reuse an existing one, or create a new one
  • Select the project
  • Goto the API manager and create a server credential and use the key from that credential
  1. Enable Custom Search API
  1. Update your conf (and your modules if necessary)

Custom Mustachification Service

To enable the mustache me feature, set the environment variable HUBOT_MUSTACHIFY_URL to your mustachify server url. More info and the source code of mustachify can be found at https://github.com/afeld/mustachio

Listen for image me and animate me

If you want to have your bot respond to any chat that begins with image me or animate me, you can add HUBOT_GOOGLE_IMAGES_HEAR to a non-empty value to have the robot listen to all chat.

Sample Interaction

user1>> hubot image me bananas
hubot>> http://upload.wikimedia.org/wikipedia/commons/4/4c/Bananas.jpg
user2>> hubot animate me it's happening
hubot>> http://i.kinja-img.com/gawker-media/image/upload/s--8U6TKXoi--/thfydh8egnt8he5esoz8.gif
user3>> hubot mustache me family portrait
hubot>> http://mustachify.me/1?src=http://www.daviddanielsphotography.com/wp-content/uploads/2013/03/Chowen-Family-Portraits-east-of-Park-City-13.jpg