From 58e3d5233d345e03f37dcfc745d1ff09e591de6c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 21 Sep 2023 21:41:13 +0000 Subject: new rate api --- lib/payments.js | 10 +++++++--- lib/rates.js | 5 +++-- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/payments.js b/lib/payments.js index b855e549..b17dfde6 100644 --- a/lib/payments.js +++ b/lib/payments.js @@ -181,12 +181,16 @@ export let credit = async (hash, amount, memo, ref, type = types.internal) => { callWebhook(invoice, p); if (user.hasprinter) { - let fiat = parseFloat(((amount * p.rate) / 100000000).toFixed(2)); - let words = dollarsToWords(fiat); let client = mqtt.connect("mqtt://ln.coinos.io", config.mqtt); client.subscribe(username); + let connected; + + if (user.hasspeaker) { + let fiat = parseFloat(((amount * p.rate) / 100000000).toFixed(2)); + let words = dollarsToWords(fiat); + if (fiat === 0.02) { words = "there is no second best"; client.publish(username, "easter"); @@ -205,7 +209,6 @@ export let credit = async (hash, amount, memo, ref, type = types.internal) => { let raw = `/app/data/uploads/${p.id}-raw.mp3`; let out = `/app/data/uploads/${p.id}.mp3`; - let connected; let mimic = spawn("/mimic", [ "-t", words, @@ -275,6 +278,7 @@ export let credit = async (hash, amount, memo, ref, type = types.internal) => { client.publish(username, `end:${chunks.length}`); }); }); + } client.on("connect", function() { client.publish( diff --git a/lib/rates.js b/lib/rates.js index 16ce37d5..bbb5418f 100644 --- a/lib/rates.js +++ b/lib/rates.js @@ -50,9 +50,10 @@ export let getRates = async () => { if (Date.now() - date > 24 * 60 * 60 * 1000) { date = Date.now(); try { - let { rates: fx } = await got( - `https://api.exchangerate.host/latest?base=USD&v={(new Date()).toISOString().split('T')[0]}` + let r = await got( + `https://v6.exchangerate-api.com/v6/${config.exchange}/latest/USD` ).json(); + let { conversion_rates: fx } = r; await s("rates", { date, fx }); } catch (e) { err("error fetching rates", e.message); -- cgit v1.2.3