mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Added full Role tracking
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user