[Fix] Certain global user properies not getting updated (#3158)
* yep * fix
This commit is contained in:
@@ -8,14 +8,27 @@ namespace Discord.WebSocket
|
||||
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
|
||||
internal class SocketGlobalUser : SocketUser
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public override bool IsBot { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override string Username { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override ushort DiscriminatorValue { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override string AvatarId { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override string GlobalName { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override string AvatarDecorationHash { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override ulong? AvatarDecorationSkuId { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override PrimaryGuild? PrimaryGuild { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
internal override SocketPresence Presence { get; set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override bool IsWebhook => false;
|
||||
/// <inheritdoc />
|
||||
internal override SocketGlobalUser GlobalUser { get => this; set => throw new NotImplementedException(); }
|
||||
|
||||
private readonly object _lockObj = new object();
|
||||
|
||||
@@ -31,6 +31,28 @@ namespace Discord.WebSocket
|
||||
public override string AvatarId { get { return GlobalUser.AvatarId; } internal set { GlobalUser.AvatarId = value; } }
|
||||
/// <inheritdoc />
|
||||
public override string GlobalName { get { return GlobalUser.GlobalName; } internal set { GlobalUser.GlobalName = value; } }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string AvatarDecorationHash
|
||||
{
|
||||
get => GlobalUser.AvatarDecorationHash;
|
||||
internal set => GlobalUser.AvatarDecorationHash = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override ulong? AvatarDecorationSkuId
|
||||
{
|
||||
get => GlobalUser.AvatarDecorationSkuId;
|
||||
internal set => GlobalUser.AvatarDecorationSkuId = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override PrimaryGuild? PrimaryGuild
|
||||
{
|
||||
get => GlobalUser.PrimaryGuild;
|
||||
internal set => GlobalUser.PrimaryGuild = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
internal override SocketPresence Presence { get { return GlobalUser.Presence; } set { GlobalUser.Presence = value; } }
|
||||
|
||||
|
||||
@@ -53,6 +53,13 @@ namespace Discord.WebSocket
|
||||
/// <inheritdoc />
|
||||
public override string GlobalName { get { return GlobalUser.GlobalName; } internal set { GlobalUser.GlobalName = value; } }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string AvatarDecorationHash { get => GlobalUser.AvatarDecorationHash; internal set => GlobalUser.AvatarDecorationHash = value; }
|
||||
/// <inheritdoc />
|
||||
public override ulong? AvatarDecorationSkuId { get => GlobalUser.AvatarDecorationSkuId; internal set => GlobalUser.AvatarDecorationSkuId = value; }
|
||||
/// <inheritdoc />
|
||||
public override PrimaryGuild? PrimaryGuild { get => GlobalUser.PrimaryGuild; internal set => GlobalUser.PrimaryGuild = value; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string GuildBannerHash { get; private set; }
|
||||
|
||||
|
||||
@@ -46,6 +46,28 @@ namespace Discord.WebSocket
|
||||
public override string AvatarId { get { return GlobalUser.AvatarId; } internal set { GlobalUser.AvatarId = value; } }
|
||||
/// <inheritdoc />
|
||||
public override string GlobalName { get { return GlobalUser.GlobalName; } internal set { GlobalUser.GlobalName = value; } }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string AvatarDecorationHash
|
||||
{
|
||||
get => GlobalUser.AvatarDecorationHash;
|
||||
internal set => GlobalUser.AvatarDecorationHash = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override ulong? AvatarDecorationSkuId
|
||||
{
|
||||
get => GlobalUser.AvatarDecorationSkuId;
|
||||
internal set => GlobalUser.AvatarDecorationSkuId = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override PrimaryGuild? PrimaryGuild
|
||||
{
|
||||
get => GlobalUser.PrimaryGuild;
|
||||
internal set => GlobalUser.PrimaryGuild = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
internal override SocketPresence Presence { get { return GlobalUser.Presence; } set { GlobalUser.Presence = value; } }
|
||||
/// <inheritdoc />
|
||||
|
||||
@@ -65,6 +65,28 @@ namespace Discord.WebSocket
|
||||
get => GlobalUser.GlobalName;
|
||||
internal set => GlobalUser.GlobalName = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string AvatarDecorationHash
|
||||
{
|
||||
get => GlobalUser.AvatarDecorationHash;
|
||||
internal set => GlobalUser.AvatarDecorationHash = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override ulong? AvatarDecorationSkuId
|
||||
{
|
||||
get => GlobalUser.AvatarDecorationSkuId;
|
||||
internal set => GlobalUser.AvatarDecorationSkuId = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override PrimaryGuild? PrimaryGuild
|
||||
{
|
||||
get => GlobalUser.PrimaryGuild;
|
||||
internal set => GlobalUser.PrimaryGuild = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string DisplayAvatarId => GuildAvatarId ?? AvatarId;
|
||||
|
||||
|
||||
@@ -21,6 +21,12 @@ namespace Discord.WebSocket
|
||||
public override string AvatarId { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override string GlobalName { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override string AvatarDecorationHash { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override ulong? AvatarDecorationSkuId { get; internal set; }
|
||||
/// <inheritdoc />
|
||||
public override PrimaryGuild? PrimaryGuild { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override bool IsBot { get; internal set; }
|
||||
|
||||
@@ -49,10 +49,13 @@ namespace Discord.WebSocket
|
||||
public IReadOnlyCollection<IActivity> Activities => Presence.Activities ?? ImmutableList<IActivity>.Empty;
|
||||
|
||||
/// <inheritdoc />
|
||||
public string AvatarDecorationHash { get; private set; }
|
||||
public abstract string AvatarDecorationHash { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public ulong? AvatarDecorationSkuId { get; private set; }
|
||||
public abstract ulong? AvatarDecorationSkuId { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public abstract PrimaryGuild? PrimaryGuild { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public PrimaryGuild? PrimaryGuild { get; private set; }
|
||||
@@ -120,15 +123,15 @@ namespace Discord.WebSocket
|
||||
{
|
||||
if (model.PrimaryGuild.Value is null)
|
||||
{
|
||||
PrimaryGuild = null;
|
||||
if (PrimaryGuild is not null)
|
||||
hasChanges = true;
|
||||
PrimaryGuild = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (PrimaryGuild?.GuildId != model.PrimaryGuild.Value.GuildId ||
|
||||
PrimaryGuild?.BadgeHash != model.PrimaryGuild.Value.BadgeHash ||
|
||||
PrimaryGuild?.Tag != model.PrimaryGuild.Value.Tag||
|
||||
PrimaryGuild?.Tag != model.PrimaryGuild.Value.Tag ||
|
||||
PrimaryGuild?.IdentityEnabled != model.PrimaryGuild.Value.IdentityEnabled)
|
||||
{
|
||||
PrimaryGuild = new(
|
||||
|
||||
@@ -28,6 +28,15 @@ namespace Discord.WebSocket
|
||||
/// <inheritdoc />
|
||||
public override string GlobalName { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string AvatarDecorationHash { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override ulong? AvatarDecorationSkuId { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override PrimaryGuild? PrimaryGuild { get; internal set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override bool IsBot { get; internal set; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user