mirror of
https://github.com/reality/dbot.git
synced 2024-11-24 04:49:25 +01:00
45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
/**
|
|
* Module Name: Crypto
|
|
* Description: Allows the magic of cryptography to take place.
|
|
*/
|
|
|
|
var cr = require('crypto');
|
|
|
|
var crypto = function(dbot) {
|
|
this.commands = {
|
|
'~hash': function(event) {
|
|
var hash = event.params[1];
|
|
try {
|
|
var h = cr.createHash(hash);
|
|
var tohash = event.params.splice(2, event.params.length-1).join(' ');
|
|
h.update(tohash);
|
|
event.reply(hash+" of \""+tohash+"\" is: "+h.digest('hex'));
|
|
} catch(err) {
|
|
event.reply(err);
|
|
}
|
|
},
|
|
'~random': function(event) {
|
|
try {
|
|
var count = parseInt(event.params[1]);
|
|
if(count > 222) {
|
|
event.reply("Sorry man, I can't paste that much random data.");
|
|
return;
|
|
}
|
|
cr.randomBytes(count, function(err,buf) {
|
|
if(err) {
|
|
event.reply(err);
|
|
return;
|
|
}
|
|
event.reply(buf.toString('hex'));
|
|
});
|
|
} catch (err) {
|
|
event.reply(err);
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.fetch = function(dbot) {
|
|
return new crypto(dbot);
|
|
};
|