From 5a5c38e6d5721cbcb6c2550e6c09fae61e6c0b68 Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Thu, 26 Jan 2023 23:02:24 -0700 Subject: [PATCH] utility.linvite: better error handling --- src/modules/utility.js | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/modules/utility.js b/src/modules/utility.js index 1d27448..6281789 100644 --- a/src/modules/utility.js +++ b/src/modules/utility.js @@ -59,7 +59,12 @@ const CUSTOM_EMOTE_REGEX = /<(?:\u200b|&)?(a)?:(\w+):(\d+)>/; const sharp = require("sharp"); -const {hastebin, lookupUser, formatTime} = require("../lib/utils.js"); +const { + hastebin, + lookupUser, + formatTime, + safeString, +} = require("../lib/utils.js"); const {getNamesFromString} = require("../lib/unicode.js"); const avatar = new Command("avatar"); @@ -278,9 +283,25 @@ lookupinvite.callback = async function (msg, line) { line = line.replace(/(https?:\/\/)?discord\.gg\//, ""); - const invite = await hf.bot.requestHandler.request("GET", - `/invites/${line}?with_counts=1`, - ); + let bail = false; + let error; + let invite; + try { + invite = await hf.bot.requestHandler.request( + "GET", + `/invites/${line}?with_counts=1` + ); + } catch (err) { + bail = true; + error = err; + } + if (bail && error) { + if (error.message.includes("Unknown Invite")) { + return "Invite provided is not valid."; + } else { + return `:warning: Got error \`${safeString(error)}\``; + } + } if (!invite) return ":warning: No data returned."; if (invite.message) {