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