mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 16:43:31 +01:00
Added leave server and other stuff
This commit is contained in:
@@ -251,6 +251,20 @@ var Client = (function (_EventEmitter) {
|
||||
});
|
||||
};
|
||||
|
||||
Client.prototype.leaveServer = function leaveServer(server) {
|
||||
var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err) {} : arguments[1];
|
||||
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
self.internal.leaveServer(server).then(function () {
|
||||
callback();resolve();
|
||||
})["catch"](function (e) {
|
||||
callback(e);reject(e);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
return Client;
|
||||
})(EventEmitter);
|
||||
|
||||
|
||||
@@ -69,6 +69,46 @@ var InternalClient = (function () {
|
||||
});
|
||||
};
|
||||
|
||||
//def leaveServer
|
||||
|
||||
InternalClient.prototype.leaveServer = function leaveServer(srv) {
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
var server = self.resolver.resolveServer(srv);
|
||||
if (server) {
|
||||
|
||||
request.del(Endpoints.SERVER(server.id)).set("authorization", self.token).end(function (err, res) {
|
||||
if (err) {
|
||||
reject(new Error(err.response.text));
|
||||
} else {
|
||||
// remove channels of server then the server
|
||||
for (var _iterator = server.channels, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
|
||||
var _ref;
|
||||
|
||||
if (_isArray) {
|
||||
if (_i >= _iterator.length) break;
|
||||
_ref = _iterator[_i++];
|
||||
} else {
|
||||
_i = _iterator.next();
|
||||
if (_i.done) break;
|
||||
_ref = _i.value;
|
||||
}
|
||||
|
||||
var chan = _ref;
|
||||
|
||||
server.channels.remove(chan);
|
||||
}
|
||||
// remove server
|
||||
self.servers.remove(server);
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
reject(new Error("server did not resolve"));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// def login
|
||||
|
||||
InternalClient.prototype.login = function login(email, password) {
|
||||
|
||||
@@ -20,6 +20,21 @@ var Resolver = (function () {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
Resolver.prototype.resolveServer = function resolveServer(resource) {
|
||||
if (resource instanceof Server) {
|
||||
return resource;
|
||||
} else if (resource instanceof ServerChannel) {
|
||||
return resource.server;
|
||||
} else if (resource instanceof String || typeof resource === "string") {
|
||||
return this.internal.servers.get("id", resource);
|
||||
} else if (resource instanceof Message) {
|
||||
if (resource.channel instanceof TextChannel) {
|
||||
return resource.server;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
Resolver.prototype.resolveFile = function resolveFile(resource) {
|
||||
if (typeof resource === "string" || resource instanceof String) {
|
||||
return fs.createReadStream(resource);
|
||||
|
||||
Reference in New Issue
Block a user