mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 04:23:31 +01:00
Added the new gateway capability
This commit is contained in:
@@ -120,7 +120,6 @@ var Client = (function () {
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.createws();
|
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
if (self.state === 0 || self.state === 4) {
|
if (self.state === 0 || self.state === 4) {
|
||||||
|
|
||||||
@@ -143,9 +142,15 @@ var Client = (function () {
|
|||||||
} else {
|
} else {
|
||||||
self.state = 2; //set state to logged in (not yet ready)
|
self.state = 2; //set state to logged in (not yet ready)
|
||||||
self.token = res.body.token; //set our token
|
self.token = res.body.token; //set our token
|
||||||
self.trySendConnData();
|
|
||||||
callback(null, self.token);
|
getGateway().then(function (url) {
|
||||||
resolve(self.token);
|
self.createws(url);
|
||||||
|
callback(null, self.token);
|
||||||
|
resolve(self.token);
|
||||||
|
})["catch"](function (err) {
|
||||||
|
callback(err);
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@@ -687,13 +692,13 @@ var Client = (function () {
|
|||||||
//def createws
|
//def createws
|
||||||
}, {
|
}, {
|
||||||
key: "createws",
|
key: "createws",
|
||||||
value: function createws() {
|
value: function createws(url) {
|
||||||
if (this.websocket) return false;
|
if (this.websocket) return false;
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
//good to go
|
//good to go
|
||||||
this.websocket = new WebSocket(Endpoints.WEBSOCKET_HUB);
|
this.websocket = new WebSocket(url);
|
||||||
|
|
||||||
//open
|
//open
|
||||||
this.websocket.onopen = function () {
|
this.websocket.onopen = function () {
|
||||||
@@ -1413,4 +1418,19 @@ var Client = (function () {
|
|||||||
return Client;
|
return Client;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
function getGateway() {
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
request.get(Endpoints.API + "/gateway").end(function (err, res) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve(res.body.url);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = Client;
|
module.exports = Client;
|
||||||
@@ -132,7 +132,6 @@ class Client {
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.createws();
|
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
if (self.state === 0 || self.state === 4) {
|
if (self.state === 0 || self.state === 4) {
|
||||||
|
|
||||||
@@ -157,9 +156,16 @@ class Client {
|
|||||||
} else {
|
} else {
|
||||||
self.state = 2; //set state to logged in (not yet ready)
|
self.state = 2; //set state to logged in (not yet ready)
|
||||||
self.token = res.body.token; //set our token
|
self.token = res.body.token; //set our token
|
||||||
self.trySendConnData();
|
|
||||||
callback(null, self.token);
|
getGateway().then(function (url) {
|
||||||
resolve(self.token);
|
self.createws(url);
|
||||||
|
callback(null, self.token);
|
||||||
|
resolve(self.token);
|
||||||
|
}).catch(function (err) {
|
||||||
|
callback(err);
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -666,14 +672,14 @@ class Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//def createws
|
//def createws
|
||||||
createws() {
|
createws(url) {
|
||||||
if (this.websocket)
|
if (this.websocket)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
//good to go
|
//good to go
|
||||||
this.websocket = new WebSocket(Endpoints.WEBSOCKET_HUB);
|
this.websocket = new WebSocket(url);
|
||||||
|
|
||||||
//open
|
//open
|
||||||
this.websocket.onopen = function () {
|
this.websocket.onopen = function () {
|
||||||
@@ -1106,4 +1112,22 @@ class Client {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getGateway() {
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
request
|
||||||
|
.get(`${Endpoints.API}/gateway`)
|
||||||
|
.end(function (err, res) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve(res.body.url);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = Client;
|
module.exports = Client;
|
||||||
12
test/bot.js
12
test/bot.js
@@ -7,8 +7,16 @@ var mybot = new Discord.Client();
|
|||||||
|
|
||||||
var server, channel, message, sentMessage = false;
|
var server, channel, message, sentMessage = false;
|
||||||
|
|
||||||
function success1(){ //make server
|
function init(){
|
||||||
console.log("preparing...");
|
console.log("preparing...");
|
||||||
|
}
|
||||||
|
|
||||||
|
mybot.on("ready", function(){
|
||||||
|
console.log("ready! beginning tests");
|
||||||
|
success1();
|
||||||
|
});
|
||||||
|
|
||||||
|
function success1(){ //make server
|
||||||
mybot.createServer("test-server", "london").then(success2).catch(error);
|
mybot.createServer("test-server", "london").then(success2).catch(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,4 +131,4 @@ mybot.on("message", function(message){
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
mybot.login(process.env["ds_email"], process.env["ds_password"]).then(success1).catch(error);
|
mybot.login(process.env["ds_email"], process.env["ds_password"]).then(init).catch(error);
|
||||||
Reference in New Issue
Block a user