mirror of
https://github.com/anatolykopyl/mining-status-skill.git
synced 2026-03-26 12:55:43 +00:00
Split files
This commit is contained in:
53
getMiner.js
Normal file
53
getMiner.js
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
const axios = require('axios');
|
||||||
|
const dedent = require('dedent-js');
|
||||||
|
|
||||||
|
const fromatHashrate = (hs) => {
|
||||||
|
return Math.floor(hs / 1000000);
|
||||||
|
};
|
||||||
|
|
||||||
|
const daysUntilPayout = (miner) => {
|
||||||
|
const { stats, settings } = miner;
|
||||||
|
return Math.ceil((settings.paymentThreshold - stats.balance) / stats.dayliProfit);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = async (wallet) => {
|
||||||
|
const response = await axios.post(
|
||||||
|
'https://baikalmine.com/api/pool/miner/getMiner',
|
||||||
|
{
|
||||||
|
type: "pps_plus",
|
||||||
|
coin: "eth",
|
||||||
|
miner: wallet
|
||||||
|
}
|
||||||
|
).catch(error => {
|
||||||
|
console.error(error);
|
||||||
|
return {error};
|
||||||
|
});
|
||||||
|
|
||||||
|
if (response.error) {
|
||||||
|
const text = dedent(`
|
||||||
|
Ошибка получения данных, проверьте правильность введенного кошелька.
|
||||||
|
"${wallet}"
|
||||||
|
`);
|
||||||
|
const tts = dedent(`
|
||||||
|
Ошибка получения данных, проверьте правильность введенного кошелька.
|
||||||
|
"${wallet}"
|
||||||
|
`);
|
||||||
|
|
||||||
|
return { text, tts };
|
||||||
|
}
|
||||||
|
|
||||||
|
const miner = response.data;
|
||||||
|
|
||||||
|
const text = dedent(`
|
||||||
|
Работает ${miner.workers.online} из ${miner.workers.total},
|
||||||
|
хешрейт ${fromatHashrate(miner.hashrate.reported)} MH/s.
|
||||||
|
До выплаты осталось ${daysUntilPayout(miner)} дней.
|
||||||
|
`);
|
||||||
|
const tts = dedent(`
|
||||||
|
Работает ${miner.workers.online} из ${miner.workers.total},
|
||||||
|
хешр+ейт ${fromatHashrate(miner.hashrate.reported)} мегах+ешей в секунду.
|
||||||
|
До выплаты осталось ${daysUntilPayout(miner)} дней.
|
||||||
|
`);
|
||||||
|
|
||||||
|
return {text, tts};
|
||||||
|
};
|
||||||
57
index.js
57
index.js
@@ -1,53 +1,6 @@
|
|||||||
const axios = require('axios');
|
|
||||||
const dedent = require('dedent-js');
|
const dedent = require('dedent-js');
|
||||||
|
|
||||||
const getMiner = async (wallet) => {
|
const getMiner = require('./getMiner');
|
||||||
const response = await axios.post(
|
|
||||||
'https://baikalmine.com/api/pool/miner/getMiner',
|
|
||||||
{
|
|
||||||
type: "pps_plus",
|
|
||||||
coin: "eth",
|
|
||||||
miner: wallet
|
|
||||||
}
|
|
||||||
).catch(error => ({error}));
|
|
||||||
|
|
||||||
if (response.error) {
|
|
||||||
const text = dedent(`
|
|
||||||
Ошибка получения данных, проверьте правильность введенного кошелька.
|
|
||||||
"${wallet}"
|
|
||||||
`);
|
|
||||||
const tts = dedent(`
|
|
||||||
Ошибка получения данных, проверьте правильность введенного кошелька.
|
|
||||||
"${wallet}"
|
|
||||||
`);
|
|
||||||
|
|
||||||
return { text, tts };
|
|
||||||
}
|
|
||||||
|
|
||||||
const miner = response.data;
|
|
||||||
|
|
||||||
const text = dedent(`
|
|
||||||
Работает ${miner.workers.online} из ${miner.workers.total},
|
|
||||||
хешрейт ${fromatHashrate(miner.hashrate.reported)} MH/s.
|
|
||||||
До выплаты осталось ${daysUntilPayout(miner)} дней.
|
|
||||||
`);
|
|
||||||
const tts = dedent(`
|
|
||||||
Работает ${miner.workers.online} из ${miner.workers.total},
|
|
||||||
хешр+ейт ${fromatHashrate(miner.hashrate.reported)} мегах+ешей в секунду.
|
|
||||||
До выплаты осталось ${daysUntilPayout(miner)} дней.
|
|
||||||
`);
|
|
||||||
|
|
||||||
return {text, tts};
|
|
||||||
};
|
|
||||||
|
|
||||||
const fromatHashrate = (hs) => {
|
|
||||||
return Math.floor(hs / 1000000);
|
|
||||||
};
|
|
||||||
|
|
||||||
const daysUntilPayout = (miner) => {
|
|
||||||
const { stats, settings } = miner;
|
|
||||||
return Math.ceil((settings.paymentThreshold - stats.balance) / stats.dayliProfit);
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleFirstLaunch = async (event) => {
|
const handleFirstLaunch = async (event) => {
|
||||||
const {version, session} = event;
|
const {version, session} = event;
|
||||||
@@ -161,15 +114,11 @@ module.exports.handler = async (event) => {
|
|||||||
return handlers[request.command](event);
|
return handlers[request.command](event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.session.awaiting_wallet_input) {
|
if (!state.user.wallet && session.new) {
|
||||||
return handleWalletInput(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!state.user.wallet) {
|
|
||||||
if (session.new) {
|
|
||||||
return handleFirstLaunch(event);
|
return handleFirstLaunch(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (state.session.awaiting_wallet_input || !state.user.wallet) {
|
||||||
return handleWalletInput(event);
|
return handleWalletInput(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user