From cbe657967e555bd08cd367565563844d5b6e8f0d Mon Sep 17 00:00:00 2001 From: Eduardo Date: Thu, 28 Mar 2024 17:58:59 +0100 Subject: [PATCH] some refactors --- bot.go | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/bot.go b/bot.go index 3bfa621..59ccc7f 100644 --- a/bot.go +++ b/bot.go @@ -421,18 +421,19 @@ func formatUserStatus(member discordgo.Member, presence discordgo.Presence) stri } func formatUserVoiceStatus(member discordgo.Member, voiceState discordgo.VoiceState) string { - var emoji string - - emoji = "🐵" + var emoji string = "🐵" if member.Mute || voiceState.Mute || voiceState.SelfMute { emoji = "🙊" } + if member.Deaf || voiceState.Deaf || voiceState.SelfDeaf { emoji = "🙉" } + if voiceState.SelfVideo { emoji += "📹" } + if voiceState.SelfStream { emoji += "🖥" } @@ -448,7 +449,7 @@ func formatUserVisibleName(member discordgo.Member) string { user = member.User.Username - // discordgo.User is edited with: DisplayName string `json:"display_name"` + //FIXME: discordgo.User is edited with: DisplayName string `json:"display_name"` if member.User.DisplayName != "" { user = member.User.DisplayName } @@ -486,13 +487,18 @@ func sortMembers(slice []string) { user1 := replaceAllStrings(slice[i], []string{"📱", "🐵", "🙊", "🙉", "📹", "🖥"}, "") user2 := replaceAllStrings(slice[j], []string{"📱", "🐵", "🙊", "🙉", "📹", "🖥"}, "") - if strings.Contains(user1, "🟢") && !strings.Contains(user2, "🟢") { + isUser1online := strings.Contains(user1, "🟢") + isUser2online := strings.Contains(user2, "🟢") + isUser1offline := strings.Contains(user1, "🔴") + isUser2offline := strings.Contains(user2, "🔴") + + if isUser1online && !isUser2online { return true - } else if !strings.Contains(user1, "🟢") && strings.Contains(user2, "🟢") { + } else if !isUser1online && isUser2online { return false - } else if strings.Contains(user1, "🔴") && !strings.Contains(user2, "🔴") { + } else if isUser1offline && !isUser2offline { return false - } else if !strings.Contains(user1, "🔴") && strings.Contains(user2, "🔴") { + } else if !isUser1offline && isUser2offline { return true } -- 2.30.2