mirror of
https://github.com/LBRYFoundation/lbry-wunderbot.git
synced 2025-08-23 09:37:27 +00:00
121 lines
3.3 KiB
JavaScript
121 lines
3.3 KiB
JavaScript
let needle = require("needle");
|
|
let config = require("config");
|
|
let hasHashBotChannels = require("../helpers.js").hasHashBotChannels;
|
|
let inPrivate = require("../helpers.js").inPrivate;
|
|
let ChannelID = config.get("hashbot").mainchannel;
|
|
exports.commands = [
|
|
"hash" // command that is in this file, every command needs it own export as shown below
|
|
];
|
|
|
|
exports.custom = ["timedhash"];
|
|
|
|
exports.timedhash = function(bot) {
|
|
setInterval(function() {
|
|
sendMiningInfo(bot);
|
|
}, 6 * 60 * 60 * 1000);
|
|
|
|
function sendMiningInfo(bot) {
|
|
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;
|
|
description =
|
|
"Hashrate: " +
|
|
hashrate +
|
|
"\n" +
|
|
"Difficulty: " +
|
|
difficulty +
|
|
"\n" +
|
|
"Current block: " +
|
|
height +
|
|
"\n" +
|
|
"Source: https://explorer.lbry.io";
|
|
const embed = {
|
|
description: description,
|
|
color: 7976557,
|
|
author: {
|
|
name: "LBRY Explorer Stats",
|
|
url: "https://explorer.lbry.io",
|
|
icon_url: "https://i.imgur.com/yWf5USu.png"
|
|
}
|
|
};
|
|
bot.channels.get(ChannelID).send({
|
|
embed
|
|
});
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
exports.hash = {
|
|
usage: "",
|
|
description: "Displays current Hashrate of Network",
|
|
process: function(bot, msg) {
|
|
var command = "!hash";
|
|
sendMiningInfo(bot, msg);
|
|
|
|
function sendMiningInfo(bot, msg) {
|
|
if (!inPrivate(msg) && !hasHashBotChannels(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
|
|
) {
|
|
if (error || response.statusCode !== 200) {
|
|
msg.channel.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;
|
|
description =
|
|
"Hashrate: " +
|
|
hashrate +
|
|
"\n" +
|
|
"Difficulty: " +
|
|
difficulty +
|
|
"\n" +
|
|
"Current block: " +
|
|
height +
|
|
"\n" +
|
|
"Source: https://explorer.lbry.io";
|
|
const embed = {
|
|
description: description,
|
|
color: 7976557,
|
|
author: {
|
|
name: "LBRY Explorer Stats",
|
|
url: "https://explorer.lbry.io",
|
|
icon_url: "https://i.imgur.com/yWf5USu.png"
|
|
}
|
|
};
|
|
msg.channel.send({
|
|
embed
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function numberWithCommas(x) {
|
|
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
}
|
|
};
|