From 0e921bbb9f7a1250185f23f0d10064519ded84a1 Mon Sep 17 00:00:00 2001 From: vaporvee Date: Tue, 12 Mar 2024 09:50:28 +0100 Subject: [PATCH] made command response error when cataas is down --- cmd_cat.go | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/cmd_cat.go b/cmd_cat.go index 5fbdfbd..047b3c7 100644 --- a/cmd_cat.go +++ b/cmd_cat.go @@ -3,7 +3,6 @@ package main import ( "encoding/json" "io" - "log" "net/http" "github.com/bwmarrin/discordgo" @@ -15,12 +14,15 @@ var cmd_cat Command = Command{ Description: "Random cat pictures", }, Interact: func(s *discordgo.Session, i *discordgo.InteractionCreate) { - respondEmbed(i.Interaction, discordgo.MessageEmbed{ - Type: discordgo.EmbedTypeImage, - Color: hexToDecimal(color["primary"]), - Image: &discordgo.MessageEmbedImage{ - URL: GetCatImageURL(), - }}, false) + cat, err := GetCatImageURL() + if err == nil { + respondEmbed(i.Interaction, discordgo.MessageEmbed{ + Type: discordgo.EmbedTypeImage, + Color: hexToDecimal(color["primary"]), + Image: &discordgo.MessageEmbedImage{ + URL: cat, + }}, false) + } }, } @@ -28,23 +30,18 @@ type CatImage struct { ID string `json:"_id"` } -func GetCatImageURL() string { +func GetCatImageURL() (string, error) { resp, err := http.Get("https://cataas.com/cat?json=true") if err != nil { - log.Print("Error making GET request:", err) + return "", err } defer resp.Body.Close() - body, err := io.ReadAll(resp.Body) if err != nil { - log.Print("Error reading response body:", err) + return "", err } - var images CatImage err = json.Unmarshal(body, &images) - if err != nil { - log.Print("Error unmarshalling JSON:", err) - } - return "https://cataas.com/cat/" + images.ID + return "https://cataas.com/cat/" + images.ID, err }