Built internal changes

This commit is contained in:
hydrabolt
2015-11-18 16:59:37 +00:00
parent 7b73671295
commit e7df5bd400
25 changed files with 93 additions and 43 deletions

View File

@@ -1,2 +1,5 @@
// Place your settings in this file to overwrite default and user settings.
{ "editor.wrappingColumn": 0 }
{
"editor.wrappingColumn": 0,
"editor.formatOnType": true
}

View File

@@ -142,6 +142,34 @@ var InternalClient = (function () {
});
};
//def joinServer
InternalClient.prototype.joinServer = function joinServer(invite) {
var self = this;
return new Promise(function (resolve, reject) {
invite = self.resolver.resolveInvite(invite);
if (invite) {
request.post(Endpoints.INVITE(invite.id)).set("authorization", self.token).end(function (err, res) {
if (err) {
reject(err);
} else {
// valid server, wait until it is received via ws and cached
var inter = setInterval(function () {
if (self.servers.get("id", res.body.guild.id)) {
clearInterval(inter);
resolve(self.servers.get("id", res.body.guild.id));
}
}, 20);
}
});
} else {
reject(new Error("Not a valid invite"));
}
});
};
//def leaveServer
InternalClient.prototype.leaveServer = function leaveServer(srv) {

View File

@@ -11,7 +11,8 @@ var User = require("../../Structures/User.js"),
ServerChannel = require("../../Structures/ServerChannel.js"),
PMChannel = require("../../Structures/PMChannel.js"),
Server = require("../../Structures/Server.js"),
Message = require("../../Structures/Message.js");
Message = require("../../Structures/Message.js"),
Invite = require("../../Structures/Invite.js");
var Resolver = (function () {
function Resolver(internal) {
@@ -20,6 +21,21 @@ var Resolver = (function () {
this.internal = internal;
}
Resolver.prototype.resolveInvite = function resolveInvite(resource) {
if (resource instanceof Invite) {
return resource;
} else if (typeof resource == "string" || resource instanceof String) {
if (resource.indexOf("http") === 0) {
var split = resource.split("/");
return split.pop();
} else {
return resource;
}
}
return null;
};
Resolver.prototype.resolveServer = function resolveServer(resource) {
if (resource instanceof Server) {
return resource;

View File

@@ -13,6 +13,9 @@ var Endpoints = {
AVATAR: function AVATAR(userID, avatar) {
return API + "/users/" + userID + "/avatars/" + avatar + ".jpg";
},
INVITE: function INVITE(id) {
return API + "/invite/" + id;
},
// servers
SERVERS: API + "/guilds",