Testing nickname support

This commit is contained in:
abalabahaha
2016-04-29 19:25:06 -07:00
parent 68e1549361
commit b47540d6eb
6 changed files with 89 additions and 50 deletions

View File

@@ -750,6 +750,17 @@ var Client = (function (_EventEmitter) {
return this.internal.undeafenMember(user, server).then(dataCallback(callback), errorCallback(callback));
};
// def setNickname
Client.prototype.setNickname = function setNickname(server, nick, user) {
var callback = arguments.length <= 3 || arguments[3] === undefined ? function () /*err, {}*/{} : arguments[3];
if (!user) {
user = this.user;
}
return this.internal.setNickname(server, nick, user).then(dataCallback(callback), errorCallback(callback));
};
// def createRole
Client.prototype.createRole = function createRole(server) {

View File

@@ -258,15 +258,9 @@ var InternalClient = (function () {
_this2.setup();
// Check whether the email is set (if not, only a token has been used for login)
if (_this2.email) {
_this2.login(_this2.email, _this2.password)["catch"](function () {
return _this2.disconnected(true);
});
} else {
_this2.loginWithToken(_this2.token)["catch"](function () {
return _this2.disconnected(true);
});
}
_this2.loginWithToken(_this2.token, _this2.email, _this2.password)["catch"](function () {
return _this2.disconnected(true);
});
}, this.autoReconnectInterval);
}
@@ -1030,6 +1024,15 @@ var InternalClient = (function () {
return this.apiRequest("patch", _Constants.Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id, true, { deaf: false });
};
// def setNickname
InternalClient.prototype.setNickname = function setNickname(server, nick, user) {
nick = nick || "";
user = this.resolver.resolveUser(user);
server = this.resolver.resolveServer(server);
return this.apiRequest("patch", _Constants.Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id, true, { nick: nick });
};
// def createRole
InternalClient.prototype.createRole = function createRole(server, data) {
@@ -1381,24 +1384,22 @@ var InternalClient = (function () {
this.idleStatus = this.idleStatus || null; //undefined
}
this.game = game === null ? null : game || this.game;
this.game = game === null ? null : !game ? this.game || null : {
name: game
};
var packet = {
op: 3,
d: {
idle_since: this.idleStatus,
game: {
name: this.game
}
game: this.game
}
};
this.sendWS(packet);
this.user.status = this.idleStatus ? "idle" : "online";
this.user.game = {
name: this.game
};
this.user.game = this.game;
return Promise.resolve();
};
@@ -2028,10 +2029,11 @@ var InternalClient = (function () {
return server.roles.get("id", pid);
}),
mute: false,
self_mute: false,
selfMute: false,
deaf: false,
self_deaf: false,
joinedAt: Date.parse(data.joined_at)
selfDeaf: false,
joinedAt: Date.parse(data.joined_at),
nick: data.nick
};
server.memberCount++;
@@ -2090,9 +2092,10 @@ var InternalClient = (function () {
return server.roles.get("id", pid);
});
server.memberMap[data.user.id].mute = data.mute;
server.memberMap[data.user.id].self_mute = data.self_mute;
server.memberMap[data.user.id].selfMute = data.self_mute;
server.memberMap[data.user.id].deaf = data.deaf;
server.memberMap[data.user.id].self_deaf = data.self_deaf;
server.memberMap[data.user.id].selfDeaf = data.self_deaf;
server.memberMap[data.user.id].nick = data.nick;
client.emit("serverMemberUpdated", server, user);
} else {
client.emit("warn", "server member removed but user doesn't exist in cache");
@@ -2257,10 +2260,11 @@ var InternalClient = (function () {
return server.roles.get("id", pid);
}),
mute: user.mute,
self_mute: false,
selfMute: false,
deaf: user.deaf,
self_deaf: false,
joinedAt: Date.parse(user.joined_at)
selfDeaf: false,
joinedAt: Date.parse(user.joined_at),
nick: user.nick
};
server.members.add(self.users.add(new _StructuresUser2["default"](user.user, client)));
}

View File

