summaryrefslogtreecommitdiff
path: root/src/discord/discord.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/discord/discord.cpp')
-rw-r--r--src/discord/discord.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index cd16aa8..c068243 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -1194,10 +1194,14 @@ void DiscordClient::DisconnectFromVoice() {
m_websocket.Send(m);
}
-bool DiscordClient::IsConnectedToVoice() const noexcept {
+bool DiscordClient::IsVoiceConnected() const noexcept {
return m_voice.IsConnected();
}
+bool DiscordClient::IsVoiceConnecting() const noexcept {
+ return m_voice.IsConnecting();
+}
+
Snowflake DiscordClient::GetVoiceChannelID() const noexcept {
return m_voice_channel_id;
}
@@ -2174,7 +2178,7 @@ void DiscordClient::HandleGatewayVoiceStateUpdate(const GatewayMessage &msg) {
m_voice.SetSessionID(data.SessionID);
// channel_id = null means disconnect. stop cuz out of order maybe
- if (!data.ChannelID.has_value()) {
+ if (!data.ChannelID.has_value() && (m_voice.IsConnected() || m_voice.IsConnecting())) {
m_voice.Stop();
}
} else {