From 98dd655dddba8caf5a4c972ebe42b303ab03cc5a Mon Sep 17 00:00:00 2001 From: Fluffy-Bean Date: Thu, 8 May 2025 18:26:50 +0100 Subject: [PATCH] Handle errors --- app/app.go | 6 +++--- pkg/commands/debug/debug.go | 8 +++++++- pkg/commands/img/img.go | 24 ++++++++++++++++++------ pkg/commands/porb/porb.go | 28 +++++++++++++++++++++++----- pkg/commands/tinyfox/tinyfox.go | 8 +++++++- 5 files changed, 58 insertions(+), 16 deletions(-) diff --git a/app/app.go b/app/app.go index 8975c5b..7293605 100644 --- a/app/app.go +++ b/app/app.go @@ -114,7 +114,7 @@ func (a *App) handler(session *discordgo.Session, message *discordgo.MessageCrea return } - h.Session.ChannelTyping(h.Message.ChannelID) + _ = h.Session.ChannelTyping(h.Message.ChannelID) err := callback(h, strings.Split(args, " ")) if !err.Ok() { @@ -128,7 +128,7 @@ func printHelp(a *App, h *Handler) { commands = append(commands, cmd) } - h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ + _, _ = h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ Embed: &discordgo.MessageEmbed{ Title: "Help", Description: strings.Join(commands, "\n"), @@ -141,7 +141,7 @@ func printHelp(a *App, h *Handler) { func printError(a *App, h *Handler, e Error) { log.Println(e.Err) - h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ + _, _ = h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ Embed: &discordgo.MessageEmbed{ Title: "Error", Description: e.Msg, diff --git a/pkg/commands/debug/debug.go b/pkg/commands/debug/debug.go index 0d32c49..3d9cb59 100644 --- a/pkg/commands/debug/debug.go +++ b/pkg/commands/debug/debug.go @@ -32,7 +32,7 @@ func registerDebug(a *app.App) app.Callback { } } - h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ + _, err := h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ Embed: &discordgo.MessageEmbed{ Title: "Lynxie", Fields: []*discordgo.MessageEmbedField{ @@ -71,6 +71,12 @@ func registerDebug(a *app.App) app.Callback { }, Reference: h.Reference, }) + if err != nil { + return app.Error{ + Msg: "failed to send debug message", + Err: err, + } + } return app.Error{} } diff --git a/pkg/commands/img/img.go b/pkg/commands/img/img.go index 70378db..3148864 100644 --- a/pkg/commands/img/img.go +++ b/pkg/commands/img/img.go @@ -69,7 +69,7 @@ func registerSaveable(a *app.App) app.Callback { } defer res.Body.Close() - h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ + _, err = h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ Embed: &discordgo.MessageEmbed{ Title: "Saveable", Description: "Image converted to GIF :3", @@ -87,6 +87,12 @@ func registerSaveable(a *app.App) app.Callback { }, Reference: h.Reference, }) + if err != nil { + return app.Error{ + Msg: "failed to send saveable message", + Err: err, + } + } return app.Error{} } @@ -129,7 +135,7 @@ func registerCaption(a *app.App) app.Callback { buff, err := io.ReadAll(res.Body) if err != nil { return app.Error{ - Msg: "Failed to read image", + Msg: "failed to read image", Err: err, } } @@ -137,7 +143,7 @@ func registerCaption(a *app.App) app.Callback { img, err := loadImageFromBytes(buff) if err != nil { return app.Error{ - Msg: "Failed to load image", + Msg: "failed to load image", Err: errors.New("Failed to load image " + err.Error()), } } @@ -162,7 +168,7 @@ func registerCaption(a *app.App) app.Callback { err = canvas.LoadFontFaceFromBytes(_resources.FontRoboto, captionSize) if err != nil { return app.Error{ - Msg: "Failed to load font", + Msg: "failed to load font", Err: err, } } @@ -188,12 +194,12 @@ func registerCaption(a *app.App) app.Callback { ) if err != nil { return app.Error{ - Msg: "Failed to encode JPEG", + Msg: "failed to encode JPEG", Err: err, } } - h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ + _, err = h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ Embed: &discordgo.MessageEmbed{ Title: "Caption", Image: &discordgo.MessageEmbedImage{ @@ -210,6 +216,12 @@ func registerCaption(a *app.App) app.Callback { }, Reference: h.Reference, }) + if err != nil { + return app.Error{ + Msg: "failed to send caption message", + Err: err, + } + } return app.Error{} } diff --git a/pkg/commands/porb/porb.go b/pkg/commands/porb/porb.go index 083f856..270a1b4 100644 --- a/pkg/commands/porb/porb.go +++ b/pkg/commands/porb/porb.go @@ -80,7 +80,13 @@ func registerE621(a *app.App) app.Callback { cmd.StringVar(&options.Order, "order", "random", "Search order") cmd.StringVar(&options.Rating, "rating", "e", "Search rating") - cmd.Parse(args) + err := cmd.Parse(args) + if err != nil { + return app.Error{ + Msg: "failed parsing e621 flags", + Err: err, + } + } req, err := http.NewRequest( http.MethodGet, @@ -94,7 +100,7 @@ func registerE621(a *app.App) app.Callback { ) if err != nil { return app.Error{ - Msg: "Failed to make request", + Msg: "failed to make request", Err: err, } } @@ -119,11 +125,17 @@ func registerE621(a *app.App) app.Callback { var data struct { Posts []post `json:"posts"` } - json.NewDecoder(res.Body).Decode(&data) + err = json.NewDecoder(res.Body).Decode(&data) + if err != nil { + return app.Error{ + Msg: "failed decoding e621 response", + Err: err, + } + } if len(data.Posts) == 0 { return app.Error{ - Msg: "No posts found", + Msg: "no posts found", Err: fmt.Errorf("no posts found"), } } @@ -142,7 +154,7 @@ func registerE621(a *app.App) app.Callback { generalTags = "No tags provided." } - h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ + _, err = h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ Embed: &discordgo.MessageEmbed{ Title: "E621", Description: description, @@ -184,6 +196,12 @@ func registerE621(a *app.App) app.Callback { }, Reference: h.Reference, }) + if err != nil { + return app.Error{ + Msg: "failed sending e621 message", + Err: err, + } + } return app.Error{} } diff --git a/pkg/commands/tinyfox/tinyfox.go b/pkg/commands/tinyfox/tinyfox.go index da599a6..0431443 100644 --- a/pkg/commands/tinyfox/tinyfox.go +++ b/pkg/commands/tinyfox/tinyfox.go @@ -125,7 +125,7 @@ func registerAnimal(a *app.App) app.Callback { } defer res.Body.Close() - h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ + _, err = h.Session.ChannelMessageSendComplex(h.Message.ChannelID, &discordgo.MessageSend{ Embed: &discordgo.MessageEmbed{ Title: "Animal", Image: &discordgo.MessageEmbedImage{ @@ -142,6 +142,12 @@ func registerAnimal(a *app.App) app.Callback { }, Reference: h.Reference, }) + if err != nil { + return app.Error{ + Msg: "failed to send tinyfox message", + Err: err, + } + } return app.Error{} }