kulmapaikka-ircbot/plugins/getInstantAnswer.js

40 lines
1.0 KiB
JavaScript

var Promise = require('promise');
var DDG = require('node-ddg-api').DDG;
module.exports = function(config) {
var ddg = new DDG('kulmapaikka-ircbot');
var getAnswer = function(queryText) {
var promise = new Promise(function(resolve, reject) {
ddg.instantAnswer(queryText, {skip_disambig: '0'}, function(error, response) {
if(!error) {
var str = '';
if(response.AbstractText !== '') {
var text = '';
if(response.AbstractText.length > 350) {
text = response.AbstractText.substring(0, 350-response.AbstractURL.length) + '...';
} else {
text = response.AbstractText;
}
str = 'Vastaus: ' + text + '" | ' + response.AbstractURL;
resolve(str);
}
else if(response.RelatedTopics.length > 0) {
str = 'Vastaus: "' + response.RelatedTopics[0].Text + '" | ' + response.RelatedTopics[0].FirstURL;
resolve(str);
} else {
reject();
}
} else {
reject();
}
});
});
return promise;
};
return getAnswer;
};