mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 11:33:30 +01:00
Added full Role tracking
This commit is contained in:
@@ -36,7 +36,8 @@ class Guild {
|
|||||||
|
|
||||||
_updateMember(member, data) {
|
_updateMember(member, data) {
|
||||||
let oldRoles = member.roles;
|
let oldRoles = member.roles;
|
||||||
member.roles = data.roles;
|
|
||||||
|
member._roles = data.roles;
|
||||||
if (this.client.ws.emittedReady) {
|
if (this.client.ws.emittedReady) {
|
||||||
this.client.emit(Constants.Events.GUILD_MEMBER_ROLES_UPDATE, this, oldRoles, member.roles);
|
this.client.emit(Constants.Events.GUILD_MEMBER_ROLES_UPDATE, this, oldRoles, member.roles);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,38 +4,35 @@ class GuildMember {
|
|||||||
constructor(guild, data) {
|
constructor(guild, data) {
|
||||||
this.client = guild.client;
|
this.client = guild.client;
|
||||||
this.guild = guild;
|
this.guild = guild;
|
||||||
this._user = {};
|
this.user = {};
|
||||||
|
this._roles = [];
|
||||||
if (data) {
|
if (data) {
|
||||||
this.setup(data);
|
this.setup(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setup(data) {
|
setup(data) {
|
||||||
this._user = data.user;
|
this.user = data.user;
|
||||||
this.deaf = data.deaf;
|
this.deaf = data.deaf;
|
||||||
this.mute = data.mute;
|
this.mute = data.mute;
|
||||||
this.joinDate = new Date(data.joined_at);
|
this.joinDate = new Date(data.joined_at);
|
||||||
this.roles = data.roles;
|
this._roles = data.roles;
|
||||||
}
|
}
|
||||||
|
|
||||||
get username() {
|
get roles() {
|
||||||
return this._user.username;
|
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() {
|
get id() {
|
||||||
return this._user.id;
|
return this.user.id;
|
||||||
}
|
|
||||||
|
|
||||||
get discriminator() {
|
|
||||||
return this._user.discriminator;
|
|
||||||
}
|
|
||||||
|
|
||||||
get avatar() {
|
|
||||||
return this._user.avatar;
|
|
||||||
}
|
|
||||||
|
|
||||||
get bot() {
|
|
||||||
return this._user.bot;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,11 +30,11 @@ client.on('channelUpdate', (old, chan) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
client.on('guildMemberAdd', (guild, user) => {
|
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) => {
|
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) => {
|
client.on('guildRoleCreate', (guild, role) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user