[Feature] User primary guild (#3156)

This commit is contained in:
Mihail Gribkov
2025-07-13 23:22:04 +03:00
committed by GitHub
parent 800a23430d
commit 79b455ecf4
7 changed files with 124 additions and 0 deletions

View File

@@ -54,6 +54,9 @@ namespace Discord.WebSocket
/// <inheritdoc />
public ulong? AvatarDecorationSkuId { get; private set; }
/// <inheritdoc />
public PrimaryGuild? PrimaryGuild { get; private set; }
/// <summary>
/// Gets mutual guilds shared with this user.
/// </summary>
@@ -113,6 +116,32 @@ namespace Discord.WebSocket
hasChanges = true;
}
if (model.PrimaryGuild.IsSpecified)
{
if (model.PrimaryGuild.Value is null)
{
PrimaryGuild = null;
if (PrimaryGuild is not null)
hasChanges = true;
}
else
{
if (PrimaryGuild?.GuildId != model.PrimaryGuild.Value.GuildId ||
PrimaryGuild?.BadgeHash != model.PrimaryGuild.Value.BadgeHash ||
PrimaryGuild?.Tag != model.PrimaryGuild.Value.Tag||
PrimaryGuild?.IdentityEnabled != model.PrimaryGuild.Value.IdentityEnabled)
{
PrimaryGuild = new(
model.PrimaryGuild.Value.GuildId,
model.PrimaryGuild.Value.IdentityEnabled,
model.PrimaryGuild.Value.Tag,
model.PrimaryGuild.Value.BadgeHash);
hasChanges = true;
}
}
}
return hasChanges;
}