UNPKG

hubot-scripts

Version:

Allows you to opt in to a variety of scripts

53 lines (47 loc) 1.86 kB
# Description: # How Do I ___? Because Hubot knows more than you. # Based on howdoi (https://github.com/gleitz/howdoi) # # Dependencies: # "scraper": "0.0.9" # # Configuration: # None # # Commands: # howdoi # # Author: # pettazz scraper = require 'scraper' module.exports = (robot) -> robot.respond /(howdoi|how do i)(.*)/i, (message) -> search = message.match[2] options = { 'uri': "https://www.google.com/search?q=site:stackoverflow.com%20#{search}", 'headers': { 'Accept-Language': 'en-us,en;q=0.5', 'Accept-Charset': 'utf-8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17' } } scraper options, (err, jQuery) -> message.send err if err if jQuery('*:contains("did not match any documents.")').length > 0 message.send "Sorry, I don't know anything about that.\n" else first_sresult = jQuery("a.l:first").attr('href') options.uri = first_sresult message.send options.uri scraper options, (err, jQuery) -> message.send err if err if jQuery('div#answers').hasClass('no-answers') result = "Sorry, I can't find any answers about that.\n" else answer = jQuery("div#answers div.answer:first div.post-text") answer_code = jQuery(answer).find('pre code') if answer_code.length > 0 result = answer_code.text() else result = jQuery(answer).text() message.send result