From a01d20870198ba5adc5e065bd88db563c1e51cc9 Mon Sep 17 00:00:00 2001 From: Skillz Date: Sat, 30 Nov 2019 14:02:55 -0500 Subject: [PATCH 1/2] adds golive support --- index.d.ts | 2 ++ lib/gateway/Shard.js | 6 ++++-- lib/structures/VoiceState.js | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/index.d.ts b/index.d.ts index 489286a64..96f256f4d 100644 --- a/index.d.ts +++ b/index.d.ts @@ -100,6 +100,7 @@ declare namespace Eris { deaf: boolean; selfMute: boolean; selfDeaf: boolean; + selfStream: boolean; } interface OAuthApplicationInfo { @@ -1620,6 +1621,7 @@ declare namespace Eris { suppress: boolean; selfMute: boolean; selfDeaf: boolean; + selfStream: boolean; constructor(data: BaseData); toJSON(arg?: any, cache?: (string | any)[]): JSONCache; } diff --git a/lib/gateway/Shard.js b/lib/gateway/Shard.js index 41f4f47d6..d0e2455ef 100644 --- a/lib/gateway/Shard.js +++ b/lib/gateway/Shard.js @@ -338,7 +338,8 @@ class Shard extends EventEmitter { mute: member.voiceState.mute, deaf: member.voiceState.deaf, selfMute: member.voiceState.selfMute, - selfDeaf: member.voiceState.selfDeaf + selfDeaf: member.voiceState.selfDeaf, + selfStream: member.voiceState.selfStream }; const oldChannelID = member.voiceState.channelID; member.update(packet.d, this.client); @@ -383,7 +384,7 @@ class Shard extends EventEmitter { this.emit("voiceChannelLeave", oldChannel.voiceMembers.remove(member), oldChannel); } } - if(oldState.mute !== member.mute || oldState.deaf !== member.deaf || oldState.selfMute !== member.selfMute || oldState.selfDeaf !== member.selfDeaf) { + if(oldState.mute !== member.mute || oldState.deaf !== member.deaf || oldState.selfMute !== member.selfMute || oldState.selfDeaf !== member.selfDeaf || oldState.selfStream !== member.selfStream) { /** * Fired when a guild member's voice state changes * @event Client#voiceStateUpdate @@ -393,6 +394,7 @@ class Shard extends EventEmitter { * @prop {Boolean} oldState.deaf The previous server deaf status * @prop {Boolean} oldState.selfMute The previous self mute status * @prop {Boolean} oldState.selfDeaf The previous self deaf status + * @prop {Boolean} oldState.selfStream The previous self stream status */ this.emit("voiceStateUpdate", member, oldState); } diff --git a/lib/structures/VoiceState.js b/lib/structures/VoiceState.js index b73bfb76f..f0cb58629 100644 --- a/lib/structures/VoiceState.js +++ b/lib/structures/VoiceState.js @@ -12,6 +12,7 @@ const Base = require("./Base"); * @prop {Boolean} suppress Whether the member is suppressed or not * @prop {Boolean} selfMute Whether the member is self muted or not * @prop {Boolean} selfDeaf Whether the member is self deafened or not +* @prop {Boolean} selfStream Whether the member is streaming using "Go Live" */ class VoiceState extends Base { constructor(data) { @@ -31,6 +32,7 @@ class VoiceState extends Base { this.suppress = data.suppress !== undefined ? data.suppress : this.suppress || false; // Bots ignore this this.selfMute = data.self_mute !== undefined ? data.self_mute : this.selfMute || false; this.selfDeaf = data.self_deaf !== undefined ? data.self_deaf : this.selfDeaf || false; + this.selfStream = data.self_stream !== undefined ? data.self_stream : this.selfStream || false; } toJSON(props = []) { @@ -40,6 +42,7 @@ class VoiceState extends Base { "mute", "selfMute", "selfDeaf", + "selfStream", "sessionID", "suppress", ...props From 1b64fd529c259ec9f5903856c7e5118a3b2ff13b Mon Sep 17 00:00:00 2001 From: Skillz Date: Sat, 30 Nov 2019 14:53:43 -0500 Subject: [PATCH 2/2] fixes user going offline --- lib/structures/VoiceState.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/structures/VoiceState.js b/lib/structures/VoiceState.js index f0cb58629..db33cfe01 100644 --- a/lib/structures/VoiceState.js +++ b/lib/structures/VoiceState.js @@ -32,7 +32,7 @@ class VoiceState extends Base { this.suppress = data.suppress !== undefined ? data.suppress : this.suppress || false; // Bots ignore this this.selfMute = data.self_mute !== undefined ? data.self_mute : this.selfMute || false; this.selfDeaf = data.self_deaf !== undefined ? data.self_deaf : this.selfDeaf || false; - this.selfStream = data.self_stream !== undefined ? data.self_stream : this.selfStream || false; + this.selfStream = data.self_stream || false; } toJSON(props = []) {