dbot/modules/dent/dent.js

48 lines
1.3 KiB
JavaScript
Raw Normal View History

2013-01-10 18:44:01 +01:00
var request = require('request');
2013-01-14 14:10:16 +01:00
_ = require('underscore')._;
2013-01-10 18:44:01 +01:00
var dent = function(dbot) {
this.dbot = dbot;
this.api = {
2013-01-14 14:10:16 +01:00
'post': function(content) {
var username = dbot.config.dent.username,
password = dbot.config.dent.password,
info,
2013-01-30 23:13:08 +01:00
auth = "Basic " +
2013-01-10 18:44:01 +01:00
new Buffer(username + ":" + password).toString("base64");
2013-01-14 14:10:16 +01:00
2013-01-10 18:44:01 +01:00
request.post({
'url': 'http://identi.ca/api/statuses/update.json?status=' +
2013-01-30 23:13:08 +01:00
escape(content),
2013-01-10 18:44:01 +01:00
'headers': {
'Authorization': auth
}
},
function(error, response, body) {
2013-01-14 14:10:16 +01:00
console.log(body);
}.bind(this));
}
};
this.commands = {
2013-01-14 14:10:16 +01:00
'~dent': function(event) {
this.api.post(event.input[1]);
2013-01-14 14:10:16 +01:00
event.reply('Dent posted (probably).');
2013-01-10 18:44:01 +01:00
}
};
this.commands['~dent'].regex = [/^~dent (.+)$/, 2];
this.onLoad = function() {
2013-01-21 21:50:23 +01:00
if(dbot.config.dent.dentQuotes === true && _.has(dbot.modules, 'quotes')) {
2013-01-21 20:07:25 +01:00
dbot.api.command.addHook('~qadd', function(key, text) {
2013-01-30 23:13:08 +01:00
this.api.post(key + ': ' + text);
2013-01-21 20:07:25 +01:00
}.bind(this));
}
}.bind(this);
2013-01-10 18:44:01 +01:00
};
exports.fetch = function(dbot) {
return new dent(dbot);
2013-01-10 18:44:01 +01:00
};