From 4200215f5f668f086e12c3ca7d6b74ce71ab726d Mon Sep 17 00:00:00 2001 From: vaporvee Date: Sun, 17 Mar 2024 23:08:14 +0100 Subject: [PATCH] fixed error when no autojoinroles are set --- cmd_form.go | 2 -- handlers.go | 9 ++++++--- manage_data.go | 12 ++++++++++-- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/cmd_form.go b/cmd_form.go index 9dba00a..3a449c3 100644 --- a/cmd_form.go +++ b/cmd_form.go @@ -9,8 +9,6 @@ import ( "github.com/sirupsen/logrus" ) -var fileData []byte - var cmd_form Command = Command{ Definition: discordgo.ApplicationCommand{ Name: "form", diff --git a/handlers.go b/handlers.go index f39ce91..41f730d 100644 --- a/handlers.go +++ b/handlers.go @@ -159,8 +159,11 @@ func messageDelete(s *discordgo.Session, m *discordgo.MessageDelete) { //TODO: a } func guildMemberJoin(s *discordgo.Session, m *discordgo.GuildMemberAdd) { - err := s.GuildMemberRoleAdd(m.GuildID, m.User.ID, getAutoJoinRole(m.GuildID, m.User.Bot)) - if err != nil { - logrus.Error(err) + role := getAutoJoinRole(m.GuildID, m.User.Bot) + if role != "" { + err := s.GuildMemberRoleAdd(m.GuildID, m.User.ID, role) + if err != nil { + logrus.Error(err) + } } } diff --git a/manage_data.go b/manage_data.go index a6f5198..7e450fa 100644 --- a/manage_data.go +++ b/manage_data.go @@ -319,9 +319,17 @@ func getAutoJoinRole(guildID string, isBot bool) string { } else { isBotString = "user" } - err := db.QueryRow("SELECT "+isBotString+"_role FROM autojoinroles WHERE guild_id = $1", guildID).Scan(&role) + var exists bool + err := db.QueryRow("SELECT EXISTS (SELECT 1 FROM autojoinroles WHERE guild_id = $1)", guildID).Scan(&exists) if err != nil { - logrus.Error(err, guildID) + logrus.Error(err) + return role + } + if exists { + err = db.QueryRow("SELECT "+isBotString+"_role FROM autojoinroles WHERE guild_id = $1", guildID).Scan(&role) + if err != nil { + logrus.Error(err, guildID) + } } return role }