Added full Role tracking

This commit is contained in:
hydrabolt
2016-04-17 15:43:12 +01:00
parent bbf7be7dfa
commit 71a4cd6a93
3 changed files with 19 additions and 21 deletions

View File

@@ -36,7 +36,8 @@ class Guild {
_updateMember(member, data) {
let oldRoles = member.roles;
member.roles = data.roles;
member._roles = data.roles;
if (this.client.ws.emittedReady) {
this.client.emit(Constants.Events.GUILD_MEMBER_ROLES_UPDATE, this, oldRoles, member.roles);
}

View File

@@ -4,38 +4,35 @@ class GuildMember {
constructor(guild, data) {
this.client = guild.client;
this.guild = guild;
this._user = {};
this.user = {};
this._roles = [];
if (data) {
this.setup(data);
}
}
setup(data) {
this._user = data.user;
this.user = data.user;
this.deaf = data.deaf;
this.mute = data.mute;
this.joinDate = new Date(data.joined_at);
this.roles = data.roles;
this._roles = data.roles;
}
get username() {
return this._user.username;
get roles() {
let list = [];
for (let roleID of this._roles) {
let role = this.guild.store.get('roles', roleID);
if (role) {
list.push(role);
}
}
return list;
}
get id() {
return this._user.id;
}
get discriminator() {
return this._user.discriminator;
}
get avatar() {
return this._user.avatar;
}
get bot() {
return this._user.bot;
return this.user.id;
}
}

View File

@@ -30,11 +30,11 @@ client.on('channelUpdate', (old, chan) => {
});
client.on('guildMemberAdd', (guild, user) => {
console.log('new guild member', user.username, 'in', guild.name);
console.log('new guild member', user.user.username, 'in', guild.name);
});
client.on('guildMemberRemove', (guild, user) => {
console.log('dead guild member', user.username, 'in', guild.name);
console.log('dead guild member', user.user.username, 'in', guild.name);
});
client.on('guildRoleCreate', (guild, role) => {