Voice States in READY packet now processed

Now there is full watching and coverage of voice states
This commit is contained in:
Amish Shah
2015-12-26 15:54:45 +00:00
parent 9c0e20947c
commit 9d97dfc95a
3 changed files with 61 additions and 18 deletions

View File

@@ -116,6 +116,31 @@ var Server = (function (_Equality) {
}
}
}
if (data.voice_states) {
for (var _iterator2 = data.voice_states, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
var voiceState = _ref2;
var _user = this.members.get("id", voiceState.user_id);
var channel = this.channels.get("id", voiceState.channel_id);
if (_user && channel) {
this.eventStartSpeaking(_user, channel);
} else {
this.client.emit("warn", "user doesn't exist even though READY expects them to");
}
}
}
}
Server.prototype.detailsOf = function detailsOf(user) {
@@ -165,19 +190,19 @@ var Server = (function (_Equality) {
};
Server.prototype.eventStopSpeaking = function eventStopSpeaking(user) {
for (var _iterator2 = this.channels.getAll("type", "voice"), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
for (var _iterator3 = this.channels.getAll("type", "voice"), _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
var _ref3;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
if (_isArray3) {
if (_i3 >= _iterator3.length) break;
_ref3 = _iterator3[_i3++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
_i3 = _iterator3.next();
if (_i3.done) break;
_ref3 = _i3.value;
}
var chan = _ref2;
var chan = _ref3;
if (chan.speaking.has(user)) {
chan.speaking.remove(user);
@@ -189,19 +214,19 @@ var Server = (function (_Equality) {
Server.prototype.equalsStrict = function equalsStrict(obj) {
if (obj instanceof Server) {
for (var _iterator3 = strictKeys, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
var _ref3;
for (var _iterator4 = strictKeys, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
var _ref4;
if (_isArray3) {
if (_i3 >= _iterator3.length) break;
_ref3 = _iterator3[_i3++];
if (_isArray4) {
if (_i4 >= _iterator4.length) break;
_ref4 = _iterator4[_i4++];
} else {
_i3 = _iterator3.next();
if (_i3.done) break;
_ref3 = _i3.value;
_i4 = _iterator4.next();
if (_i4.done) break;
_ref4 = _i4.value;
}
var key = _ref3;
var key = _ref4;
if (obj[key] !== this[key]) {
return false;