@@ -95,10 +95,11 @@ var Server = (function (_Equality) {
return self.roles.get("id", pid);
}),
mute: dataUser.mute,
self_mute: dataUser.self_mute,
selfMute: dataUser.self_mute,
deaf: dataUser.deaf,
self_deaf: dataUser.self_deaf,
joinedAt: Date.parse(dataUser.joined_at)
selfDeaf: dataUser.self_deaf,
joinedAt: Date.parse(dataUser.joined_at),
nick: dataUser.nick
};
_this.members.add(client.internal.users.add(new _User2["default"](dataUser.user, client)));
});
@@ -355,6 +356,10 @@ var Server = (function (_Equality) {
return this.client.createChannel.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
Server.prototype.setNickname = function setNickname() {
return this.client.setNickname.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
Server.prototype.membersWithRole = function membersWithRole(role) {
return this.members.filter(function (m) {
return m.hasRole(role);

View File

@@ -810,6 +810,15 @@ export default class Client extends EventEmitter {
.then(dataCallback(callback), errorCallback(callback));
}
// def setNickname
setNickname(server, nick, user, callback = (/*err, {}*/) => { }) {
if(!user) {
user = this.user;
}
return this.internal.setNickname(server, nick, user)
.then(dataCallback(callback), errorCallback(callback));
}
// def createRole
createRole(server, data = null, callback = (/*err, role*/) => { }) {
if (typeof data === "function") {

View File

@@ -179,11 +179,7 @@ export default class InternalClient {
this.setup();
// Check whether the email is set (if not, only a token has been used for login)
if (this.email) {
this.login(this.email, this.password).catch(() => this.disconnected(true));
} else {
this.loginWithToken(this.token).catch(() => this.disconnected(true));
}
this.loginWithToken(this.token, this.email, this.password).catch(() => this.disconnected(true));
}, this.autoReconnectInterval);
}
@@ -867,6 +863,14 @@ export default class InternalClient {
return this.apiRequest("patch", `${Endpoints.SERVER_MEMBERS(server.id)}/${user.id}`, true, { deaf: false });
}
// def setNickname
setNickname(server, nick, user) {
nick = nick || "";
user = this.resolver.resolveUser(user);
server = this.resolver.resolveServer(server);
return this.apiRequest("patch", `${Endpoints.SERVER_MEMBERS(server.id)}/${user.id}`, true, { nick: nick });
}
// def createRole
createRole(server, data) {
server = this.resolver.resolveServer(server);
@@ -1161,24 +1165,22 @@ export default class InternalClient {
this.idleStatus = this.idleStatus || null; //undefined
}
this.game = game === null ? null : game || this.game;
this.game = game === null ? null : !game ? this.game || null : {
name: game
};
var packet = {
op: 3,
d: {
idle_since: this.idleStatus,
game: {
name: this.game
}
game: this.game
}
};
this.sendWS(packet);
this.user.status = this.idleStatus ? "idle" : "online";
this.user.game = {
name: this.game
};
this.user.game = this.game;
return Promise.resolve();
@@ -1733,10 +1735,11 @@ export default class InternalClient {
server.memberMap[data.user.id] = {
roles: data.roles.map(pid => server.roles.get("id", pid)),
mute: false,
self_mute: false,
selfMute: false,
deaf: false,
self_deaf: false,
joinedAt: Date.parse(data.joined_at)
selfDeaf: false,
joinedAt: Date.parse(data.joined_at),
nick: data.nick
};
server.memberCount++;
@@ -1785,9 +1788,10 @@ export default class InternalClient {
server.memberMap[data.user.id] = server.memberMap[data.user.id] || {};
server.memberMap[data.user.id].roles = data.roles.map(pid => server.roles.get("id", pid));
server.memberMap[data.user.id].mute = data.mute;
server.memberMap[data.user.id].self_mute = data.self_mute;
server.memberMap[data.user.id].selfMute = data.self_mute;
server.memberMap[data.user.id].deaf = data.deaf;
server.memberMap[data.user.id].self_deaf = data.self_deaf;
server.memberMap[data.user.id].selfDeaf = data.self_deaf;
server.memberMap[data.user.id].nick = data.nick;
client.emit("serverMemberUpdated", server, user);
} else {
client.emit("warn", "server member removed but user doesn't exist in cache");
@@ -1940,10 +1944,11 @@ export default class InternalClient {
server.memberMap[user.user.id] = {
roles: user.roles.map(pid => server.roles.get("id", pid)),
mute: user.mute,
self_mute: false,
selfMute: false,
deaf: user.deaf,
self_deaf: false,
joinedAt: Date.parse(user.joined_at)
selfDeaf: false,
joinedAt: Date.parse(user.joined_at),
nick: user.nick
};
server.members.add(self.users.add(new User(user.user, client)));
}

View File

@@ -58,10 +58,11 @@ export default class Server extends Equality {
this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)),
mute: dataUser.mute,
self_mute: dataUser.self_mute,
selfMute: dataUser.self_mute,
deaf: dataUser.deaf,
self_deaf: dataUser.self_deaf,
joinedAt: Date.parse(dataUser.joined_at)
selfDeaf: dataUser.self_deaf,
joinedAt: Date.parse(dataUser.joined_at),
nick: dataUser.nick
};
this.members.add(client.internal.users.add(new User(dataUser.user, client)));
});
@@ -293,6 +294,10 @@ export default class Server extends Equality {
return this.client.createChannel.apply(this.client, reg(this, arguments));
}
setNickname() {
return this.client.setNickname.apply(this.client, reg(this, arguments));
}
membersWithRole(role) {
return this.members.filter(m => m.hasRole(role));
}