From a4745f05d5d210c49c282411f7f63c2a8e625e09 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 27 Nov 2023 03:03:48 -0500 Subject: [PATCH] refactor: Clean up random token implementation --- server/channelserver/handlers_cast_binary.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/server/channelserver/handlers_cast_binary.go b/server/channelserver/handlers_cast_binary.go index 89e978ffd..1fe81c323 100644 --- a/server/channelserver/handlers_cast_binary.go +++ b/server/channelserver/handlers_cast_binary.go @@ -321,9 +321,16 @@ func parseChatCommand(s *Session, command string) { } case commands["Discord"].Prefix: if commands["Discord"].Enabled { - discordToken := make([]byte, 8) - _, err := rand.Read(discordToken) - s.logger.Info(fmt.Sprint(discordToken)) + randToken := make([]byte, 4) + + _, err := rand.Read(randToken) + if err != nil { + sendServerChatMessage(s, fmt.Sprint("An error occurred while processing this command")) + s.logger.Error(fmt.Sprint(err)) + return + } + + discordToken := fmt.Sprintf("%x-%x", randToken[:2], randToken[2:]) _, err = s.server.db.Exec("UPDATE users u SET discord_token = $1 WHERE u.id=(SELECT c.user_id FROM characters c WHERE c.id=$2)", fmt.Sprint(discordToken), s.charID) if err != nil { sendServerChatMessage(s, fmt.Sprint("An error occurred while processing this command"))