Fixed options + message cache limit + server member count + leaving users

This commit is contained in:
abalabahaha
2016-03-10 22:16:05 -08:00
parent ef679e87c4
commit d2a9f15e82
8 changed files with 68 additions and 23 deletions

View File

@@ -73,8 +73,9 @@ var Client = (function (_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

View File

@@ -132,7 +132,7 @@ var InternalClient = (function () {
return new Promise(function (resolve, reject) {
ret.end(function (error, data) {
if (error) {
if (!_this.client.options.rate_limit_as_error && error.response && error.response.error && error.response.error.status && error.response.error.status === 429) {
if (!_this.client.options.rateLimitAsError && error.response && error.response.error && error.response.error.status && error.response.error.status === 429) {
if (data.headers["retry-after"] || data.headers["Retry-After"]) {
var toWait = data.headers["retry-after"] || data.headers["Retry-After"];
@@ -1361,7 +1361,7 @@ var InternalClient = (function () {
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",
@@ -1528,6 +1528,28 @@ var InternalClient = (function () {
}
self.servers.remove(server);
for (var _iterator8 = self.users, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
var _ref8;
if (_isArray8) {
if (_i8 >= _iterator8.length) break;
_ref8 = _iterator8[_i8++];
} else {
_i8 = _iterator8.next();
if (_i8.done) break;
_ref8 = _i8.value;
}
var user = _ref8;
if (!self.servers.find(function (s) {
return !!s.members.get("id", user.id);
})) {
self.users.remove(user);
}
}
client.emit("serverDeleted", server);
} else {
client.emit("warn", "server was unavailable, could not update");
@@ -1680,6 +1702,8 @@ var InternalClient = (function () {
joinedAt: Date.parse(data.joined_at)
};
server.memberCount++;
client.emit("serverNewMember", server, server.members.add(self.users.add(new _StructuresUser2["default"](data.user, client))));
} else {
client.emit("warn", "server member added but server doesn't exist in cache");
@@ -1692,7 +1716,13 @@ var InternalClient = (function () {
if (user) {
server.memberMap[data.user.id] = null;
server.members.remove(user);
server.memberCount--;
client.emit("serverMemberRemoved", server, user);
if (!self.servers.find(function (s) {
return !!s.members.get("id", user.id);
})) {
self.users.remove(user);
}
} else {
client.emit("warn", "server member removed but user doesn't exist in cache");
}
@@ -1846,19 +1876,19 @@ var InternalClient = (function () {
var testtime = new Date().getTime();
for (var _iterator8 = data.members, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
var _ref8;
for (var _iterator9 = data.members, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {
var _ref9;
if (_isArray8) {
if (_i8 >= _iterator8.length) break;
_ref8 = _iterator8[_i8++];
if (_isArray9) {
if (_i9 >= _iterator9.length) break;
_ref9 = _iterator9[_i9++];
} else {
_i8 = _iterator8.next();
if (_i8.done) break;
_ref8 = _i8.value;
_i9 = _iterator9.next();
if (_i9.done) break;
_ref9 = _i9.value;
}
var user = _ref8;
var user = _ref9;
server.memberMap[user.user.id] = {
roles: user.roles.map(function (pid) {

View File

@@ -33,8 +33,8 @@ var PMChannel = (function (_Channel) {
_Channel.call(this, data, client);
this.type = data.type || "text";
this.lastMessageId = data.last_message_id || data.lastMessageId;
this.messages = new _UtilCache2["default"]("id", 1000);
this.lastMessageID = data.last_message_id || data.lastMessageID;
this.messages = new _UtilCache2["default"]("id", client.options.maxCachedMessages);
this.recipient = this.client.internal.users.add(new _User2["default"](data.recipient, this.client));
}

View File

@@ -30,7 +30,7 @@ var TextChannel = (function (_ServerChannel) {
this.topic = data.topic;
this.lastMessageID = data.last_message_id || data.lastMessageID;
this.messages = new _UtilCache2["default"]("id", client.options.maximumMessages);
this.messages = new _UtilCache2["default"]("id", client.options.maxCachedMessages);
}
/* warning! may return null */