jarvis-bot
Version:
A JARVIS for your team - your most powerful bot and loyal butler.
48 lines (41 loc) • 1.31 kB
text/coffeescript
# Description
# A hubot script for searching YouTube with the YouTube Data API v3.
# Based off the original hubot-youtube script.
#
# Configuration:
# HUBOT_GOOGLE_API - Your Google API key with access enabled for YouTube Data
# API v3
#
# Commands:
# hubot youtube <query> - Searches Google YouTube and returns link
#
# Notes:
# Make sure you don't go over your daily quota for API usage.
#
# Author:
# sprngr
module.exports = (robot) ->
unless process.env.HUBOT_GOOGLE_API_KEY?
robot.logger.warning "The HUBOT_GOOGLE_API environment variable not set"
return
ytApiKey = process.env.HUBOT_GOOGLE_API_KEY
robot.respond /(?:youtube|yt)(?: me)?\s(.*)/i, (msg) ->
query = msg.match[1]
ytSearchUrl = "https://www.googleapis.com/youtube/v3/search"
searchParams = {
order: "relevance"
part: "snippet",
maxResults: 1,
type: "video",
key: ytApiKey,
q: query
}
robot.http(ytSearchUrl)
.query(searchParams)
.get() (err, res, body) ->
videos = JSON.parse(body).items
if videos == undefined || videos.length == 0
msg. send "No video results for \"#{query}\""
return
videoId = videos[0].id.videoId
msg.send "http://www.youtube.com/watch?v=#{videoId}"