3 files changed, 94 insertions, 27 deletions
diff --git a/src/models/Guild.ts b/src/models/Guild.ts
index a4e7460f..3d84a9c8 100644
--- a/src/models/Guild.ts
+++ b/src/models/Guild.ts
@@ -1,38 +1,53 @@
+import { Channel } from "./Channel";
+import { Emoji } from "./Emoji";
+import { Member } from "./Member";
+import { Role } from "./Role";
+
export interface Guild {
id: bigint;
name: string;
- icon: string; // e.g. "28776e7ad42922582be25bb06cdc5b53"
+ icon: string;
icon_hash: string;
+ splash: string;
+ discovery_splash: string;
+ owner: boolean;
+ owner_id: bigint;
+ permissions: string;
+ region: string;
afk_channel_id: bigint;
afk_timeout: number;
- application_id: bigint;
- banner: string; // id
- description: string;
+ widget_enabled: boolean;
+ widget_channel_id: bigint;
+ verification_level: number;
+ default_message_notifications: number;
explicit_content_filter: number;
- features: string[];
- /* guild_hashes: // ? what is this
- channels: {hash: "uZsNP+TWAFY", omitted: false}
- metadata: {hash: "JCboqYj68bQ", omitted: false}
- roles: {hash: "1d7EJBRgVqg", omitted: false}
- version: 1
- */
- joined_at: string; // user specific, Date Iso: "2021-01-23T19:01:23.126002+00:00"
- large: boolean;
- lazy: boolean; // ? what is this
- max_members: number; // e.g. default 100.000
- max_video_channel_users: number; // ? default: 25, is this max 25 streaming or watching
- member_count: number; // current member count
+ roles: Role[];
+ emojis: Emoji[];
+ features: [];
mfa_level: number;
- owner_id: bigint;
- preferred_locale: string; // only partnered/verified guilds can choose this
- premium_subscription_count: number; // number of boosts
- premium_tier: number; // ? what is this
- public_updates_channel_id: bigint; //
- rules_channel_id: bigint;
- splash: string; // e.g. "32bec3d01f1dc90933cbb0bd75d333b0"
- system_channel_flags: number;
+ application_id: bigint;
system_channel_id: bigint;
+ system_channel_flags: number;
+ rules_channel_id: bigint;
+ joined_at: number;
+ large: boolean;
+ unavailable: boolean;
+ member_count: number;
+ voice_states: []; // ! tf is this
+ members: Member[];
+ channels: Channel[];
+ presences: []; // TODO: add model
+ max_presences: number;
+ max_members: number;
vanity_url_code: string;
- verification_level: number;
- threads: []; // ? not yet finished
+ description: string;
+ banner: string;
+ premium_tier: number;
+ premium_subscription_count: number;
+ preferred_locale: string;
+ public_updates_channel_id: bigint;
+ max_video_channel_users: number;
+ approximate_member_count: number;
+ approximate_presence_count: number;
+ welcome_screen: []; // ! what is this
}
diff --git a/src/models/Guild.ts.OLD b/src/models/Guild.ts.OLD
new file mode 100644
index 00000000..a4e7460f
--- /dev/null
+++ b/src/models/Guild.ts.OLD
@@ -0,0 +1,38 @@
+export interface Guild {
+ id: bigint;
+ name: string;
+ icon: string; // e.g. "28776e7ad42922582be25bb06cdc5b53"
+ icon_hash: string;
+ afk_channel_id: bigint;
+ afk_timeout: number;
+ application_id: bigint;
+ banner: string; // id
+ description: string;
+ explicit_content_filter: number;
+ features: string[];
+ /* guild_hashes: // ? what is this
+ channels: {hash: "uZsNP+TWAFY", omitted: false}
+ metadata: {hash: "JCboqYj68bQ", omitted: false}
+ roles: {hash: "1d7EJBRgVqg", omitted: false}
+ version: 1
+ */
+ joined_at: string; // user specific, Date Iso: "2021-01-23T19:01:23.126002+00:00"
+ large: boolean;
+ lazy: boolean; // ? what is this
+ max_members: number; // e.g. default 100.000
+ max_video_channel_users: number; // ? default: 25, is this max 25 streaming or watching
+ member_count: number; // current member count
+ mfa_level: number;
+ owner_id: bigint;
+ preferred_locale: string; // only partnered/verified guilds can choose this
+ premium_subscription_count: number; // number of boosts
+ premium_tier: number; // ? what is this
+ public_updates_channel_id: bigint; //
+ rules_channel_id: bigint;
+ splash: string; // e.g. "32bec3d01f1dc90933cbb0bd75d333b0"
+ system_channel_flags: number;
+ system_channel_id: bigint;
+ vanity_url_code: string;
+ verification_level: number;
+ threads: []; // ? not yet finished
+}
diff --git a/src/models/Member.ts b/src/models/Member.ts
new file mode 100644
index 00000000..c0c5516d
--- /dev/null
+++ b/src/models/Member.ts
@@ -0,0 +1,14 @@
+import { Role } from "./Role";
+import { User } from "./User";
+
+export interface Member {
+ user: User;
+ nick: string;
+ roles: Role[];
+ joined_at: number;
+ premium_since: number;
+ deaf: boolean;
+ mute: boolean;
+ pending: boolean;
+ permissions: string;
+}
|