summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--dist/models/Event.d.ts88
-rw-r--r--src/models/Event.ts103
2 files changed, 104 insertions, 87 deletions
diff --git a/dist/models/Event.d.ts b/dist/models/Event.d.ts

index 233ebf33..693c1b5a 100644 --- a/dist/models/Event.d.ts +++ b/dist/models/Event.d.ts
@@ -15,8 +15,13 @@ export interface Event { user_id?: bigint; channel_id?: bigint; created_at: number; + event: EVENT; + data?: any; } -export interface Event { +export interface InvalidatedEvent extends Event { + event: "INVALIDATED"; +} +export interface ReadyEvent extends Event { event: "READY"; data: { v: number; @@ -78,19 +83,19 @@ 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; @@ -98,59 +103,59 @@ export interface Event { last_pin_timestamp: number; }; } -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; user: User; }; } -export interface Event { +export interface GuildBanRemoveEvent extends Event { event: "GUILD_BAN_REMOVE"; data: { guild_id: bigint; user: User; }; } -export interface Event { +export interface GuildEmojiUpdateEvent extends Event { event: "GUILD_EMOJI_UPDATE"; data: { guild_id: bigint; emojis: Emoji[]; }; } -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; user: User; }; } -export interface Event { +export interface GuildMemberUpdateEvent extends Event { event: "GUILD_MEMBER_UPDATE"; data: { guild_id: bigint; @@ -162,7 +167,7 @@ export interface Event { pending?: boolean; }; } -export interface Event { +export interface GuildMembersChunkEvent extends Event { event: "GUILD_MEMBERS_CHUNK"; data: { guild_id: bigint; @@ -174,35 +179,35 @@ export interface Event { nonce?: string; }; } -export interface Event { +export interface GuildRoleCreateEvent extends Event { event: "GUILD_ROLE_CREATE"; data: { guild_id: bigint; role: Role; }; } -export interface Event { +export interface GuildRoleUpdateEvent extends Event { event: "GUILD_ROLE_UPDATE"; data: { guild_id: bigint; role: Role; }; } -export interface Event { +export interface GuildRoleDeleteEvent extends Event { event: "GUILD_ROLE_DELETE"; data: { guild_id: bigint; role_id: bigint; }; } -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; @@ -219,15 +224,15 @@ export declare type MessagePayload = Omit<Message, "author_id"> & { 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; @@ -235,7 +240,7 @@ export interface Event { guild_id?: bigint; }; } -export interface Event { +export interface MessageDeleteBulkEvent extends Event { event: "MESSAGE_DELETE_BULK"; data: { ids: bigint[]; @@ -243,7 +248,7 @@ export interface Event { guild_id?: bigint; }; } -export interface Event { +export interface MessageReactionAddEvent extends Event { event: "MESSAGE_REACTION_ADD"; data: { user_id: bigint; @@ -254,7 +259,7 @@ export interface Event { emoji: PartialEmoji; }; } -export interface Event { +export interface MessageReactionRemoveEvent extends Event { event: "MESSAGE_REACTION_REMOVE"; data: { user_id: bigint; @@ -264,7 +269,7 @@ export interface Event { emoji: PartialEmoji; }; } -export interface Event { +export interface MessageReactionRemoveAllEvent extends Event { event: "MESSAGE_REACTION_REMOVE_ALL"; data: { channel_id: bigint; @@ -272,7 +277,7 @@ export interface Event { guild_id?: bigint; }; } -export interface Event { +export interface MessageReactionRemoveEmojiEvent extends Event { event: "MESSAGE_REACTION_REMOVE_EMOJI"; data: { channel_id: bigint; @@ -281,11 +286,11 @@ export interface Event { emoji: PartialEmoji; }; } -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; @@ -295,17 +300,17 @@ export interface Event { member?: PublicMember; }; } -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; @@ -313,7 +318,7 @@ export interface Event { endpoint: string; }; } -export interface Event { +export interface WebhooksUpdateEvent extends Event { event: "WEBHOOKS_UPDATE"; data: { guild_id: bigint; @@ -323,20 +328,21 @@ export interface Event { export declare 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; } -export declare type EVENT = "READY" | "CHANNEL_CREATE" | "CHANNEL_UPDATE" | "CHANNEL_DELETE" | "CHANNEL_PINS_UPDATE" | "GUILD_CREATE" | "GUILD_UPDATE" | "GUILD_DELETE" | "GUILD_BAN_ADD" | "GUILD_BAN_REMOVE" | "GUILD_EMOJI_UPDATE" | "GUILD_INTEGRATIONS_UPDATE" | "GUILD_MEMBER_ADD" | "GUILD_MEMBER_REMOVE" | "GUILD_MEMBER_UPDATE" | "GUILD_MEMBER_AVAILABLE" | "GUILD_MEMBER_SPEAKING" | "GUILD_MEMBERS_CHUNK" | "GUILD_ROLE_CREATE" | "GUILD_ROLE_DELETE" | "GUILD_ROLE_UPDATE" | "INVITE_CREATE" | "INVITE_DELETE" | "MESSAGE_CREATE" | "MESSAGE_DELETE" | "MESSAGE_UPDATE" | "MESSAGE_BULK_DELETE" | "MESSAGE_REACTION_ADD" | "MESSAGE_REACTION_REMOVE" | "MESSAGE_REACTION_REMOVE_ALL" | "PRESENCE_UPDATE" | "TYPING_START" | "USER_UPDATE" | "WEBHOOKS_UPDATE" | "INTERACTION_CREATE" | "VOICE_STATE_UPDATE" | "VOICE_SERVER_UPDATE" | "APPLICATION_COMMAND_CREATE" | "APPLICATION_COMMAND_UPDATE" | "APPLICATION_COMMAND_DELETE"; +export declare type EVENT = "READY" | "CHANNEL_CREATE" | "CHANNEL_UPDATE" | "CHANNEL_DELETE" | "CHANNEL_PINS_UPDATE" | "GUILD_CREATE" | "GUILD_UPDATE" | "GUILD_DELETE" | "GUILD_BAN_ADD" | "GUILD_BAN_REMOVE" | "GUILD_EMOJI_UPDATE" | "GUILD_INTEGRATIONS_UPDATE" | "GUILD_MEMBER_ADD" | "GUILD_MEMBER_REMOVE" | "GUILD_MEMBER_UPDATE" | "GUILD_MEMBER_AVAILABLE" | "GUILD_MEMBER_SPEAKING" | "GUILD_MEMBERS_CHUNK" | "GUILD_ROLE_CREATE" | "GUILD_ROLE_DELETE" | "GUILD_ROLE_UPDATE" | "INVITE_CREATE" | "INVITE_DELETE" | "MESSAGE_CREATE" | "MESSAGE_UPDATE" | "MESSAGE_DELETE" | "MESSAGE_DELETE_BULK" | "MESSAGE_REACTION_ADD" | "MESSAGE_REACTION_REMOVE" | "MESSAGE_REACTION_REMOVE_ALL" | "MESSAGE_REACTION_REMOVE_EMOJI" | "PRESENCE_UPDATE" | "TYPING_START" | "USER_UPDATE" | "WEBHOOKS_UPDATE" | "INTERACTION_CREATE" | "VOICE_STATE_UPDATE" | "VOICE_SERVER_UPDATE" | "APPLICATION_COMMAND_CREATE" | "APPLICATION_COMMAND_UPDATE" | "APPLICATION_COMMAND_DELETE" | CUSTOMEVENTS; +export declare type CUSTOMEVENTS = "INVALIDATED"; 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";