UNPKG

hubot-scripts

Version:

Allows you to opt in to a variety of scripts

41 lines (35 loc) 1.05 kB
# Description: # None # # Dependencies: # "jsdom": "0.2.14" # # Configuration: # None # # Commands: # hubot whatis <term> - search the term on urbandictionary.com and get a random popular definition for the term. # # Author: # Kevin Qiu # # FIXME merge with urban.coffee jsdom = require('jsdom').jsdom module.exports = (robot) -> robot.respond /whatis (.+)$/i, (msg) -> msg .http('http://www.urbandictionary.com/define.php?term=' + (encodeURIComponent msg.match[1])) .get() (err, res, body) -> window = (jsdom body, null, features : FetchExternalResources : false ProcessExternalResources : false MutationEvents : false QuerySelector : false ).createWindow() $ = require('jquery').create(window) definitions = [] $(".definition").each (idx, item) -> definitions.push $(item).text() msgText = if definitions.length==0 then "No definition found." else (msg.random definitions) msg.send msgText