mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-20 05:23:31 +01:00
feat: trigger userUpdate on GUILD_MEMBER_UPDATE (#4697)
This commit is contained in:
@@ -13,6 +13,7 @@ class UserUpdateAction extends Action {
|
|||||||
if (!oldUser.equals(newUser)) {
|
if (!oldUser.equals(newUser)) {
|
||||||
/**
|
/**
|
||||||
* Emitted whenever a user's details (e.g. username) are changed.
|
* Emitted whenever a user's details (e.g. username) are changed.
|
||||||
|
* Triggered by the Discord gateway events USER_UPDATE, GUILD_MEMBER_UPDATE, and PRESENCE_UPDATE.
|
||||||
* @event Client#userUpdate
|
* @event Client#userUpdate
|
||||||
* @param {User} oldUser The user before the update
|
* @param {User} oldUser The user before the update
|
||||||
* @param {User} newUser The user after the update
|
* @param {User} newUser The user after the update
|
||||||
|
|||||||
@@ -3,6 +3,12 @@
|
|||||||
const { Status, Events } = require('../../../util/Constants');
|
const { Status, Events } = require('../../../util/Constants');
|
||||||
|
|
||||||
module.exports = (client, { d: data }, shard) => {
|
module.exports = (client, { d: data }, shard) => {
|
||||||
|
let user = client.users.cache.get(data.user.id);
|
||||||
|
if (!user && data.user.username) user = client.users.add(data.user);
|
||||||
|
if (user && data.user && data.user.username) {
|
||||||
|
if (!user.equals(data.user)) client.actions.UserUpdate.handle(data.user);
|
||||||
|
}
|
||||||
|
|
||||||
const guild = client.guilds.cache.get(data.guild_id);
|
const guild = client.guilds.cache.get(data.guild_id);
|
||||||
if (guild) {
|
if (guild) {
|
||||||
const member = guild.members.cache.get(data.user.id);
|
const member = guild.members.cache.get(data.user.id);
|
||||||
@@ -11,6 +17,7 @@ module.exports = (client, { d: data }, shard) => {
|
|||||||
if (shard.status === Status.READY) {
|
if (shard.status === Status.READY) {
|
||||||
/**
|
/**
|
||||||
* Emitted whenever a guild member changes - i.e. new role, removed role, nickname.
|
* Emitted whenever a guild member changes - i.e. new role, removed role, nickname.
|
||||||
|
* Also emitted when the user's details (e.g. username) change.
|
||||||
* @event Client#guildMemberUpdate
|
* @event Client#guildMemberUpdate
|
||||||
* @param {GuildMember} oldMember The member before the update
|
* @param {GuildMember} oldMember The member before the update
|
||||||
* @param {GuildMember} newMember The member after the update
|
* @param {GuildMember} newMember The member after the update
|
||||||
|
|||||||
Reference in New Issue
Block a user