summary refs log tree commit diff
path: root/util/src/interfaces
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--util/src/interfaces/Activity.ts43
-rw-r--r--util/src/interfaces/Event.ts (renamed from util/src/models/Event.ts)65
-rw-r--r--util/src/interfaces/Interaction.ts (renamed from util/src/models/Interaction.ts)2
-rw-r--r--util/src/interfaces/Presence.ts10
-rw-r--r--util/src/interfaces/Status.ts (renamed from util/src/models/Status.ts)6
-rw-r--r--util/src/interfaces/index.ts5
6 files changed, 86 insertions, 45 deletions
diff --git a/util/src/interfaces/Activity.ts b/util/src/interfaces/Activity.ts
new file mode 100644

index 00000000..f5a3c270 --- /dev/null +++ b/util/src/interfaces/Activity.ts
@@ -0,0 +1,43 @@ +export interface Activity { + name: string; + type: ActivityType; + url?: string; + created_at?: Date; + timestamps?: { + start?: number; + end?: number; + }[]; + application_id?: string; + details?: string; + state?: string; + emoji?: { + name: string; + id?: string; + amimated?: boolean; + }; + party?: { + id?: string; + size?: [number, number]; + }; + assets?: { + large_image?: string; + large_text?: string; + small_image?: string; + small_text?: string; + }; + secrets?: { + join?: string; + spectate?: string; + match?: string; + }; + instance?: boolean; + flags?: bigint; +} + +export enum ActivityType { + GAME = 0, + STREAMING = 1, + LISTENING = 2, + CUSTOM = 4, + COMPETING = 5, +} diff --git a/util/src/models/Event.ts b/util/src/interfaces/Event.ts
index 86d0fd00..7ea1bd49 100644 --- a/util/src/models/Event.ts +++ b/util/src/interfaces/Event.ts
@@ -1,15 +1,17 @@ -import { ConnectedAccount, PublicUser, Relationship, User, UserSettings } from "./User"; -import { DMChannel, Channel } from "./Channel"; -import { Guild } from "./Guild"; -import { Member, PublicMember, UserGuildSettings } from "./Member"; -import { Emoji } from "./Emoji"; -import { Presence } from "./Activity"; -import { Role } from "./Role"; -import { Invite } from "./Invite"; -import { Message, PartialEmoji } from "./Message"; -import { VoiceState } from "./VoiceState"; -import { ApplicationCommand } from "./Application"; +import { PublicUser, User, UserSettings } from "../entities/User"; +import { Channel } from "../entities/Channel"; +import { Guild } from "../entities/Guild"; +import { Member, PublicMember, UserGuildSettings } from "../entities/Member"; +import { Emoji } from "../entities/Emoji"; +import { Role } from "../entities/Role"; +import { Invite } from "../entities/Invite"; +import { Message, PartialEmoji } from "../entities/Message"; +import { VoiceState } from "../entities/VoiceState"; +import { ApplicationCommand } from "../entities/Application"; import { Interaction } from "./Interaction"; +import { ConnectedAccount } from "../entities/ConnectedAccount"; +import { Relationship } from "../entities/Relationship"; +import { Presence } from "./Presence"; export interface Event { guild_id?: string; @@ -33,17 +35,17 @@ export interface ReadyEventData { user: PublicUser & { mobile: boolean; desktop: boolean; - email: string | null; - flags: bigint; + email: string | undefined; + flags: string; mfa_enabled: boolean; nsfw_allowed: boolean; - phone: string | null; + phone: string | undefined; premium: boolean; premium_type: number; verified: boolean; bot: boolean; }; - private_channels: DMChannel[]; // this will be empty for bots + private_channels: Channel[]; // this will be empty for bots session_id: string; // resuming guilds: Guild[]; analytics_token?: string; @@ -67,12 +69,12 @@ export interface ReadyEventData { [number, [[number, [number, number]]]], { b: number; k: bigint[] }[] ][]; - guild_join_requests?: []; // ? what is this? this is new + guild_join_requests?: any[]; // ? what is this? this is new shard?: [number, number]; user_settings?: UserSettings; relationships?: Relationship[]; // TODO read_state: { - entries: []; // TODO + entries: any[]; // TODO partial: boolean; version: number; }; @@ -83,18 +85,11 @@ export interface ReadyEventData { }; application?: { id: string; - flags: bigint; + flags: string; }; merged_members?: Omit<Member, "settings" | "user">[][]; // probably all users who the user is in contact with - users?: { - avatar: string | null; - discriminator: string; - id: string; - username: string; - bot: boolean; - public_flags: bigint; - }[]; + users?: PublicUser[]; } export interface ReadyEvent extends Event { @@ -128,7 +123,9 @@ export interface ChannelPinsUpdateEvent extends Event { export interface GuildCreateEvent extends Event { event: "GUILD_CREATE"; - data: Guild; + data: Guild & { + joined_at: Date; + }; } export interface GuildUpdateEvent extends Event { @@ -257,22 +254,14 @@ export interface InviteDeleteEvent extends Event { }; } -export type MessagePayload = Omit<Message, "author_id"> & { - channel_id: string; - guild_id?: string; - author: PublicUser; - member: PublicMember; - mentions: (PublicUser & { member: PublicMember })[]; -}; - export interface MessageCreateEvent extends Event { event: "MESSAGE_CREATE"; - data: MessagePayload; + data: Message; } export interface MessageUpdateEvent extends Event { event: "MESSAGE_UPDATE"; - data: MessagePayload; + data: Message; } export interface MessageDeleteEvent extends Event { @@ -521,4 +510,4 @@ export type EVENT = | "RELATIONSHIP_REMOVE" | CUSTOMEVENTS; -export type CUSTOMEVENTS = "INVALIDATED"; +export type CUSTOMEVENTS = "INVALIDATED" | "RATELIMIT"; diff --git a/util/src/models/Interaction.ts b/util/src/interfaces/Interaction.ts
index 764247a5..3cafb2d5 100644 --- a/util/src/models/Interaction.ts +++ b/util/src/interfaces/Interaction.ts
@@ -1,4 +1,4 @@ -import { AllowedMentions, Embed } from "./Message"; +import { AllowedMentions, Embed } from "../entities/Message"; export interface Interaction { id: string; diff --git a/util/src/interfaces/Presence.ts b/util/src/interfaces/Presence.ts new file mode 100644
index 00000000..4a1ff038 --- /dev/null +++ b/util/src/interfaces/Presence.ts
@@ -0,0 +1,10 @@ +import { ClientStatus, Status } from "./Status"; +import { Activity } from "./Activity"; + +export interface Presence { + user_id: string; + guild_id?: string; + status: Status; + activities: Activity[]; + client_status: ClientStatus; +} diff --git a/util/src/models/Status.ts b/util/src/interfaces/Status.ts
index 5a9bf2ca..c4dab586 100644 --- a/util/src/models/Status.ts +++ b/util/src/interfaces/Status.ts
@@ -5,9 +5,3 @@ export interface ClientStatus { mobile?: string; // e.g. iOS/Android web?: string; // e.g. browser, bot account } - -export const ClientStatus = { - desktop: String, - mobile: String, - web: String, -}; diff --git a/util/src/interfaces/index.ts b/util/src/interfaces/index.ts new file mode 100644
index 00000000..ab7fa429 --- /dev/null +++ b/util/src/interfaces/index.ts
@@ -0,0 +1,5 @@ +export * from "./Activity"; +export * from "./Presence"; +export * from "./Interaction"; +export * from "./Event"; +export * from "./Status";