mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 09:33:32 +01:00
Added websocket voice state watching
Now emits voiceJoin(user, voice_channel) or voiceLeave(user, voice_channel) and adds/removes from voice_channel.speaking when a user joins or leaves a voice channel.
This commit is contained in:
@@ -148,21 +148,60 @@ var Server = (function (_Equality) {
|
||||
return this.name;
|
||||
};
|
||||
|
||||
Server.prototype.eventStartSpeaking = function eventStartSpeaking(user, channel) {
|
||||
channel = this.channels.get("id", channel.id);
|
||||
if (channel) {
|
||||
// good
|
||||
|
||||
// removes from other speaking channels first
|
||||
this.eventStopSpeaking(user);
|
||||
|
||||
channel.speaking.add(user);
|
||||
return true;
|
||||
} else {
|
||||
// bad
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
if (_isArray2) {
|
||||
if (_i2 >= _iterator2.length) break;
|
||||
_ref2 = _iterator2[_i2++];
|
||||
} else {
|
||||
_i2 = _iterator2.next();
|
||||
if (_i2.done) break;
|
||||
_ref2 = _i2.value;
|
||||
}
|
||||
|
||||
var chan = _ref2;
|
||||
|
||||
if (chan.speaking.has(user)) {
|
||||
chan.speaking.remove(user);
|
||||
return chan;
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
Server.prototype.equalsStrict = function equalsStrict(obj) {
|
||||
if (obj instanceof Server) {
|
||||
for (var _iterator2 = strictKeys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
|
||||
var _ref2;
|
||||
for (var _iterator3 = strictKeys, _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 key = _ref2;
|
||||
var key = _ref3;
|
||||
|
||||
if (obj[key] !== this[key]) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user