From 9a8d084bb4ce09210a34c04a1505710fb2e62f04 Mon Sep 17 00:00:00 2001 From: Dragon Fire Date: Sun, 7 Mar 2021 20:51:49 -0500 Subject: [PATCH] Handle Cleverbot errors. --- Xiao.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Xiao.js b/Xiao.js index 32ba4daf..1740732d 100644 --- a/Xiao.js +++ b/Xiao.js @@ -162,10 +162,21 @@ client.on('message', async msg => { if (cleverbot) { if (!cleverbot.shouldRespond(msg)) return; msg.channel.startTyping().catch(() => null); - const response = await cleverbot.respond(msg.cleanContent); - msg.channel.stopTyping(true); - await msg.channel.send(response); - return; + try { + const response = await cleverbot.respond(msg.cleanContent); + msg.channel.stopTyping(true); + await msg.channel.send(response); + return; + } catch (err) { + msg.channel.stopTyping(true); + if (err.status === 503) { + await msg.channel.send('Monthly API limit reached. Ending conversation.'); + client.cleverbots.delete(msg.channel.id); + return; + } + await msg.channel.send('Sorry, blacked out there for a second. Come again?'); + return; + } } // Phone message handler