add channel checks

This commit is contained in:
MSFTserver 2017-10-29 09:01:20 -07:00 committed by GitHub
parent 929533d142
commit d70164716b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,5 +1,5 @@
var needle = require('needle'); var needle = require('needle');
var ChannelID = "363049669636390913"
exports.commands = [ exports.commands = [
"hash" // command that is in this file, every command needs it own export as shown below "hash" // command that is in this file, every command needs it own export as shown below
] ]
@ -11,7 +11,28 @@ exports.custom = [
exports.timedhash = function(bot) { exports.timedhash = function(bot) {
setInterval(function() { setInterval(function() {
sendMiningInfo(bot, msg); sendMiningInfo(bot, msg);
}, 6 * 60 * 60 * 1000); }, 60 * 60 * 1000);
function sendMiningInfo(bot, msg) {
needle.get('https://explorer.lbry.io/api/v1/status', function(error, response) {
if (error || response.statusCode !== 200) {
bot.channels.get(ChannelID).send('Explorer API is not available');
} else {
var data, hashrate = "", difficulty = "", height = "";
data = response.body;
height += data.status.height;
hashrate += data.status.hashrate;
difficulty += data.status.difficulty;
bot.channels.get(ChannelID).send(
// 'Blockchain stats:\n' +
'Hashrate: ' + hashrate + '\n' +
'Difficulty: ' + difficulty + '\n' +
'Current block: ' + height + '\n' +
'_Source: https://explorer.lbry.io_'
);
}
});
}
} }
@ -19,12 +40,15 @@ exports.hash = {
usage: "", usage: "",
description: 'Displays current Hashrate of Network', description: 'Displays current Hashrate of Network',
process: function(bot,msg){ process: function(bot,msg){
var command = '!hash'; var command = '!hash';
sendMiningInfo(bot, msg); sendMiningInfo(bot, msg);
function sendMiningInfo(bot, msg) { function sendMiningInfo(bot, msg) {
if(!inPrivateOrBotSandbox(msg)){
msg.channel.send('Please use <#' + ChannelID + '> or DMs to talk to hash bot.');
return;
}
needle.get('https://explorer.lbry.io/api/v1/status', function(error, response) { needle.get('https://explorer.lbry.io/api/v1/status', function(error, response) {
if (error || response.statusCode !== 200) { if (error || response.statusCode !== 200) {
msg.channel.send('Explorer API is not available'); msg.channel.send('Explorer API is not available');
@ -47,10 +71,18 @@ function sendMiningInfo(bot, msg) {
}); });
} }
function inPrivateOrBotSandbox(msg){
if((msg.channel.type == 'dm') || (msg.channel.id === ChannelID)){
return true;
}else{
return false;
}
}
function numberWithCommas(x) { function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
} }
} }
} }