diff --git a/index.js b/index.js index cf384fd..6272808 100644 --- a/index.js +++ b/index.js @@ -6,11 +6,16 @@ const namesMap = {gems:"Салоцветы",money:"Самородки",balance:" let exchangeClient = new HilSu.ExchangeClient(process.env.HILTOKEN); let bot = new Telegraf(process.env.BOTTOKEN); +/** + * rates - Новое значение курса + * oldRates - Предыдущее значение курса + */ exchangeClient.on("ratesUpdate", (rates,oldRates) => { - if(oldRates===rates) return; - if(oldRates===undefined) return; + if(oldRates===rates) return; //пропускаем если ничего не изменилось + if(oldRates===undefined) return; //и пропускаем если это первое получение данных (при старте) let message = "Обновление курса:\n"; for (let rate of rates.rates) { + //получаем старый курс для этого обмена let old = oldRates.rates.find(r => r.to===rate.to&&r.from===rate.from); message+=`${namesMap[rate.from]} -> ${namesMap[rate.to]}: ${rate.value.toFixed(3)} (${getPercentageChange(old.value, rate.value).toFixed(2)}%)\n`; } @@ -23,4 +28,4 @@ function getPercentageChange(oldNumber, newNumber){ } bot.startPolling(); -exchangeClient.connect(); \ No newline at end of file +exchangeClient.connect();