Handle errors

This commit is contained in:
Michał Gdula 2025-05-08 18:26:50 +01:00
parent 3fafa834ed
commit 98dd655ddd
5 changed files with 58 additions and 16 deletions

View file

@ -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,

View file

@ -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{}
}

View file

@ -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{}
}

View file

@ -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{}
}

View file

@ -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{}
}