mirror of
https://github.com/LBRYFoundation/lbry-wunderbot.git
synced 2025-08-23 17:47:27 +00:00
Merge pull request #275 from kcseb/patch-1
Update stat.js to show 5 decimal value fiat prices.
This commit is contained in:
commit
efddd9d588
1 changed files with 19 additions and 16 deletions
|
@ -1,26 +1,26 @@
|
||||||
let needle = require('needle');
|
let needle = require('needle');
|
||||||
let statsurl = 'https://coinmarketcap.com/currencies/library-credit/';
|
let statsurl = 'https://www.coingecko.com/en/coins/lbry-credits';
|
||||||
exports.commands = [
|
exports.commands = [
|
||||||
'stats' // command that is in this file, every command needs it own export as shown below
|
'stats' // command that is in this file, every command needs it own export as shown below
|
||||||
];
|
];
|
||||||
|
|
||||||
exports.stats = {
|
exports.stats = {
|
||||||
usage: '',
|
usage: '',
|
||||||
description: 'Displays list of current Market stats',
|
description: 'Displays list of Current Market Statistics',
|
||||||
process: function(bot, msg) {
|
process: function(bot, msg) {
|
||||||
needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=btc&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false&price_change_percentage=24h%2C1h%2C7d', function(error, response) {
|
needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=btc&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false&price_change_percentage=24h%2C1h%2C7d', function(error, response) {
|
||||||
if (error || response.statusCode !== 200) {
|
if (error || response.statusCode !== 200) {
|
||||||
msg.channel.send('coingecko API is not available');
|
msg.channel.send('coingecko API is not available');
|
||||||
} else {
|
} else {
|
||||||
let data = response.body.data;
|
console.log(response);
|
||||||
|
console.log(response.body[0]);
|
||||||
|
let data = response.body[0];
|
||||||
let rank = data.market_cap_rank;
|
let rank = data.market_cap_rank;
|
||||||
let price_btc = Number(data.current_price);
|
let price_btc = Number(data.current_price);
|
||||||
let market_cap_btc = Number(data.quotes.market_cap);
|
|
||||||
let circulating_supply = Number(data.circulating_supply);
|
let circulating_supply = Number(data.circulating_supply);
|
||||||
let total_supply = Number(data.total_supply);
|
let total_supply = Number(data.total_supply);
|
||||||
let percent_change_1h = Number(data.price_change_percentage_1h_in_currency);
|
let percent_change_1h = Number(data.price_change_percentage_1h_in_currency);
|
||||||
let percent_change_24h = Number(data.price_change_percentage_24h_in_currency);
|
let percent_change_24h = Number(data.price_change_percentage_24h_in_currency);
|
||||||
let volume24_btc = Number(data.total_volume);
|
|
||||||
let dt = new Date();
|
let dt = new Date();
|
||||||
let timestamp = dt.toUTCString();
|
let timestamp = dt.toUTCString();
|
||||||
let hr_indicator = (percent_change_1h < 0) ? ':thumbsdown:' : ':thumbsup:';
|
let hr_indicator = (percent_change_1h < 0) ? ':thumbsdown:' : ':thumbsup:';
|
||||||
|
@ -30,37 +30,39 @@ exports.stats = {
|
||||||
if (error || response.statusCode !== 200) {
|
if (error || response.statusCode !== 200) {
|
||||||
msg.channel.send('coingecko API is not available');
|
msg.channel.send('coingecko API is not available');
|
||||||
} else {
|
} else {
|
||||||
data = response.body.data;
|
data = response.body[0];
|
||||||
let price_gbp = Number(data.current_price);
|
let price_gbp = Number(data.current_price);
|
||||||
needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=eur&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function (error, response) {
|
needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=eur&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function (error, response) {
|
||||||
if (error || response.statusCode !== 200) {
|
if (error || response.statusCode !== 200) {
|
||||||
msg.channel.send('coingecko API is not available');
|
msg.channel.send('coingecko API is not available');
|
||||||
} else {
|
} else {
|
||||||
data = response.body.data;
|
data = response.body[0];
|
||||||
let price_eur = Number(data.current_price);
|
let price_eur = Number(data.current_price);
|
||||||
needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function (error, response) {
|
needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function (error, response) {
|
||||||
if (error || response.statusCode !== 200) {
|
if (error || response.statusCode !== 200) {
|
||||||
msg.channel.send('coingecko API is not available');
|
msg.channel.send('coingecko API is not available');
|
||||||
} else {
|
} else {
|
||||||
data = response.body.data;
|
data = response.body[0];
|
||||||
let price_usd = Number(data.current_price);
|
let price_usd = Number(data.current_price);
|
||||||
|
let market_cap_usd = Number(data.market_cap);
|
||||||
|
let volume24_usd = Number(data.total_volume);
|
||||||
let description = `**Rank: [${rank}](${statsurl})**
|
let description = `**Rank: [${rank}](${statsurl})**
|
||||||
**Data**
|
**Data**
|
||||||
Market Cap: [$${numberWithCommas(market_cap_usd)}](${statsurl})
|
Market Cap: [$${numberWithCommas(market_cap_usd)}](${statsurl})
|
||||||
Total Supply: [${numberWithCommas(total_supply)} LBC](${statsurl})
|
Total Supply: [${numberWithCommas(total_supply)} LBC](${statsurl})
|
||||||
Circulating Supply: [${numberWithCommas(circulating_supply)} LBC](${statsurl})
|
Circulating Supply: [${numberWithCommas(circulating_supply.toFixed(0))} LBC](${statsurl})
|
||||||
24 Hour Volume: [$${volume24_usd}](${statsurl})
|
24 Hour Volume: [$${numberWithCommas(volume24_usd)}](${statsurl})
|
||||||
|
|
||||||
**Price**
|
**Price**
|
||||||
BTC: [₿${price_btc.toFixed(8)}](${statsurl})
|
BTC: [₿${price_btc.toFixed(8)}](${statsurl})
|
||||||
USD: [$${price_usd.toFixed(2)}](${statsurl})
|
USD: [$${price_usd.toFixed(5)}](${statsurl})
|
||||||
EUR: [€${price_eur.toFixed(2)}](${statsurl})
|
EUR: [€${price_eur.toFixed(5)}](${statsurl})
|
||||||
GBP: [£${price_gbp.toFixed(2)}](${statsurl})
|
GBP: [£${price_gbp.toFixed(5)}](${statsurl})
|
||||||
|
|
||||||
**% Change**
|
**% Change**
|
||||||
1 Hour: [${percent_change_1h}](${statsurl}) ${hr_indicator}
|
1 Hour: [${percent_change_1h.toFixed(2)}%](${statsurl}) ${hr_indicator}
|
||||||
|
|
||||||
1 Day: [${percent_change_24h}](${statsurl}) ${day_indicator}`;
|
1 Day: [${percent_change_24h.toFixed(2)}%](${statsurl}) ${day_indicator}`;
|
||||||
const embed = {
|
const embed = {
|
||||||
description: description,
|
description: description,
|
||||||
color: 7976557,
|
color: 7976557,
|
||||||
|
@ -68,7 +70,7 @@ exports.stats = {
|
||||||
text: 'Last Updated: ' + timestamp
|
text: 'Last Updated: ' + timestamp
|
||||||
},
|
},
|
||||||
author: {
|
author: {
|
||||||
name: 'Coin Market Cap Stats (LBC)',
|
name: 'Coin Gecko Stats (LBC)',
|
||||||
url: statsurl,
|
url: statsurl,
|
||||||
icon_url: 'https://spee.ch/2/pinkylbryheart.png'
|
icon_url: 'https://spee.ch/2/pinkylbryheart.png'
|
||||||
}
|
}
|
||||||
|
@ -104,3 +106,4 @@ exports.stats = {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue