Check if parts of server data exist

This commit is contained in:
abalabahaha
2016-01-16 17:09:25 -08:00
parent 345d0da72b
commit 94f067cc51
2 changed files with 58 additions and 46 deletions

View File

@@ -35,30 +35,36 @@ export default class Server extends Equality {
var self = this;
data.roles.forEach((dataRole) => {
this.roles.add(new Role(dataRole, this, client));
});
if (data.roles) {
data.roles.forEach((dataRole) => {
this.roles.add(new Role(dataRole, this, client));
});
}
data.members.forEach((dataUser) => {
this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)),
mute: dataUser.mute,
deaf: dataUser.deaf,
joinedAt: Date.parse(dataUser.joined_at)
};
var user = client.internal.users.add(new User(dataUser.user, client));
this.members.add(user);
});
if (data.members) {
data.members.forEach((dataUser) => {
this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)),
mute: dataUser.mute,
deaf: dataUser.deaf,
joinedAt: Date.parse(dataUser.joined_at)
};
var user = client.internal.users.add(new User(dataUser.user, client));
this.members.add(user);
});
}
data.channels.forEach((dataChannel) => {
if (dataChannel.type === "text") {
var channel = client.internal.channels.add(new TextChannel(dataChannel, client, this));
this.channels.add(channel);
} else {
var channel = client.internal.channels.add(new VoiceChannel(dataChannel, client, this));
this.channels.add(channel);
}
});
if (data.channels) {
data.channels.forEach((dataChannel) => {
if (dataChannel.type === "text") {
var channel = client.internal.channels.add(new TextChannel(dataChannel, client, this));
this.channels.add(channel);
} else {
var channel = client.internal.channels.add(new VoiceChannel(dataChannel, client, this));
this.channels.add(channel);
}
});
}
if (data.presences) {
for (var presence of data.presences) {