forked from ChrisChrome/weather-bot
Add automatic retry to fetching product text for filtering
This commit is contained in:
parent
9393bf8f94
commit
a31573b7c4
17
index.js
17
index.js
|
@ -421,6 +421,7 @@ xmpp.on("stanza", (stanza) => {
|
|||
if (!channel) return console.log(`${colors.red("[ERROR]")} Channel ${row.channelid} not found`);
|
||||
|
||||
// fetch the product text
|
||||
trySend = () => {
|
||||
fetch(`https://mesonet.agron.iastate.edu/api/1/nwstext/${product_id_raw}`).then((res) => {
|
||||
// If neither the body nor the product text contains the filter, ignore it
|
||||
res.text().then((text) => {
|
||||
|
@ -433,7 +434,13 @@ xmpp.on("stanza", (stanza) => {
|
|||
if (msg.channel.type === Discord.ChannelType.GuildAnnouncement) msg.crosspost();
|
||||
});
|
||||
});
|
||||
}).catch((err) => {
|
||||
setTimeout(() => {
|
||||
console.log(`${colors.red("[ERROR]")} Failed to fetch product text, retrying... ${err}`)
|
||||
trySend();
|
||||
})
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -460,6 +467,7 @@ xmpp.on("stanza", (stanza) => {
|
|||
if (!user) return console.log(`${colors.red("[ERROR]")} User ${row.userid} not found`);
|
||||
|
||||
// fetch the product text
|
||||
trySend = () => {
|
||||
fetch(`https://mesonet.agron.iastate.edu/api/1/nwstext/${product_id_raw}`).then((res) => {
|
||||
// If neither the body nor the product text contains the filter, ignore it
|
||||
res.text().then((text) => {
|
||||
|
@ -470,8 +478,13 @@ xmpp.on("stanza", (stanza) => {
|
|||
console.error(err);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
}).catch((err) => {
|
||||
setTimeout(() => {
|
||||
console.log(`${colors.red("[ERROR]")} Failed to fetch product text, retrying... ${err}`)
|
||||
trySend();
|
||||
})
|
||||
});;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue