Blocked users store, move some warn messages to debug

This commit is contained in:
abalabahaha
2016-04-15 19:29:35 -07:00
parent 864126976f
commit 3ed5f4fb90
4 changed files with 55 additions and 14 deletions

View File

@@ -621,16 +621,21 @@ var Client = (function (_EventEmitter) {
// def updateServer
Client.prototype.updateServer = function updateServer(server, name, region) {
Client.prototype.updateServer = function updateServer(server, options, region) {
var callback = arguments.length <= 3 || arguments[3] === undefined ? function () /*err, srv*/{} : arguments[3];
if (typeof region === "function") {
// region is the callback
callback = region;
region = undefined;
} else if (region && typeof options === "string") {
options = {
name: options,
region: region
};
}
return this.internal.updateServer(server, name, region).then(dataCallback(callback), errorCallback(callback));
return this.internal.updateServer(server, options).then(dataCallback(callback), errorCallback(callback));
};
/**

View File

@@ -190,6 +190,7 @@ var InternalClient = (function () {
// creates 4 caches with discriminators based on ID
this.users = new _UtilCache2["default"]();
this.friends = new _UtilCache2["default"]();
this.blocked_users = new _UtilCache2["default"]();
this.outgoing_friend_requests = new _UtilCache2["default"]();
this.incoming_friend_requests = new _UtilCache2["default"]();
this.channels = new _UtilCache2["default"]();
@@ -1366,7 +1367,9 @@ var InternalClient = (function () {
//def updateDetails
InternalClient.prototype.updateDetails = function updateDetails(data) {
if (!this.user.bot && !(this.email || data.email)) throw new Error("Must provide email since a token was used to login");
if (!this.user.bot && !(this.email || data.email)) {
throw new Error("Must provide email since a token was used to login");
}
var options = {
avatar: this.resolver.resolveToBase64(data.avatar) || this.user.avatar,
@@ -1598,7 +1601,7 @@ var InternalClient = (function () {
self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000));
}
} else {
client.emit("warn", "server " + server.id + " was unavailable, could not create (ready)");
client.emit("debug", "server " + server.id + " was unavailable, could not create (ready)");
self.unavailableServers.add(server);
}
});
@@ -1611,6 +1614,9 @@ var InternalClient = (function () {
if (friend.type === 1) {
// is a friend
self.friends.add(new _StructuresUser2["default"](friend.user, client));
} else if (friend.type === 2) {
// incoming friend requests
self.blocked_users.add(new _StructuresUser2["default"](friend.user, client));
} else if (friend.type === 3) {
// incoming friend requests
self.incoming_friend_requests.add(new _StructuresUser2["default"](friend.user, client));
@@ -1623,6 +1629,7 @@ var InternalClient = (function () {
});
} else {
self.friends = null;
self.blocked_users = null;
self.incoming_friend_requests = null;
self.outgoing_friend_requests = null;
}
@@ -1663,7 +1670,7 @@ var InternalClient = (function () {
if (msg) {
channel.messages.remove(msg);
} else {
client.emit("warn", "message was deleted but message is not cached");
client.emit("debug", "message was deleted but message is not cached");
}
} else {
client.emit("warn", "message was deleted but channel is not cached");
@@ -1712,7 +1719,7 @@ var InternalClient = (function () {
}
self.restartServerCreateTimeout();
} else {
client.emit("warn", "server was unavailable, could not create");
client.emit("debug", "server was unavailable, could not create");
}
}
break;
@@ -1780,7 +1787,7 @@ var InternalClient = (function () {
}
}
} else {
client.emit("warn", "server was unavailable, could not update");
client.emit("debug", "server was unavailable, could not update");
}
} else {
client.emit("warn", "server was deleted but it was not in the cache");
@@ -2198,6 +2205,9 @@ var InternalClient = (function () {
client.emit("friendRequestAccepted", outUser);
return;
}
} else if (data.type === 2) {
// client received block
self.blocked_users.add(new _StructuresUser2["default"](data.user, client));
} else if (data.type === 3) {
// client received friend request
client.emit("friendRequestReceived", self.incoming_friend_requests.add(new _StructuresUser2["default"](data.user, client)));
@@ -2214,6 +2224,13 @@ var InternalClient = (function () {
return;
}
user = self.blocked_users.get("id", data.id);
if (user) {
// they rejected friend request
self.blocked_users.remove(user);
return;
}
user = self.incoming_friend_requests.get("id", data.id);
if (user) {
// they rejected friend request

View File

@@ -706,14 +706,19 @@ export default class Client extends EventEmitter {
}
// def updateServer
updateServer(server, name, region, callback = (/*err, srv*/) => { }) {
updateServer(server, options, region, callback = (/*err, srv*/) => { }) {
if (typeof region === "function") {
// region is the callback
callback = region;
region = undefined;
} else if (region && typeof options === "string") {
options = {
name: options,
region: region
};
}
return this.internal.updateServer(server, name, region)
return this.internal.updateServer(server, options)
.then(dataCallback(callback), errorCallback(callback));
}

View File

@@ -127,6 +127,7 @@ export default class InternalClient {
// creates 4 caches with discriminators based on ID
this.users = new Cache();
this.friends = new Cache();
this.blocked_users = new Cache();
this.outgoing_friend_requests = new Cache();
this.incoming_friend_requests = new Cache();
this.channels = new Cache();
@@ -1151,8 +1152,9 @@ export default class InternalClient {
//def updateDetails
updateDetails(data) {
if (!this.user.bot && !(this.email || data.email))
if (!this.user.bot && !(this.email || data.email)) {
throw new Error("Must provide email since a token was used to login");
}
var options = {
avatar: this.resolver.resolveToBase64(data.avatar) || this.user.avatar,
@@ -1359,7 +1361,7 @@ export default class InternalClient {
self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000));
}
} else {
client.emit("warn", "server " + server.id + " was unavailable, could not create (ready)");
client.emit("debug", "server " + server.id + " was unavailable, could not create (ready)");
self.unavailableServers.add(server);
}
});
@@ -1370,6 +1372,8 @@ export default class InternalClient {
data.relationships.forEach(friend => {
if (friend.type === 1) { // is a friend
self.friends.add(new User(friend.user, client));
} else if (friend.type === 2) { // incoming friend requests
self.blocked_users.add(new User(friend.user, client));
} else if (friend.type === 3) { // incoming friend requests
self.incoming_friend_requests.add(new User(friend.user, client));
} else if (friend.type === 4) { // outgoing friend requests
@@ -1380,6 +1384,7 @@ export default class InternalClient {
});
} else {
self.friends = null;
self.blocked_users = null;
self.incoming_friend_requests = null;
self.outgoing_friend_requests = null;
}
@@ -1418,7 +1423,7 @@ export default class InternalClient {
if (msg) {
channel.messages.remove(msg);
} else {
client.emit("warn", "message was deleted but message is not cached");
client.emit("debug", "message was deleted but message is not cached");
}
} else {
client.emit("warn", "message was deleted but channel is not cached");
@@ -1467,7 +1472,7 @@ export default class InternalClient {
}
self.restartServerCreateTimeout();
} else {
client.emit("warn", "server was unavailable, could not create");
client.emit("debug", "server was unavailable, could not create");
}
}
break;
@@ -1496,7 +1501,7 @@ export default class InternalClient {
}
}
} else {
client.emit("warn", "server was unavailable, could not update");
client.emit("debug", "server was unavailable, could not update");
}
} else {
client.emit("warn", "server was deleted but it was not in the cache");
@@ -1893,6 +1898,9 @@ export default class InternalClient {
client.emit("friendRequestAccepted", outUser);
return;
}
} else if (data.type === 2) {
// client received block
self.blocked_users.add(new User(data.user, client));
} else if (data.type === 3) {
// client received friend request
client.emit("friendRequestReceived", self.incoming_friend_requests.add(new User(data.user, client)));
@@ -1909,6 +1917,12 @@ export default class InternalClient {
return;
}
user = self.blocked_users.get("id", data.id);
if (user) { // they rejected friend request
self.blocked_users.remove(user);
return;
}
user = self.incoming_friend_requests.get("id", data.id);
if (user) { // they rejected friend request
client.emit("friendRequestRejected", self.outgoing_friend_requests.remove(user));