From cda5bc0c810d450dc5ea5a728a3a9e7c8d71858b Mon Sep 17 00:00:00 2001 From: trigg Date: Mon, 5 Oct 2020 17:00:25 +0100 Subject: [PATCH] - Sort by speaking alongside speaking start time fixes #73 --- discover_overlay/discord_connector.py | 2 ++ discover_overlay/voice_overlay.py | 1 + 2 files changed, 3 insertions(+) diff --git a/discover_overlay/discord_connector.py b/discover_overlay/discord_connector.py index a372eae..0ca61b2 100644 --- a/discover_overlay/discord_connector.py +++ b/discover_overlay/discord_connector.py @@ -166,6 +166,8 @@ class DiscordConnector: self.voice_overlay.delete_avatar(user["id"]) if "lastspoken" not in user: # Still nothing? user["lastspoken"] = 0 # EEEEPOOCH EEEEEPOCH! BELIEVE MEEEE + if "speaking" not in user: + user["speaking"] = False self.userlist[user["id"]] = user def on_message(self, message): diff --git a/discover_overlay/voice_overlay.py b/discover_overlay/voice_overlay.py index cf377fd..9503c19 100644 --- a/discover_overlay/voice_overlay.py +++ b/discover_overlay/voice_overlay.py @@ -119,6 +119,7 @@ class VoiceOverlayWindow(OverlayWindow): self.userlist.sort(key=lambda x: x["id"]) elif self.order == 2: # Spoken sort self.userlist.sort(key=lambda x: x["lastspoken"], reverse=True) + self.userlist.sort(key=lambda x: x["speaking"], reverse=True) else: # Name sort self.userlist.sort(key=lambda x: x["friendlyname"]) screen = self.get_screen()