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
|
//def leaveServer
|
||||||
leaveServer(srv) {
|
leaveServer(srv) {
|
||||||
|
|||||||
@@ -9,12 +9,29 @@ var User = require("../../Structures/User.js"),
|
|||||||
ServerChannel = require("../../Structures/ServerChannel.js"),
|
ServerChannel = require("../../Structures/ServerChannel.js"),
|
||||||
PMChannel = require("../../Structures/PMChannel.js"),
|
PMChannel = require("../../Structures/PMChannel.js"),
|
||||||
Server = require("../../Structures/Server.js"),
|
Server = require("../../Structures/Server.js"),
|
||||||
Message = require("../../Structures/Message.js");
|
Message = require("../../Structures/Message.js"),
|
||||||
|
Invite = require("../../Structures/Invite.js");
|
||||||
|
|
||||||
class Resolver {
|
class Resolver {
|
||||||
constructor(internal) {
|
constructor(internal) {
|
||||||
this.internal = 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){
|
resolveServer(resource){
|
||||||
if(resource instanceof Server){
|
if(resource instanceof Server){
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ var Endpoints = {
|
|||||||
GATEWAY: `${API}/gateway`,
|
GATEWAY: `${API}/gateway`,
|
||||||
USER_CHANNELS: (userID) => `${API}/users/${userID}/channels`,
|
USER_CHANNELS: (userID) => `${API}/users/${userID}/channels`,
|
||||||
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||||
|
INVITE: (id) => `${API}/invite/${id}`,
|
||||||
|
|
||||||
// servers
|
// servers
|
||||||
SERVERS: `${API}/guilds`,
|
SERVERS: `${API}/guilds`,
|
||||||
|
|||||||
Reference in New Issue
Block a user