mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-19 13:03:31 +01:00
Added promises and logout
This commit is contained in:
@@ -107,15 +107,14 @@ var Client = (function () {
|
|||||||
value: function login() {
|
value: function login() {
|
||||||
var email = arguments.length <= 0 || arguments[0] === undefined ? "foo@bar.com" : arguments[0];
|
var email = arguments.length <= 0 || arguments[0] === undefined ? "foo@bar.com" : arguments[0];
|
||||||
var password = arguments.length <= 1 || arguments[1] === undefined ? "pass1234" : arguments[1];
|
var password = arguments.length <= 1 || arguments[1] === undefined ? "pass1234" : arguments[1];
|
||||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () {} : arguments[2];
|
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.createws();
|
this.createws();
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (self.state === 0 || self.state === 4) {
|
||||||
|
|
||||||
if (this.state === 0 || this.state === 4) {
|
self.state = 1; //set the state to logging in
|
||||||
|
|
||||||
this.state = 1; //set the state to logging in
|
|
||||||
|
|
||||||
request.post(Endpoints.LOGIN).send({
|
request.post(Endpoints.LOGIN).send({
|
||||||
email: email,
|
email: email,
|
||||||
@@ -126,15 +125,32 @@ var Client = (function () {
|
|||||||
self.state = 4; //set state to disconnected
|
self.state = 4; //set state to disconnected
|
||||||
self.trigger("disconnected");
|
self.trigger("disconnected");
|
||||||
self.websocket.close();
|
self.websocket.close();
|
||||||
callback(err);
|
reject(err);
|
||||||
} 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();
|
self.trySendConnData();
|
||||||
callback(null, self.token);
|
resolve(self.token);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
reject(new Error("Client already logging in or ready"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
key: "logout",
|
||||||
|
value: function logout() {
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
request.post(Endpoints.LOGOUT).set("authorization", self.token).end(function (err, res) {
|
||||||
|
|
||||||
|
if (err) reject(err);else resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def createws
|
//def createws
|
||||||
|
|||||||
@@ -115,15 +115,15 @@ class Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//def login
|
//def login
|
||||||
login(email = "foo@bar.com", password = "pass1234", callback = function () { }) {
|
login(email = "foo@bar.com", password = "pass1234") {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.createws();
|
this.createws();
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (self.state === 0 || self.state === 4) {
|
||||||
|
|
||||||
if (this.state === 0 || this.state === 4) {
|
self.state = 1; //set the state to logging in
|
||||||
|
|
||||||
this.state = 1; //set the state to logging in
|
|
||||||
|
|
||||||
request
|
request
|
||||||
.post(Endpoints.LOGIN)
|
.post(Endpoints.LOGIN)
|
||||||
@@ -136,17 +136,42 @@ class Client {
|
|||||||
self.state = 4; //set state to disconnected
|
self.state = 4; //set state to disconnected
|
||||||
self.trigger("disconnected");
|
self.trigger("disconnected");
|
||||||
self.websocket.close();
|
self.websocket.close();
|
||||||
callback(err);
|
reject(err);
|
||||||
} 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();
|
self.trySendConnData();
|
||||||
callback(null, self.token);
|
resolve(self.token);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}else{
|
||||||
|
reject(new Error("Client already logging in or ready"));
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
logout(){
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
return new Promise(function(resolve, reject){
|
||||||
|
|
||||||
|
request
|
||||||
|
.post(Endpoints.LOGOUT)
|
||||||
|
.set( "authorization", self.token )
|
||||||
|
.end(function(err, res){
|
||||||
|
|
||||||
|
if(err)
|
||||||
|
reject(err);
|
||||||
|
else
|
||||||
|
resolve();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,12 @@ var Discord = require("../lib/index.js");
|
|||||||
var Auth = require("./auth.json");
|
var Auth = require("./auth.json");
|
||||||
var mybot = new Discord.Client();
|
var mybot = new Discord.Client();
|
||||||
|
|
||||||
mybot.login(Auth.email, Auth.password, function(err, res){
|
mybot.login(Auth.email+"a", Auth.password)
|
||||||
|
|
||||||
|
.then(function (token) {
|
||||||
|
console.log("wooo!");
|
||||||
|
}).catch(function (error) {
|
||||||
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
|
||||||
mybot.on("ready", function () {
|
mybot.on("ready", function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user