mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Added the joinServer funciton internally
This commit is contained in:
@@ -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`,
|
||||
|
||||
Reference in New Issue
Block a user