mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
Fixed options + message cache limit + server member count + leaving users
This commit is contained in:
@@ -47,8 +47,9 @@ export default class Client extends EventEmitter {
|
||||
this.options = options || {};
|
||||
this.options.compress = options.compress || (!process.browser);
|
||||
this.options.revive = options.revive || false;
|
||||
this.options.rate_limit_as_error = options.rate_limit_as_error || false;
|
||||
this.options.large_threshold = options.large_threshold || 250;
|
||||
this.options.rateLimitAsError = options.rateLimitAsError || false;
|
||||
this.options.largeThreshold = options.largeThreshold || 250;
|
||||
this.options.maxCachedMessages = options.maxCachedMessages || 1000;
|
||||
/**
|
||||
* Internal Client that the Client wraps around.
|
||||
* @readonly
|
||||
|
||||
@@ -65,7 +65,7 @@ export default class InternalClient {
|
||||
return new Promise((resolve, reject) => {
|
||||
ret.end((error, data) => {
|
||||
if (error) {
|
||||
if (!this.client.options.rate_limit_as_error &&
|
||||
if (!this.client.options.rateLimitAsError &&
|
||||
error.response &&
|
||||
error.response.error &&
|
||||
error.response.error.status
|
||||
@@ -1122,7 +1122,7 @@ export default class InternalClient {
|
||||
token: self.token,
|
||||
v: 3,
|
||||
compress: self.client.options.compress,
|
||||
large_threshold : self.client.options.large_threshold,
|
||||
large_threshold : self.client.options.largeThreshold,
|
||||
properties: {
|
||||
"$os": "discord.js",
|
||||
"$browser": "discord.js",
|
||||
@@ -1270,6 +1270,13 @@ export default class InternalClient {
|
||||
}
|
||||
|
||||
self.servers.remove(server);
|
||||
|
||||
for (var user of self.users) {
|
||||
if (!self.servers.find((s) => !!s.members.get("id", user.id))) {
|
||||
self.users.remove(user);
|
||||
}
|
||||
}
|
||||
|
||||
client.emit("serverDeleted", server);
|
||||
} else {
|
||||
client.emit("warn", "server was unavailable, could not update");
|
||||
@@ -1424,6 +1431,8 @@ export default class InternalClient {
|
||||
joinedAt: Date.parse(data.joined_at)
|
||||
};
|
||||
|
||||
server.memberCount++;
|
||||
|
||||
client.emit(
|
||||
"serverNewMember",
|
||||
server,
|
||||
@@ -1441,7 +1450,11 @@ export default class InternalClient {
|
||||
if (user) {
|
||||
server.memberMap[data.user.id] = null;
|
||||
server.members.remove(user);
|
||||
server.memberCount--;
|
||||
client.emit("serverMemberRemoved", server, user);
|
||||
if (!self.servers.find((s) => !!s.members.get("id", user.id))) {
|
||||
self.users.remove(user);
|
||||
}
|
||||
} else {
|
||||
client.emit("warn", "server member removed but user doesn't exist in cache");
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@ export default class PMChannel extends Channel {
|
||||
super(data, client);
|
||||
|
||||
this.type = data.type || "text";
|
||||
this.lastMessageId = data.last_message_id || data.lastMessageId;
|
||||
this.messages = new Cache("id", 1000);
|
||||
this.lastMessageID = data.last_message_id || data.lastMessageID;
|
||||
this.messages = new Cache("id", client.options.maxCachedMessages);
|
||||
this.recipient = this.client.internal.users.add(new User(data.recipient, this.client));
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class TextChannel extends ServerChannel{
|
||||
|
||||
this.topic = data.topic;
|
||||
this.lastMessageID = data.last_message_id || data.lastMessageID;
|
||||
this.messages = new Cache("id", client.options.maximumMessages);
|
||||
this.messages = new Cache("id", client.options.maxCachedMessages);
|
||||
}
|
||||
|
||||
/* warning! may return null */
|
||||
|
||||
Reference in New Issue
Block a user