Skip to content
206 changes: 189 additions & 17 deletions NetCord/UserFlags.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,194 @@
namespace NetCord;

[Flags]
public enum UserFlags : uint
public enum UserFlags : ulong
{
DiscordEmployee = 1 << 0,
PartneredServerOwner = 1 << 1,
HypeSquadEvents = 1 << 2,
BugHunterLevel1 = 1 << 3,
HouseBravery = 1 << 6,
HouseBrilliance = 1 << 7,
HouseBalance = 1 << 8,
EarlySupporter = 1 << 9,
TeamUser = 1 << 10,
BugHunterLevel2 = 1 << 14,
VerifiedBot = 1 << 16,
EarlyVerifiedBotDeveloper = 1 << 17,
DiscordCertifiedModerator = 1 << 18,
BotHttpInteractions = 1 << 19,
Spammer = 1 << 20,
ActiveDeveloper = 1 << 22,
/// <summary>
/// User is a discord employee.
Comment thread
Red-K0 marked this conversation as resolved.
Outdated
/// </summary>
Staff = (ulong)1 << 0,

/// <summary>
/// User is a discord partner.
Comment thread
Red-K0 marked this conversation as resolved.
Outdated
/// </summary>
Partner = (ulong)1 << 1,

/// <summary>
/// User has the 'HypeSquad Events' badge.
/// </summary>
HypeSquad = (ulong)1 << 2,

/// <summary>
/// User has the 'Bug Hunter' badge.
/// </summary>
BugHunterLevel1 = (ulong)1 << 3,

/// <summary>
/// Undocumented and Private. User has SMS recovery for 2FA enabled.
/// </summary>
MfaSms = (ulong)1 << 4,

/// <summary>
/// Undocumented and Private. User dismissed the Nitro promotion.
/// </summary>
PremiumPromoDismissed = (ulong)1 << 5,


Comment thread
Red-K0 marked this conversation as resolved.
// HypeSquad House Flags

/// <summary>
/// User is a House of Bravery Member.
/// </summary>
HypeSquadOnlineHouse1 = (ulong)1 << 6,

/// <summary>
/// User is a House of Brilliance Member.
/// </summary>
HypeSquadOnlineHouse = (ulong)1 << 7,

/// <summary>
/// User is a House of Balance Member.
/// </summary>
HypeSquadOnlineHouse3 = (ulong)1 << 8,

/// <summary>
/// User has the 'Early Supporter' badge.
/// </summary>
PremiumEarlySupporter = (ulong)1 << 9,

/// <summary>
/// User is a team. See <see href="https://discord.com/developers/docs/topics/teams"/>.
/// </summary>
TeamPseudoUser = (ulong)1 << 10,

/// <summary>
/// Undocumented and Private. User has a pending partner/verification application.
/// </summary>
InternalApplication = (ulong)1 << 11,

/// <summary>
/// Undocumented. User is the SYSTEM account.
Comment thread
Red-K0 marked this conversation as resolved.
Outdated
/// </summary>
System = (ulong)1 << 12,

/// <summary>
/// Undocumented and Private. User has unread messages from Discord.
/// </summary>
Has_Unread_Urgent_Messages = (ulong)1 << 13,

/// <summary>
/// User has the 'Golden Bug Hunter' badge.
/// </summary>
BugHunterLevel2 = (ulong)1 << 14,

/// <summary>
/// Undocumented and Private. User is pending deletion for being underage in DOB prompt.
/// </summary>
UnderageDeleted = (ulong)1 << 15,

// Verification Flags

/// <summary>
/// User is a verified bot. See <see href="https://support.discord.com/hc/articles/360040720412"/>.
/// </summary>
VerifiedBot = (ulong)1 << 16,

/// <summary>
/// User has the 'Early Verified Developer' badge.
/// </summary>
VerifiedDeveloper = (ulong)1 << 17,

/// <summary>
/// User has the 'Moderator Program Alumni' badge.
/// </summary>
CertifiedModerator = (ulong)1 << 18,

/// <summary>
/// Undocumented. User is a bot with an interactions endpoint.
/// </summary>
BotHttpInteractions = (ulong)1 << 19,

/// <summary>
/// Undocumented. User's account is disabled for spam.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it means the account is disabled. Other users have spammers' messages hidden by default as if they were blocked. Maybe something changed though.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No discord can actually just disable you for spam, had it happen to someone I know.

Discord has disabled your account for spam and/or platform abuse. Our anti-abuse measures may have flagged your account for any of the following behaviors:

  • Sending a large number of direct messages in a short span of time
  • Participating in a server dedicated to spamming Discord
  • Automating your user account or self-botting
  • Taking other actions on Discord — for example, joining a ton of servers — faster than humanly possible
  • Attempting potentially fraudulent activity

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is how being a spammer used to look like.
image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A spammer can be disabled or vice-versa. But even the non-disabled ones will have the flag, I checked in my own server @KubaZ2

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks, that means that the comment isn't correct

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, question is what to change it to though. I could just leave it at "User's account is disabled."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"User account is flagged as spammer"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added that instead then

/// </summary>
Spammer = (ulong)1 << 20,

/// <summary>
/// Undocumented and Private. User's Nitro features are disabled.
/// </summary>
DisablePremium = (ulong)1 << 21,

/// <summary>
/// User has the 'Active Developer' badge. See <see href="https://support-dev.discord.com/hc/articles/10113997751447"/>.
/// </summary>
ActiveDeveloper = (ulong)1 << 22,

/// <summary>
/// Undocumented and Private. User's account has a high global rate limit.
/// </summary>
HighGlobalRateLimit = (ulong)1 << 33,

/// <summary>
/// Undocumented and Private. User's account is deleted.
/// </summary>
Deleted = (ulong)1 << 34,

/// <summary>
/// Undocumented and Private. User's account is disabled for suspicious activity.
/// </summary>
DisabledSuspiciousActivity = (ulong)1 << 35,

/// <summary>
/// Undocumented and Private. User's account was manually deleted.
/// </summary>
SelfDeleted = (ulong)1 << 36,

/// <summary>
/// Undocumented. User has a manually selected discriminator.
/// </summary>
PremiumDiscriminator = (ulong)1 << 37,

// Client Usage Flags

/// <summary>
/// Undocumented. User has used the desktop client.
/// </summary>
UsedDesktopClient = (ulong)1 << 38,

/// <summary>
/// Undocumented. User has used the web client.
/// </summary>
UsedWebClient = (ulong)1 << 39,

/// <summary>
/// Undocumented. User has used the mobile client.
/// </summary>
UsedMobileClient = (ulong)1 << 40,

/// <summary>
/// Undocumented and Private. User's account is temporarily or permanently disabled.
/// </summary>
Disabled = (ulong)1 << 41,

/// <summary>
/// Undocumented. User has a verified email.
/// </summary>
VerifiedEmail = (ulong)1 << 43,

/// <summary>
/// Undocumented and Private. User is quarantined. See <see href="https://support.discord.com/hc/articles/6461420677527"/>.
/// </summary>
Quarantined = (ulong)1 << 44,

// Collaborator Flags

/// <summary>
/// Undocumented. User is a collaborator and has staff permissions.
/// </summary>
Collaborator = (ulong)1 << 50,

/// <summary>
/// Undocumented. User is a restricted collaborator and has staff permissions.
/// </summary>
RestrictedCollaborator = (ulong)1 << 51,
}