From 47cce641f7eaee48c0a588b05182a5c6b3030637 Mon Sep 17 00:00:00 2001 From: ION606 Date: Wed, 7 May 2025 21:18:05 -0400 Subject: [PATCH] fixed suggestion --- Bot/Commands/suggest.go | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/Bot/Commands/suggest.go b/Bot/Commands/suggest.go index 99d4a53..f8a870f 100644 --- a/Bot/Commands/suggest.go +++ b/Bot/Commands/suggest.go @@ -22,9 +22,16 @@ var SuggestCommand = &discordgo.ApplicationCommand{ var timeToWait = time.Minute * time.Duration(5) - func HandleSuggest(s *discordgo.Session, i *discordgo.InteractionCreate) { - userID := i.Member.User.ID + var userID string + + if i.Member != nil { + userID = i.Member.User.ID + } else if i.User != nil { + userID = i.User.ID + } else { + return + } // Check cooldown from DB lastSubmission, err := helpers.GetLastSubmission(userID) @@ -46,7 +53,7 @@ func HandleSuggest(s *discordgo.Session, i *discordgo.InteractionCreate) { return } - err = helpers.RemoveUserSubmittions(userID); + err = helpers.RemoveUserSubmittions(userID) if err != nil { log.Default().Println(fmt.Sprintf("%s", err.Error())) } @@ -98,13 +105,24 @@ func HandleSuggestModal(s *discordgo.Session, i *discordgo.InteractionCreate) { } // Create payload + var senderID, senderUsername string + if i.Member != nil && i.Member.User != nil { + senderID = i.Member.User.ID + senderUsername = i.Member.User.Username + } else if i.User != nil { + senderID = i.User.ID + senderUsername = i.User.Username + } else { + return + } + payload := map[string]string{ "content": fmt.Sprintf("**New Suggestion from <@%s> (%s)**\n```\n%s\n```", - i.Member.User.ID, - i.Member.User.Username, + senderID, + senderUsername, content), } - + jsonData, err := json.Marshal(payload) if err != nil { helpers.HandleError(s, i, fmt.Errorf("failed to marshal payload: %w", err))