diff options
Diffstat (limited to 'lib/rates.js')
| -rw-r--r-- | lib/rates.js | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lib/rates.js b/lib/rates.js index 33982ba3..30ab0dce 100644 --- a/lib/rates.js +++ b/lib/rates.js @@ -1,25 +1,26 @@ const axios = require("axios"); +const fs = require("fs"); let binance = require("./binance")(); let fetchRates; (fetchRates = async () => { - let fx = require("./devrates"); + let date, fx; - if (prod) { - try { - let res = await axios.get( - `http://data.fixer.io/api/latest?access_key=${config.fixer}` - ); + try { + ({ date, fx } = JSON.parse(fs.readFileSync("fx"))); + } catch { + l.warn("Failed to read fx file"); + } - fx = res.data.rates; + let today = JSON.stringify(new Date()).replace(/T.*/, "").replace(/"/, ""); - fx && - Object.keys(fx).map(symbol => { - rates[symbol] = fx[symbol] / fx["USD"]; - }); + if (date !== today) { + try { + let { data: { rates: fx }} = await axios.get('https://api.exchangerate.host/latest'); + fs.writeFileSync("fx", JSON.stringify({ date, fx })); } catch (e) { - l.error("error fetching rates", e); + l.error("error fetching rates", e.message); } } |
