some refactors
authorEduardo <[email protected]>
Thu, 28 Mar 2024 16:58:59 +0000 (17:58 +0100)
committerEduardo <[email protected]>
Thu, 28 Mar 2024 16:58:59 +0000 (17:58 +0100)
bot.go

diff --git a/bot.go b/bot.go
index 3bfa621413c0e10a5b55fd314f86407aebf79c42..59ccc7f45db617c711ffc406cdb1443fbc5956da 100644 (file)
--- 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
                }