mirror of
https://github.com/danbulant/discord.js
synced 2026-05-25 13:02:38 +00:00
Added the joinServer funciton internally
This commit is contained in:
parent
fb989bb39e
commit
7b73671295
3 changed files with 51 additions and 1 deletions
|
|
@ -138,6 +138,38 @@ class InternalClient {
|
|||
});
|
||||
});
|
||||
}
|
||||
|
||||
//def joinServer
|
||||
joinServer(invite) {
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
invite = self.resolver.resolveInvite(invite);
|
||||
if(invite){
|
||||
|
||||
request
|
||||
.post(Endpoints.INVITE(invite.id))
|
||||
.set("authorization", self.token)
|
||||
.end((err, res) => {
|
||||
if(err){
|
||||
reject(err);
|
||||
}else{
|
||||
// valid server, wait until it is received via ws and cached
|
||||
var inter = setInterval(() => {
|
||||
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
|
||||
leaveServer(srv) {
|
||||
|
|
|
|||
|
|
@ -9,12 +9,29 @@ 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");
|
||||
|
||||
class Resolver {
|
||||
constructor(internal) {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
resolveServer(resource){
|
||||
if(resource instanceof Server){
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ var Endpoints = {
|
|||
GATEWAY: `${API}/gateway`,
|
||||
USER_CHANNELS: (userID) => `${API}/users/${userID}/channels`,
|
||||
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||
INVITE: (id) => `${API}/invite/${id}`,
|
||||
|
||||
// servers
|
||||
SERVERS: `${API}/guilds`,
|
||||
|
|
|
|||
Loading…
Reference in a new issue