Skip to content

Instantly share code, notes, and snippets.

@cameri
Created September 25, 2016 00:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cameri/97bf26a4448d286c20b8a24f3376ff6e to your computer and use it in GitHub Desktop.
Save cameri/97bf26a4448d286c20b8a24f3376ff6e to your computer and use it in GitHub Desktop.
var Promise = require("bluebird");
var utils = require('../utils');
function onMenu(msg,match) {
return new Promise(function(resolve,reject){
utils.getJSON({
hostname: 'www.menu.com.do',
path: '/api/v1/businesses/search.json?query=q:' + encodeURIComponent(match[1]),
agent: false // create a new agent just for this one request
}, function(err, result){
if (err)
return reject(arguments);
if (result.error)
return reject(arguments);
return resolve(result.result);
});
}).then(function(result){
var message = "*Results:*\n";
message += result.Business.slice(0,5).map(function(business) {
console.log(business);
var categories = business.business_categories.join(" / ");
return "[" + business.name + "](http://www.menu.com.do/#!/n/" + business.vanity_name + "/) _" + categories + "_";
}).join("\n");
bot.sendMessage(msg.chat.id, message, { parse_mode: 'Markdown', disable_web_page_preview: true });
}).catch(function(err){
console.error(err);
});
}
function init()
{
var mappings = [
{ pattern: /^\/menu (.+)$/i, fn: onMenu },
];
for (var i = 0; i < mappings.length; i++) {
bot.onText(mappings[i].pattern, mappings[i].fn);
}
}
module.exports = {
init: init
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment