mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 08:33:30 +01:00
Added joinServer
This commit is contained in:
@@ -254,6 +254,25 @@ var Client = (function (_EventEmitter) {
|
||||
});
|
||||
};
|
||||
|
||||
// def joinServer
|
||||
|
||||
Client.prototype.joinServer = function joinServer(invite) {
|
||||
var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err, srv) {} : arguments[1];
|
||||
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
self.internal.joinServer(invite).then(function (srv) {
|
||||
callback(null, srv);
|
||||
resolve(srv);
|
||||
})["catch"](function (e) {
|
||||
callback(e);
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// def createServer
|
||||
|
||||
Client.prototype.createServer = function createServer(name) {
|
||||
var region = arguments.length <= 1 || arguments[1] === undefined ? "london" : arguments[1];
|
||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err, srv) {} : arguments[2];
|
||||
@@ -677,6 +696,11 @@ var Client = (function (_EventEmitter) {
|
||||
get: function get() {
|
||||
return this.internal.uptime;
|
||||
}
|
||||
}, {
|
||||
key: "user",
|
||||
get: function get() {
|
||||
return this.internal.user;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Client;
|
||||
|
||||
@@ -148,10 +148,9 @@ var InternalClient = (function () {
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
invite = self.resolver.resolveInvite(invite);
|
||||
invite = self.resolver.resolveInviteID(invite);
|
||||
if (invite) {
|
||||
|
||||
request.post(Endpoints.INVITE(invite.id)).set("authorization", self.token).end(function (err, res) {
|
||||
request.post(Endpoints.INVITE(invite)).set("authorization", self.token).end(function (err, res) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
@@ -1088,7 +1087,7 @@ var InternalClient = (function () {
|
||||
};
|
||||
|
||||
this.websocket.onerror = function (e) {
|
||||
console.log(e);
|
||||
client.emit("error", e);
|
||||
};
|
||||
|
||||
this.websocket.onmessage = function (e) {
|
||||
|
||||
@@ -21,9 +21,9 @@ var Resolver = (function () {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
Resolver.prototype.resolveInvite = function resolveInvite(resource) {
|
||||
Resolver.prototype.resolveInviteID = function resolveInviteID(resource) {
|
||||
if (resource instanceof Invite) {
|
||||
return resource;
|
||||
return resource.id;
|
||||
} else if (typeof resource == "string" || resource instanceof String) {
|
||||
|
||||
if (resource.indexOf("http") === 0) {
|
||||
|
||||
@@ -88,7 +88,7 @@ var Server = (function (_Equality) {
|
||||
var user = client.internal.users.get("id", presence.user.id);
|
||||
if (user) {
|
||||
user.status = presence.status;
|
||||
user.gameId = presence.game_id;
|
||||
user.gameID = presence.game_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,10 @@ class Client extends EventEmitter {
|
||||
get uptime(){
|
||||
return this.internal.uptime;
|
||||
}
|
||||
|
||||
get user() {
|
||||
return this.internal.user;
|
||||
}
|
||||
|
||||
// def login
|
||||
login(email, password, cb = function (err, token) { }) {
|
||||
@@ -259,6 +263,23 @@ class Client extends EventEmitter {
|
||||
});
|
||||
}
|
||||
|
||||
// def joinServer
|
||||
joinServer(invite, callback = function (err, srv) { }) {
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
self.internal.joinServer(invite)
|
||||
.then(srv => {
|
||||
callback(null, srv);
|
||||
resolve(srv);
|
||||
})
|
||||
.catch(e => {
|
||||
callback(e);
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// def createServer
|
||||
createServer(name, region="london", callback=function(err, srv){}){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
@@ -143,17 +143,16 @@ class InternalClient {
|
||||
joinServer(invite) {
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
invite = self.resolver.resolveInvite(invite);
|
||||
if(invite){
|
||||
|
||||
|
||||
invite = self.resolver.resolveInviteID(invite);
|
||||
if (invite) {
|
||||
request
|
||||
.post(Endpoints.INVITE(invite.id))
|
||||
.post(Endpoints.INVITE(invite))
|
||||
.set("authorization", self.token)
|
||||
.end((err, res) => {
|
||||
if(err){
|
||||
if (err) {
|
||||
reject(err);
|
||||
}else{
|
||||
} else {
|
||||
// valid server, wait until it is received via ws and cached
|
||||
var inter = setInterval(() => {
|
||||
if (self.servers.get("id", res.body.guild.id)) {
|
||||
@@ -163,11 +162,11 @@ class InternalClient {
|
||||
}, 20);
|
||||
}
|
||||
});
|
||||
|
||||
}else{
|
||||
|
||||
} else {
|
||||
reject(new Error("Not a valid invite"));
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1099,29 +1098,29 @@ class InternalClient {
|
||||
}
|
||||
|
||||
//def ack
|
||||
ack(msg){
|
||||
ack(msg) {
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
|
||||
msg = self.resolver.resolveMessage(msg);
|
||||
|
||||
if(msg){
|
||||
|
||||
request
|
||||
.post(Endpoints.CHANNEL_MESSAGE(msg.channel.id, msg.id)+"/ack")
|
||||
|
||||
if (msg) {
|
||||
|
||||
request
|
||||
.post(Endpoints.CHANNEL_MESSAGE(msg.channel.id, msg.id) + "/ack")
|
||||
.set("authorization", self.token)
|
||||
.end((err) => {
|
||||
if(err){
|
||||
if (err) {
|
||||
reject(err);
|
||||
}else{
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
|
||||
}else{
|
||||
|
||||
} else {
|
||||
reject(new Error("Message does not exist"));
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1165,7 +1164,7 @@ class InternalClient {
|
||||
}
|
||||
|
||||
this.websocket.onerror = (e) => {
|
||||
console.log(e);
|
||||
client.emit("error", e);
|
||||
}
|
||||
|
||||
this.websocket.onmessage = (e) => {
|
||||
@@ -1235,7 +1234,7 @@ class InternalClient {
|
||||
break;
|
||||
case PacketType.MESSAGE_UPDATE:
|
||||
// format https://discordapi.readthedocs.org/en/latest/reference/channels/messages.html#message-format
|
||||
var channel = self.channels.get("id", data.channel_id)|| self.private_channels.get("id", data.channel_id);
|
||||
var channel = self.channels.get("id", data.channel_id) || self.private_channels.get("id", data.channel_id);
|
||||
if (channel) {
|
||||
// potentially blank
|
||||
var msg = channel.messages.get("id", data.id);
|
||||
|
||||
@@ -17,9 +17,9 @@ class Resolver {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
resolveInvite(resource){
|
||||
resolveInviteID(resource){
|
||||
if(resource instanceof Invite){
|
||||
return resource;
|
||||
return resource.id;
|
||||
}else if (typeof resource == "string" || resource instanceof String) {
|
||||
|
||||
if (resource.indexOf("http") === 0) {
|
||||
|
||||
@@ -64,7 +64,7 @@ class Server extends Equality {
|
||||
var user = client.internal.users.get("id", presence.user.id);
|
||||
if (user) {
|
||||
user.status = presence.status;
|
||||
user.gameId = presence.game_id;
|
||||
user.gameID = presence.game_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@ client.on("message", m => {
|
||||
if(m.content === "death"){
|
||||
m.channel.delete();
|
||||
}
|
||||
if (m.content.startsWith("join: ")) {
|
||||
var invite = m.content.split(" ")[1];
|
||||
client.joinServer(invite).then(console.log).catch(console.log);
|
||||
}
|
||||
if (m.content === "&init") {
|
||||
for (var channel of m.channel.server.channels) {
|
||||
if (channel instanceof Discord.VoiceChannel) {
|
||||
|
||||
Reference in New Issue
Block a user