mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Added rudimentary voice joining
This commit is contained in:
@@ -22,7 +22,8 @@ var User = require("../Structures/User.js"),
|
||||
Server = require("../Structures/Server.js"),
|
||||
Message = require("../Structures/Message.js"),
|
||||
Role = require("../Structures/Role.js"),
|
||||
Invite = require("../Structures/Invite.js");
|
||||
Invite = require("../Structures/Invite.js"),
|
||||
VoiceConnection = require("../Voice/VoiceConnection.js");
|
||||
|
||||
var zlib;
|
||||
|
||||
@@ -47,6 +48,62 @@ var InternalClient = (function () {
|
||||
this.resolver = new Resolver(this);
|
||||
}
|
||||
|
||||
//def joinVoiceChannel()
|
||||
|
||||
InternalClient.prototype.joinVoiceChannel = function joinVoiceChannel(chann) {
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var channel = self.resolver.resolveVoiceChannel(chann);
|
||||
|
||||
if (channel) {
|
||||
if (self.voiceConnections[channel]) {
|
||||
|
||||
self.voiceConnections[channel] = {};
|
||||
|
||||
var session,
|
||||
token,
|
||||
serverID,
|
||||
endpoint,
|
||||
fired = 0;
|
||||
|
||||
var check = function check(m) {
|
||||
var data = JSON.parse(m);
|
||||
|
||||
if (data.t === "VOICE_STATE_UPDATE") {
|
||||
session = data.d.session_id;
|
||||
fired++;
|
||||
} else if (data.t === "VOICE_SERVER_UPDATE") {
|
||||
token = data.d.token;
|
||||
serverID = data.d.guild_id;
|
||||
endpoint = data.d.endpoint;
|
||||
fired++;
|
||||
}
|
||||
|
||||
if (fired >= 2) {
|
||||
self.websocket.removeListener('message', check);
|
||||
}
|
||||
};
|
||||
|
||||
self.websocket.on("message", check);
|
||||
self.sendWS({
|
||||
op: 4,
|
||||
d: {
|
||||
"guild_id": serverID,
|
||||
"channel_id": channel.id,
|
||||
"self_mute": false,
|
||||
"self_deaf": false
|
||||
}
|
||||
});
|
||||
} else {
|
||||
reject(new Error("voice channel connection exists"));
|
||||
}
|
||||
} else {
|
||||
reject(new Error("voice channel does not exist"));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// def createServer
|
||||
|
||||
InternalClient.prototype.createServer = function createServer(name) {
|
||||
|
||||
Reference in New Issue
Block a user