From 04134c6f9d3e640245727212c5f8e5028ac61bfd Mon Sep 17 00:00:00 2001 From: vaporvee Date: Tue, 11 Jun 2024 17:48:19 +0200 Subject: [PATCH] added more error feedback messages --- plugin_src/autopublish/listener.go | 5 +---- plugin_src/forms/main.go | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/plugin_src/autopublish/listener.go b/plugin_src/autopublish/listener.go index 5cbd4a6..6b4a2fa 100644 --- a/plugin_src/autopublish/listener.go +++ b/plugin_src/autopublish/listener.go @@ -7,10 +7,7 @@ import ( ) func messageCreate(e *events.MessageCreate) { - channel, err := e.Client().Rest().GetChannel(e.Message.ChannelID) - if err != nil { - logrus.Error(err) - } + channel, _ := e.Client().Rest().GetChannel(e.Message.ChannelID) if channel.Type() == discord.ChannelTypeGuildNews { if isAutopublishEnabled(e.GuildID.String(), e.ChannelID.String()) { _, err := e.Client().Rest().CrosspostMessage(e.ChannelID, e.MessageID) diff --git a/plugin_src/forms/main.go b/plugin_src/forms/main.go index 39e2d00..8ee22f7 100644 --- a/plugin_src/forms/main.go +++ b/plugin_src/forms/main.go @@ -193,6 +193,10 @@ var Plugin = &shared.Plugin{ Build() message, err := e.Client().Rest().CreateMessage(e.Channel().ID(), messagebuild) if err != nil { + if strings.Split(err.Error(), ":")[0] == "50001" { + e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("🛑 This App doesn't have permission to send a form panel to this channel!").SetEphemeral(true).Build()) + return + } logrus.Error(err) } var category string @@ -243,6 +247,10 @@ var Plugin = &shared.Plugin{ embed := e.Message.Embeds[0] moderator := e.User().ID channel := createFormComment(form_manage_id, snowflake.MustParse(author), moderator, "answer", embed, *e.GuildID(), e.Client()) + if channel == nil { + e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("🛑 This App doesn't have the needed permissions to create a form answer channel!").SetEphemeral(true).Build()) + return + } e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("Created channel " + discord.ChannelMention(channel.ID())).SetEphemeral(true).Build()) } } else { @@ -287,6 +295,10 @@ var Plugin = &shared.Plugin{ SetAuthorName(*e.User().GlobalName).SetAuthorIcon(*e.User().AvatarURL()).SetTitle("\""+modal.Title+"\"").SetDescription("This is the submitted result"). SetColor(custom.GetColor("primary")).SetFields(fields...). Build(), *e.GuildID(), e.Client()) + if channel == nil { + e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("🛑 This App doesn't have the needed permissions to create a form answer channel!").SetEphemeral(true).Build()) + return + } err := e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("Created channel " + discord.ChannelMention(channel.ID())).SetEphemeral(true).Build()) if err != nil { logrus.Error(err) @@ -308,6 +320,10 @@ var Plugin = &shared.Plugin{ WithEmoji(discord.ComponentEmoji{Name: "👥"}))). Build()) if err != nil { + if strings.Split(err.Error(), ":")[0] == "50001" { + e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("🛑 This App doesn't have permission to send the form result to the spcified channel!").SetEphemeral(true).Build()) + return + } logrus.Error(err) } else { err = e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("Submitted!").SetEphemeral(true).Build()) @@ -335,8 +351,11 @@ var Plugin = &shared.Plugin{ Build()). SetContainerComponents(discord.NewActionRow(buttons...)). Build()) - if err != nil { + if strings.Split(err.Error(), ":")[0] == "50001" { + e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("🛑 This App doesn't have permission to send the form result to the spcified accept channel!").SetEphemeral(true).Build()) + return + } logrus.Error(err) } else { err = e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("Submitted!").SetEphemeral(true).Build()) @@ -421,6 +440,10 @@ var Plugin = &shared.Plugin{ Build() message, err := e.Client().Rest().CreateMessage(e.Channel().ID(), messagebuild) if err != nil { + if strings.Split(err.Error(), ":")[0] == "50001" { + e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("🛑 This App doesn't have permission to send a ticket panel to this channel!").SetEphemeral(true).Build()) + return + } logrus.Error(err) return }