Throw errors on missing voice dependencies

This commit is contained in:
abalabahaha
2016-04-13 00:46:13 -07:00
parent 28fce9ea34
commit 2842b97776
4 changed files with 23 additions and 15 deletions

View File

@@ -233,15 +233,13 @@ var VoiceConnection = (function (_EventEmitter) {
try {
if (!self.encoder.opus) {
self.playing = false;
self.emit("error", "No Opus!");
self.client.emit("debug", "Tried to use node-opus, but opus not available - install it!");
throw new Error("node-opus not found! Perhaps you didn't install it.");
return;
}
if (!self.encoder.sanityCheck()) {
self.playing = false;
self.emit("error", "Opus sanity check failed!");
self.client.emit("debug", "Opus sanity check failed - opus is installed but not correctly! Please reinstall opus and make sure it's installed correctly.");
throw new Error("node-opus sanity check failed! Try re-installing node-opus.");
return;
}

View File

@@ -2,13 +2,14 @@
exports.__esModule = true;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var _tweetnacl = require("tweetnacl");
var _tweetnacl2 = _interopRequireDefault(_tweetnacl);
var nacl;
try {
nacl = require("tweetnacl");
} catch (e) {
// no tweetnacl!
}
var nonce = new Buffer(24);
nonce.fill(0);
@@ -16,6 +17,9 @@ nonce.fill(0);
var VoicePacket = function VoicePacket(data, sequence, time, ssrc, secret) {
_classCallCheck(this, VoicePacket);
if (!nacl) {
throw new Error("tweetnacl not found! Perhaps you didn't install it.");
}
var mac = secret ? 16 : 0;
var packetLength = data.length + 12 + mac;
@@ -33,7 +37,7 @@ var VoicePacket = function VoicePacket(data, sequence, time, ssrc, secret) {
if (secret) {
// copy first 12 bytes
returnBuffer.copy(nonce, 0, 0, 12);
audioBuffer = _tweetnacl2["default"].secretbox(data, nonce, secret);
audioBuffer = nacl.secretbox(data, nonce, secret);
}
for (var i = 0; i < audioBuffer.length; i++) {

View File

@@ -197,15 +197,13 @@ export default class VoiceConnection extends EventEmitter {
try {
if (!self.encoder.opus){
self.playing=false;
self.emit("error", "No Opus!");
self.client.emit("debug", "Tried to use node-opus, but opus not available - install it!");
throw new Error("node-opus not found! Perhaps you didn't install it.");
return;
}
if (!self.encoder.sanityCheck()) {
self.playing = false;
self.emit("error", "Opus sanity check failed!");
self.client.emit("debug", "Opus sanity check failed - opus is installed but not correctly! Please reinstall opus and make sure it's installed correctly.");
throw new Error("node-opus sanity check failed! Try re-installing node-opus.");
return;
}

View File

@@ -1,12 +1,20 @@
"use strict";
import nacl from "tweetnacl";
var nacl;
try {
nacl = require("tweetnacl");
} catch (e) {
// no tweetnacl!
}
const nonce = new Buffer(24);
nonce.fill(0);
export default class VoicePacket {
constructor(data, sequence, time, ssrc, secret){
if(!nacl) {
throw new Error("tweetnacl not found! Perhaps you didn't install it.");
}
var mac = secret ? 16 : 0;
var packetLength = data.length + 12 + mac;