From a9ee8ac6adfa719a0744fc6033dd802ca5b53a61 Mon Sep 17 00:00:00 2001 From: Enrico Fasoli Date: Mon, 27 Apr 2015 20:34:36 +0200 Subject: [PATCH] aggiunto modulo wolfram --- package.json | 3 ++- scripts/wolfram.coffee | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 scripts/wolfram.coffee diff --git a/package.json b/package.json index e88936b..3ea3463 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,8 @@ "nightmare": "^1.8.0", "nodepie": "^0.6.7", "soupselect": "^0.2.0", - "weak": "^0.4.0" + "weak": "^0.4.0", + "wolfram": "^0.3.1" }, "scripts": { "test": "mocha test/ --compilers coffee:coffee-script/register" diff --git a/scripts/wolfram.coffee b/scripts/wolfram.coffee new file mode 100644 index 0000000..1de2220 --- /dev/null +++ b/scripts/wolfram.coffee @@ -0,0 +1,27 @@ +# Description: +# accede a wolfram alpha +# +# Dependencies: +# "wolfram":"0.3.1" +# +# Author: +# Enrico Fasoli (fazo96) +# + + +module.exports = (robot) -> + if not process.env.WOLFRAM_API_KEY? + console.log 'NO WOLFRAM_API_KEY SET!' + return # no api key, no wolfy + wolfram = require('wolfram').createClient process.env.WOLFRAM_API_KEY + robot.respond /(?:quanto fa|compute|wfa|wolfram) (.+)/i, (res) -> + res.send 'contattando Wolfram Alpha...' + wolfram.query res.match[1], (err, result) -> + if err then return res.send err + #res.send JSON.stringify result + parseSubPod = (subpod) -> subpod.value + parsePod = (pod) -> + '\n=== ' + pod.title + '\n' + pod.subpods.map(parseSubPod).join('\n') + res.send (parsePod(pod) for pod in result).join('') + +