From 3e4bedbc8b42816aa3924fc01497c32950719b21 Mon Sep 17 00:00:00 2001 From: anatolykopyl Date: Wed, 25 May 2022 01:45:02 +0300 Subject: [PATCH] Split files --- getMiner.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++ index.js | 59 ++++------------------------------------------------- 2 files changed, 57 insertions(+), 55 deletions(-) create mode 100644 getMiner.js diff --git a/getMiner.js b/getMiner.js new file mode 100644 index 0000000..6595d17 --- /dev/null +++ b/getMiner.js @@ -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}; +}; \ No newline at end of file diff --git a/index.js b/index.js index df66bac..9827bd3 100644 --- a/index.js +++ b/index.js @@ -1,53 +1,6 @@ -const axios = require('axios'); const dedent = require('dedent-js'); -const getMiner = async (wallet) => { - 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 getMiner = require('./getMiner'); const handleFirstLaunch = async (event) => { const {version, session} = event; @@ -161,15 +114,11 @@ module.exports.handler = async (event) => { return handlers[request.command](event); } - if (state.session.awaiting_wallet_input) { - return handleWalletInput(event); + if (!state.user.wallet && session.new) { + return handleFirstLaunch(event); } - if (!state.user.wallet) { - if (session.new) { - return handleFirstLaunch(event); - } - + if (state.session.awaiting_wallet_input || !state.user.wallet) { return handleWalletInput(event); }