summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/models/Event.ts103
1 files changed, 57 insertions, 46 deletions
diff --git a/src/models/Event.ts b/src/models/Event.ts

index 9bc67c13..34c330d3 100644 --- a/src/models/Event.ts +++ b/src/models/Event.ts
@@ -1,4 +1,3 @@ -// @ts-nocheck import { ConnectedAccount, User, UserSettings } from "./User"; import { DMChannel, Channel } from "./Channel"; import { Guild } from "./Guild"; @@ -18,11 +17,19 @@ export interface Event { user_id?: bigint; channel_id?: bigint; created_at: number; - // data: any; - // event: EVENT; + event: EVENT; + data?: any; } -export interface Event { +// ! Custom Events that shouldn't get sent to the client but processed by the server + +export interface InvalidatedEvent extends Event { + event: "INVALIDATED"; +} + +// ! END Custom Events that shouldn't get sent to the client but processed by the server + +export interface ReadyEvent extends Event { event: "READY"; data: { v: number; @@ -78,22 +85,22 @@ export interface Event { }; } -export interface Event { +export interface ChannelCreateEvent extends Event { event: "CHANNEL_CREATE"; data: Channel; } -export interface Event { +export interface ChannelUpdateEvent extends Event { event: "CHANNEL_UPDATE"; data: Channel; } -export interface Event { +export interface ChannelDeleteEvent extends Event { event: "CHANNEL_DELETE"; data: Channel; } -export interface Event { +export interface ChannelPinsUpdateEvent extends Event { event: "CHANNEL_PINS_UPDATE"; data: { guild_id?: bigint; @@ -102,22 +109,22 @@ export interface Event { }; } -export interface Event { +export interface GuildCreateEvent extends Event { event: "GUILD_CREATE"; data: Guild; } -export interface Event { +export interface GuildUpdateEvent extends Event { event: "GUILD_UPDATE"; data: Guild; } -export interface Event { +export interface GuildDeleteEvent extends Event { event: "GUILD_DELETE"; data: Guild; } -export interface Event { +export interface GuildBanAddEvent extends Event { event: "GUILD_BAN_ADD"; data: { guild_id: bigint; @@ -125,7 +132,7 @@ export interface Event { }; } -export interface Event { +export interface GuildBanRemoveEvent extends Event { event: "GUILD_BAN_REMOVE"; data: { guild_id: bigint; @@ -133,7 +140,7 @@ export interface Event { }; } -export interface Event { +export interface GuildEmojiUpdateEvent extends Event { event: "GUILD_EMOJI_UPDATE"; data: { guild_id: bigint; @@ -141,21 +148,21 @@ export interface Event { }; } -export interface Event { +export interface GuildIntegrationUpdateEvent extends Event { event: "GUILD_INTEGRATIONS_UPDATE"; data: { guild_id: bigint; }; } -export interface Event { +export interface GuildMemberAddEvent extends Event { event: "GUILD_MEMBER_ADD"; data: PublicMember & { guild_id: bigint; }; } -export interface Event { +export interface GuildMemberRemoveEvent extends Event { event: "GUILD_MEMBER_REMOVE"; data: { guild_id: bigint; @@ -163,7 +170,7 @@ export interface Event { }; } -export interface Event { +export interface GuildMemberUpdateEvent extends Event { event: "GUILD_MEMBER_UPDATE"; data: { guild_id: bigint; @@ -176,7 +183,7 @@ export interface Event { }; } -export interface Event { +export interface GuildMembersChunkEvent extends Event { event: "GUILD_MEMBERS_CHUNK"; data: { guild_id: bigint; @@ -189,7 +196,7 @@ export interface Event { }; } -export interface Event { +export interface GuildRoleCreateEvent extends Event { event: "GUILD_ROLE_CREATE"; data: { guild_id: bigint; @@ -197,7 +204,7 @@ export interface Event { }; } -export interface Event { +export interface GuildRoleUpdateEvent extends Event { event: "GUILD_ROLE_UPDATE"; data: { guild_id: bigint; @@ -205,7 +212,7 @@ export interface Event { }; } -export interface Event { +export interface GuildRoleDeleteEvent extends Event { event: "GUILD_ROLE_DELETE"; data: { guild_id: bigint; @@ -213,15 +220,15 @@ export interface Event { }; } -export interface Event { +export interface InviteCreateEvent extends Event { event: "INVITE_CREATE"; - data: Omit<Invite, "guild", "channel"> & { + data: Omit<Invite, "guild" | "channel"> & { channel_id: bigint; guild_id?: bigint; }; } -export interface Event { +export interface InviteDeleteEvent extends Event { event: "INVITE_DELETE"; data: { channel_id: bigint; @@ -238,17 +245,17 @@ export type MessagePayload = Omit<Message, "author_id"> & { mentions: (User & { member: PublicMember })[]; }; -export interface Event { +export interface MessageCreateEvent extends Event { event: "MESSAGE_CREATE"; data: MessagePayload; } -export interface Event { +export interface MessageUpdateEvent extends Event { event: "MESSAGE_UPDATE"; data: MessagePayload; } -export interface Event { +export interface MessageDeleteEvent extends Event { event: "MESSAGE_DELETE"; data: { id: bigint; @@ -257,7 +264,7 @@ export interface Event { }; } -export interface Event { +export interface MessageDeleteBulkEvent extends Event { event: "MESSAGE_DELETE_BULK"; data: { ids: bigint[]; @@ -266,7 +273,7 @@ export interface Event { }; } -export interface Event { +export interface MessageReactionAddEvent extends Event { event: "MESSAGE_REACTION_ADD"; data: { user_id: bigint; @@ -278,7 +285,7 @@ export interface Event { }; } -export interface Event { +export interface MessageReactionRemoveEvent extends Event { event: "MESSAGE_REACTION_REMOVE"; data: { user_id: bigint; @@ -289,7 +296,7 @@ export interface Event { }; } -export interface Event { +export interface MessageReactionRemoveAllEvent extends Event { event: "MESSAGE_REACTION_REMOVE_ALL"; data: { channel_id: bigint; @@ -298,7 +305,7 @@ export interface Event { }; } -export interface Event { +export interface MessageReactionRemoveEmojiEvent extends Event { event: "MESSAGE_REACTION_REMOVE_EMOJI"; data: { channel_id: bigint; @@ -308,12 +315,12 @@ export interface Event { }; } -export interface Event { +export interface PresenceUpdateEvent extends Event { event: "PRESENCE_UPDATE"; data: Presence; } -export interface Event { +export interface TypingStartEvent extends Event { event: "TYPING_START"; data: { channel_id: bigint; @@ -324,19 +331,19 @@ export interface Event { }; } -export interface Event { +export interface UserUpdateEvent extends Event { event: "USER_UPDATE"; data: User; } -export interface Event { +export interface VoiceStateUpdateEvent extends Event { event: "VOICE_STATE_UPDATE"; data: VoiceState & { member: PublicMember; }; } -export interface Event { +export interface VoiceServerUpdateEvent extends Event { event: "VOICE_SERVER_UPDATE"; data: { token: string; @@ -345,7 +352,7 @@ export interface Event { }; } -export interface Event { +export interface WebhooksUpdateEvent extends Event { event: "WEBHOOKS_UPDATE"; data: { guild_id: bigint; @@ -357,22 +364,22 @@ export type ApplicationCommandPayload = ApplicationCommand & { guild_id: bigint; }; -export interface Event { +export interface ApplicationCommandCreateEvent extends Event { event: "APPLICATION_COMMAND_CREATE"; data: ApplicationCommandPayload; } -export interface Event { +export interface ApplicationCommandUpdateEvent extends Event { event: "APPLICATION_COMMAND_UPDATE"; data: ApplicationCommandPayload; } -export interface Event { +export interface ApplicationCommandDeleteEvent extends Event { event: "APPLICATION_COMMAND_DELETE"; data: ApplicationCommandPayload; } -export interface Event { +export interface InteractionCreateEvent extends Event { event: "INTERACTION_CREATE"; data: Interaction; } @@ -404,14 +411,15 @@ export type EVENT = | "INVITE_CREATE" | "INVITE_DELETE" | "MESSAGE_CREATE" - | "MESSAGE_DELETE" | "MESSAGE_UPDATE" - | "MESSAGE_BULK_DELETE" + | "MESSAGE_DELETE" + | "MESSAGE_DELETE_BULK" | "MESSAGE_REACTION_ADD" // TODO: add a new event: bulk add reaction: // | "MESSAGE_REACTION_BULK_ADD" | "MESSAGE_REACTION_REMOVE" | "MESSAGE_REACTION_REMOVE_ALL" + | "MESSAGE_REACTION_REMOVE_EMOJI" | "PRESENCE_UPDATE" | "TYPING_START" | "USER_UPDATE" @@ -421,4 +429,7 @@ export type EVENT = | "VOICE_SERVER_UPDATE" | "APPLICATION_COMMAND_CREATE" | "APPLICATION_COMMAND_UPDATE" - | "APPLICATION_COMMAND_DELETE"; + | "APPLICATION_COMMAND_DELETE" + | CUSTOMEVENTS; + +export type CUSTOMEVENTS = "INVALIDATED";