forked from GitHub/dbot
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
|
/**
|
||
|
* 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);
|
||
|
};
|