mirror of
https://github.com/spacebarchat/server.git
synced 2026-03-30 18:15:41 +00:00
86 lines
2.4 KiB
C#
86 lines
2.4 KiB
C#
using System.Text.Json.Nodes;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Spacebar.Models.Gateway;
|
|
|
|
public class IdentifyRequest {
|
|
[JsonPropertyName("token")]
|
|
public string Token { get; set; }
|
|
|
|
[JsonPropertyName("properties")]
|
|
public JsonObject ClientProperties { get; set; }
|
|
|
|
[JsonPropertyName("compress")]
|
|
public bool? Compress { get; set; }
|
|
|
|
[JsonPropertyName("large_threshold")]
|
|
public int? LargeTreshold { get; set; }
|
|
|
|
[JsonPropertyName("shard")]
|
|
public int[]? Shard { get; set; }
|
|
|
|
[JsonPropertyName("presence")]
|
|
public JsonObject? Presence { get; set; }
|
|
|
|
[JsonPropertyName("intents")]
|
|
public GatewayIntentFlags? Intents { get; set; }
|
|
|
|
[JsonPropertyName("capabilities")]
|
|
public GatewayCapabilityFlags? Capabilities { get; set; }
|
|
|
|
[JsonPropertyName("client_state")]
|
|
public JsonObject? ClientState { get; set; }
|
|
}
|
|
|
|
[Flags]
|
|
public enum GatewayIntentFlags : ulong {
|
|
Guilds = 1,
|
|
GuildMembers = 1 << 1,
|
|
GuildModeration = 1 << 2,
|
|
GuildEmojisAndStickers = 1 << 3,
|
|
GuildIntegrations = 1 << 4,
|
|
GuildWebhooks = 1 << 5,
|
|
GuildInvites = 1 << 6,
|
|
GuildVoiceStates = 1 << 7,
|
|
GuildPresences = 1 << 8,
|
|
GuildMessages = 1 << 9,
|
|
GuildMessageReactions = 1 << 10,
|
|
GuildMessageTyping = 1 << 11,
|
|
DirectMessages = 1 << 12,
|
|
DirectMessageReactions = 1 << 13,
|
|
DirectMessageTyping = 1 << 14,
|
|
MessageContent = 1 << 15,
|
|
GuildScheduledEvents = 1 << 16,
|
|
PrivateEmbeddedActivities = 1 << 17,
|
|
PrivateChannels = 1 << 18,
|
|
Calls = 1 << 19,
|
|
AutoModerationConfiguration = 1 << 20,
|
|
AutoModerationExecution = 1 << 21,
|
|
UserRelationships = 1 << 22,
|
|
UserPresence = 1 << 23,
|
|
GuildMessagePolls = 1 << 24,
|
|
DirectMessagePolls = 1 << 25,
|
|
DirectEmbeddedActivities = 1 << 26,
|
|
Lobbies = 1 << 27,
|
|
LobbyDelete = 1 << 28
|
|
}
|
|
|
|
[Flags]
|
|
public enum GatewayCapabilityFlags {
|
|
LazyUserNotes = 1,
|
|
NoAffineUserIds = 1 << 1,
|
|
VersionedReadStates = 1 << 2,
|
|
VersionedUserGuildSettings = 1 << 3,
|
|
DedupeUserObjects = 1 << 4,
|
|
PrioritizedReadyPayload = 1 << 5,
|
|
MultipleGuildExperimentPopulations = 1 << 6,
|
|
NonChannelReadStates = 1 << 7,
|
|
AuthTokenRefresh = 1 << 8,
|
|
UserSettingsProto = 1 << 9,
|
|
ClientStateV2 = 1 << 10,
|
|
PassiveGuildUpdate = 1 << 11,
|
|
AutoCallConnect = 1 << 12,
|
|
DebounceMessageReactions = 1 << 13,
|
|
PassiveGuildUpdateV2 = 1 << 14,
|
|
AutoLobbyConnect = 1 << 16
|
|
} |