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