mirror of
https://github.com/spacebarchat/server.git
synced 2026-08-28 05:14:15 +00:00
C# gw offload work, schema-izing stuff
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
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
|
||||
{
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Spacebar.Models.Gateway;
|
||||
|
||||
public class LazyRequest
|
||||
{
|
||||
[JsonPropertyName("guild_id")]
|
||||
public string GuildId { get; set; }
|
||||
|
||||
[JsonPropertyName("channels")]
|
||||
public Dictionary<string, List<List<int>>> Channels { get; set; }
|
||||
|
||||
[JsonPropertyName("members")]
|
||||
public bool Members { get; set; }
|
||||
|
||||
[JsonPropertyName("threads")]
|
||||
public bool Threads { get; set; }
|
||||
|
||||
[JsonPropertyName("activities")]
|
||||
public bool Activities { get; set; }
|
||||
|
||||
[JsonPropertyName("typing")]
|
||||
public bool Typing { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user