/** * Module name: Leafly * Description: Information from leafly */ var _ = require('underscore')._, request = require('request'); var leafly = function(dbot) { var ApiRoot = 'http://data.leafly.com/'; this.commands = { '~strain': function(event) { request.post(ApiRoot + 'strains', { 'headers': { 'app_key': this.config.app_key, 'app_id': this.config.app_id }, 'body': { 'page': 0, 'take': 1, 'sort': 'rating', 'search': event.input[1] }, 'json': true }, function(error, response, body) { if(_.isObject(body) && _.has(body, 'Strains') && body.Strains.length > 0) { var strain = body.Strains[0], flavours = _.pluck(strain.Flavors, 'Name').join(', '); event.reply(dbot.t('strain', { 'name': strain.Name, 'flavours': flavours, 'link': strain.permalink })); } else { event.reply(dbot.t('no_strains')); } }.bind(this)); } }; this.commands['~strain'].regex = [/^strain (.+)$/, 2]; }; exports.fetch = function(dbot) { return new leafly(dbot); };