mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Handle unavailable guild, fix default getChannelLogs limit
This commit is contained in:
@@ -86,7 +86,7 @@ var Client = (function (_EventEmitter) {
|
||||
|
||||
var callback = arguments.length <= 0 || arguments[0] === undefined ? function () /*err, {}*/{} : arguments[0];
|
||||
|
||||
this.internal.logout().then(function () {
|
||||
return this.internal.logout().then(function () {
|
||||
return _this.internal.disconnected(true);
|
||||
}).then(dataCallback(callback), errorCallback(callback));
|
||||
};
|
||||
@@ -179,7 +179,7 @@ var Client = (function (_EventEmitter) {
|
||||
// def getChannelLogs
|
||||
|
||||
Client.prototype.getChannelLogs = function getChannelLogs(where) {
|
||||
var limit = arguments.length <= 1 || arguments[1] === undefined ? 500 : arguments[1];
|
||||
var limit = arguments.length <= 1 || arguments[1] === undefined ? 50 : arguments[1];
|
||||
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
|
||||
var callback = arguments.length <= 3 || arguments[3] === undefined ? function () /*err, logs*/{} : arguments[3];
|
||||
|
||||
@@ -187,6 +187,10 @@ var Client = (function (_EventEmitter) {
|
||||
// options is the callback
|
||||
callback = options;
|
||||
options = {};
|
||||
} else if (typeof limit === "function") {
|
||||
// options is the callback
|
||||
callback = limit;
|
||||
limit = 50;
|
||||
}
|
||||
|
||||
return this.internal.getChannelLogs(where, limit, options).then(dataCallback(callback), errorCallback(callback));
|
||||
|
||||
@@ -588,7 +588,7 @@ var InternalClient = (function () {
|
||||
InternalClient.prototype.getChannelLogs = function getChannelLogs(_channel) {
|
||||
var _this15 = this;
|
||||
|
||||
var limit = arguments.length <= 1 || arguments[1] === undefined ? 500 : arguments[1];
|
||||
var limit = arguments.length <= 1 || arguments[1] === undefined ? 50 : arguments[1];
|
||||
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
|
||||
|
||||
return this.resolver.resolveChannel(_channel).then(function (channel) {
|
||||
@@ -1373,7 +1373,7 @@ var InternalClient = (function () {
|
||||
break;
|
||||
case _Constants.PacketType.SERVER_CREATE:
|
||||
var server = self.servers.get("id", data.id);
|
||||
if (!server) {
|
||||
if (!server && !data.unavailable) {
|
||||
server = new _StructuresServer2["default"](data, client);
|
||||
self.servers.add(server);
|
||||
client.emit("serverCreated", server);
|
||||
@@ -1381,8 +1381,7 @@ var InternalClient = (function () {
|
||||
break;
|
||||
case _Constants.PacketType.SERVER_DELETE:
|
||||
var server = self.servers.get("id", data.id);
|
||||
if (server) {
|
||||
|
||||
if (server && !data.unavailable) {
|
||||
for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
|
||||
var _ref5;
|
||||
|
||||
|
||||
@@ -67,38 +67,32 @@ var Server = (function (_Equality) {
|
||||
|
||||
var self = this;
|
||||
|
||||
if (data.roles) {
|
||||
data.roles.forEach(function (dataRole) {
|
||||
_this.roles.add(new _Role2["default"](dataRole, _this, client));
|
||||
});
|
||||
}
|
||||
data.roles.forEach(function (dataRole) {
|
||||
_this.roles.add(new _Role2["default"](dataRole, _this, client));
|
||||
});
|
||||
|
||||
if (data.members) {
|
||||
data.members.forEach(function (dataUser) {
|
||||
_this.memberMap[dataUser.user.id] = {
|
||||
roles: dataUser.roles.map(function (pid) {
|
||||
return self.roles.get("id", pid);
|
||||
}),
|
||||
mute: dataUser.mute,
|
||||
deaf: dataUser.deaf,
|
||||
joinedAt: Date.parse(dataUser.joined_at)
|
||||
};
|
||||
var user = client.internal.users.add(new _User2["default"](dataUser.user, client));
|
||||
_this.members.add(user);
|
||||
});
|
||||
}
|
||||
data.members.forEach(function (dataUser) {
|
||||
_this.memberMap[dataUser.user.id] = {
|
||||
roles: dataUser.roles.map(function (pid) {
|
||||
return self.roles.get("id", pid);
|
||||
}),
|
||||
mute: dataUser.mute,
|
||||
deaf: dataUser.deaf,
|
||||
joinedAt: Date.parse(dataUser.joined_at)
|
||||
};
|
||||
var user = client.internal.users.add(new _User2["default"](dataUser.user, client));
|
||||
_this.members.add(user);
|
||||
});
|
||||
|
||||
if (data.channels) {
|
||||
data.channels.forEach(function (dataChannel) {
|
||||
if (dataChannel.type === "text") {
|
||||
var channel = client.internal.channels.add(new _TextChannel2["default"](dataChannel, client, _this));
|
||||
_this.channels.add(channel);
|
||||
} else {
|
||||
var channel = client.internal.channels.add(new _VoiceChannel2["default"](dataChannel, client, _this));
|
||||
_this.channels.add(channel);
|
||||
}
|
||||
});
|
||||
}
|
||||
data.channels.forEach(function (dataChannel) {
|
||||
if (dataChannel.type === "text") {
|
||||
var channel = client.internal.channels.add(new _TextChannel2["default"](dataChannel, client, _this));
|
||||
_this.channels.add(channel);
|
||||
} else {
|
||||
var channel = client.internal.channels.add(new _VoiceChannel2["default"](dataChannel, client, _this));
|
||||
_this.channels.add(channel);
|
||||
}
|
||||
});
|
||||
|
||||
if (data.presences) {
|
||||
for (var _iterator = data.presences, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
|
||||
|
||||
@@ -167,12 +167,17 @@ export default class Client extends EventEmitter {
|
||||
}
|
||||
|
||||
// def getChannelLogs
|
||||
getChannelLogs(where, limit = 500, options = {}, callback = (/*err, logs*/) => { }) {
|
||||
getChannelLogs(where, limit = 50, options = {}, callback = (/*err, logs*/) => { }) {
|
||||
if (typeof options === "function") {
|
||||
// options is the callback
|
||||
callback = options;
|
||||
options = {};
|
||||
}
|
||||
else if (typeof limit === "function") {
|
||||
// options is the callback
|
||||
callback = limit;
|
||||
limit = 50;
|
||||
}
|
||||
|
||||
return this.internal.getChannelLogs(where, limit, options)
|
||||
.then(dataCallback(callback), errorCallback(callback));
|
||||
|
||||
@@ -86,7 +86,7 @@ export default class InternalClient {
|
||||
return reject(error);
|
||||
}
|
||||
}else{
|
||||
resolve(data.body);
|
||||
resolve(data.body);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -472,7 +472,7 @@ export default class InternalClient {
|
||||
}
|
||||
|
||||
// def getChannelLogs
|
||||
getChannelLogs(_channel, limit = 500, options = {}) {
|
||||
getChannelLogs(_channel, limit = 50, options = {}) {
|
||||
return this.resolver.resolveChannel(_channel)
|
||||
.then(channel => {
|
||||
var qsObject = {limit};
|
||||
@@ -1187,7 +1187,7 @@ export default class InternalClient {
|
||||
break;
|
||||
case PacketType.SERVER_CREATE:
|
||||
var server = self.servers.get("id", data.id);
|
||||
if (!server) {
|
||||
if (!server && !data.unavailable) {
|
||||
server = new Server(data, client)
|
||||
self.servers.add(server);
|
||||
client.emit("serverCreated", server);
|
||||
@@ -1195,8 +1195,7 @@ export default class InternalClient {
|
||||
break;
|
||||
case PacketType.SERVER_DELETE:
|
||||
var server = self.servers.get("id", data.id);
|
||||
if (server) {
|
||||
|
||||
if (server && !data.unavailable) {
|
||||
for (var channel of server.channels) {
|
||||
self.channels.remove(channel);
|
||||
}
|
||||
|
||||
@@ -35,36 +35,30 @@ export default class Server extends Equality {
|
||||
|
||||
var self = this;
|
||||
|
||||
if (data.roles) {
|
||||
data.roles.forEach((dataRole) => {
|
||||
this.roles.add(new Role(dataRole, this, client));
|
||||
});
|
||||
}
|
||||
data.roles.forEach((dataRole) => {
|
||||
this.roles.add(new Role(dataRole, this, client));
|
||||
});
|
||||
|
||||
if (data.members) {
|
||||
data.members.forEach((dataUser) => {
|
||||
this.memberMap[dataUser.user.id] = {
|
||||
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)),
|
||||
mute: dataUser.mute,
|
||||
deaf: dataUser.deaf,
|
||||
joinedAt: Date.parse(dataUser.joined_at)
|
||||
};
|
||||
var user = client.internal.users.add(new User(dataUser.user, client));
|
||||
this.members.add(user);
|
||||
});
|
||||
}
|
||||
data.members.forEach((dataUser) => {
|
||||
this.memberMap[dataUser.user.id] = {
|
||||
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)),
|
||||
mute: dataUser.mute,
|
||||
deaf: dataUser.deaf,
|
||||
joinedAt: Date.parse(dataUser.joined_at)
|
||||
};
|
||||
var user = client.internal.users.add(new User(dataUser.user, client));
|
||||
this.members.add(user);
|
||||
});
|
||||
|
||||
if (data.channels) {
|
||||
data.channels.forEach((dataChannel) => {
|
||||
if (dataChannel.type === "text") {
|
||||
var channel = client.internal.channels.add(new TextChannel(dataChannel, client, this));
|
||||
this.channels.add(channel);
|
||||
} else {
|
||||
var channel = client.internal.channels.add(new VoiceChannel(dataChannel, client, this));
|
||||
this.channels.add(channel);
|
||||
}
|
||||
});
|
||||
}
|
||||
data.channels.forEach((dataChannel) => {
|
||||
if (dataChannel.type === "text") {
|
||||
var channel = client.internal.channels.add(new TextChannel(dataChannel, client, this));
|
||||
this.channels.add(channel);
|
||||
} else {
|
||||
var channel = client.internal.channels.add(new VoiceChannel(dataChannel, client, this));
|
||||
this.channels.add(channel);
|
||||
}
|
||||
});
|
||||
|
||||
if (data.presences) {
|
||||
for (var presence of data.presences) {
|
||||
|
||||
Reference in New Issue
Block a user