From 9dfd4d7a4129a2cd0080f6e128e735927f170da2 Mon Sep 17 00:00:00 2001
From: Misha133 <61027276+Misha-133@users.noreply.github.com>
Date: Thu, 10 Aug 2023 15:41:40 +0300
Subject: [PATCH] [Fix] Updated global name not being passed to `UserUpdated`
event (#2726)
* fix
* fix another overgisht
---
.../Entities/Users/SocketGlobalUser.cs | 1 +
.../Entities/Users/SocketGroupUser.cs | 2 ++
.../Entities/Users/SocketGuildUser.cs | 2 ++
src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs | 2 ++
.../Entities/Users/SocketThreadUser.cs | 7 +++++++
.../Entities/Users/SocketUnknownUser.cs | 2 ++
src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs | 4 ++--
.../Entities/Users/SocketWebhookUser.cs | 3 ++-
8 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketGlobalUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketGlobalUser.cs
index 773fec38..5c933447 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketGlobalUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketGlobalUser.cs
@@ -12,6 +12,7 @@ namespace Discord.WebSocket
public override string Username { get; internal set; }
public override ushort DiscriminatorValue { get; internal set; }
public override string AvatarId { get; internal set; }
+ public override string GlobalName { get; internal set; }
internal override SocketPresence Presence { get; set; }
public override bool IsWebhook => false;
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketGroupUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketGroupUser.cs
index 7156bc45..1f16f344 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketGroupUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketGroupUser.cs
@@ -30,6 +30,8 @@ namespace Discord.WebSocket
///
public override string AvatarId { get { return GlobalUser.AvatarId; } internal set { GlobalUser.AvatarId = value; } }
///
+ public override string GlobalName { get { return GlobalUser.GlobalName; } internal set { GlobalUser.GlobalName = value; } }
+ ///
internal override SocketPresence Presence { get { return GlobalUser.Presence; } set { GlobalUser.Presence = value; } }
///
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs
index 4b212ef5..68a3f6ea 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs
@@ -47,6 +47,8 @@ namespace Discord.WebSocket
public override ushort DiscriminatorValue { get { return GlobalUser.DiscriminatorValue; } internal set { GlobalUser.DiscriminatorValue = value; } }
///
public override string AvatarId { get { return GlobalUser.AvatarId; } internal set { GlobalUser.AvatarId = value; } }
+ ///
+ public override string GlobalName { get { return GlobalUser.GlobalName; } internal set { GlobalUser.GlobalName = value; } }
///
public GuildPermissions GuildPermissions => new GuildPermissions(Permissions.ResolveGuild(Guild, this));
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs
index 3dbc2f9e..ae401f6b 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs
@@ -29,6 +29,8 @@ namespace Discord.WebSocket
///
public override string AvatarId { get { return GlobalUser.AvatarId; } internal set { GlobalUser.AvatarId = value; } }
///
+ public override string GlobalName { get { return GlobalUser.GlobalName; } internal set { GlobalUser.GlobalName = value; } }
+ ///
internal override SocketPresence Presence { get { return GlobalUser.Presence; } set { GlobalUser.Presence = value; } }
///
public UserProperties Flags { get; internal set; }
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketThreadUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketThreadUser.cs
index b45991e8..30a2267c 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketThreadUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketThreadUser.cs
@@ -58,6 +58,13 @@ namespace Discord.WebSocket
get => GuildUser.AvatarId;
internal set => GuildUser.AvatarId = value;
}
+
+ ///
+ public override string GlobalName
+ {
+ get => GlobalUser.GlobalName;
+ internal set => GlobalUser.GlobalName = value;
+ }
///
public string DisplayAvatarId => GuildAvatarId ?? AvatarId;
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketUnknownUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketUnknownUser.cs
index 32560f64..930518b1 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketUnknownUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketUnknownUser.cs
@@ -19,6 +19,8 @@ namespace Discord.WebSocket
public override ushort DiscriminatorValue { get; internal set; }
///
public override string AvatarId { get; internal set; }
+ ///
+ public override string GlobalName { get; internal set; }
///
public override bool IsBot { get; internal set; }
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs
index f4cdf414..57444766 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs
@@ -33,7 +33,7 @@ namespace Discord.WebSocket
internal abstract SocketPresence Presence { get; set; }
///
- public string GlobalName { get; internal set; }
+ public abstract string GlobalName { get; internal set; }
///
public DateTimeOffset CreatedAt => SnowflakeUtils.FromSnowflake(Id);
@@ -93,7 +93,7 @@ namespace Discord.WebSocket
PublicFlags = model.PublicFlags.Value;
hasChanges = true;
}
- if (model.GlobalName.IsSpecified)
+ if (model.GlobalName.IsSpecified && model.GlobalName.Value != GlobalName)
{
GlobalName = model.GlobalName.Value;
hasChanges = true;
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs
index 583e9a74..d76d9949 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs
@@ -25,7 +25,8 @@ namespace Discord.WebSocket
public override ushort DiscriminatorValue { get; internal set; }
///
public override string AvatarId { get; internal set; }
-
+ ///
+ public override string GlobalName { get; internal set; }
///
public override bool IsBot { get; internal set; }