From ed8b79aa4605c500fa563c3bcd43b7d01c4b91c9 Mon Sep 17 00:00:00 2001 From: Amish Shah Date: Sun, 2 Oct 2016 15:12:43 +0100 Subject: [PATCH] Add session description and speaking listeners --- src/client/voice/VoiceWebSocket.js | 7 +++++++ src/client/voice/util/SecretKey.js | 10 ++++++++++ 2 files changed, 17 insertions(+) create mode 100644 src/client/voice/util/SecretKey.js diff --git a/src/client/voice/VoiceWebSocket.js b/src/client/voice/VoiceWebSocket.js index 2af84a1b8..551941689 100644 --- a/src/client/voice/VoiceWebSocket.js +++ b/src/client/voice/VoiceWebSocket.js @@ -1,5 +1,6 @@ const WebSocket = require('ws'); const Constants = require('../../util/Constants'); +const SecretKey = require('./util/SecretKey'); const EventEmitter = require('events').EventEmitter; /** @@ -118,6 +119,12 @@ class VoiceWebSocket extends EventEmitter { case Constants.VoiceOPCodes.READY: this.setHeartbeat(packet.d.heartbeat_interval); break; + case Constants.VoiceOPCodes.SESSION_DESCRIPTION: + this.emit('sessionDescription', packet.d.mode, new SecretKey(packet.d.secret_key)); + break; + case Constants.VoiceOPCodes.SPEAKING: + this.emit('speaking', packet.d); + break; } } diff --git a/src/client/voice/util/SecretKey.js b/src/client/voice/util/SecretKey.js new file mode 100644 index 000000000..50debd8c8 --- /dev/null +++ b/src/client/voice/util/SecretKey.js @@ -0,0 +1,10 @@ +class SecretKey { + constructor(key) { + this.key = new Uint8Array(new ArrayBuffer(key.length)); + for (const index in key) { + this.key[index] = key[index]; + } + } +} + +module.exports = SecretKey;