✨ models
This commit is contained in:
parent
7158521911
commit
645d49c07b
19
src/models/Channel.ts
Normal file
19
src/models/Channel.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
export interface Channel {
|
||||||
|
id: bigint;
|
||||||
|
guild_id: bigint;
|
||||||
|
last_message_id: string;
|
||||||
|
last_pin_timestamp: string;
|
||||||
|
name: string;
|
||||||
|
nsfw: boolean;
|
||||||
|
parent_id: bigint;
|
||||||
|
position: number;
|
||||||
|
rate_limit_per_user: number;
|
||||||
|
topic: string | null;
|
||||||
|
type: number;
|
||||||
|
permission_overwrites: {
|
||||||
|
allow: bigint;
|
||||||
|
deny: bigint;
|
||||||
|
id: bigint;
|
||||||
|
type: number;
|
||||||
|
}[];
|
||||||
|
}
|
12
src/models/Emoji.ts
Normal file
12
src/models/Emoji.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
export interface Emoji {
|
||||||
|
allNamesString: string; // e.g. :thonk:
|
||||||
|
animated: boolean;
|
||||||
|
available: boolean;
|
||||||
|
guildId: bigint;
|
||||||
|
id: bigint;
|
||||||
|
managed: boolean;
|
||||||
|
name: string;
|
||||||
|
require_colons: boolean;
|
||||||
|
url: string;
|
||||||
|
roles: [];
|
||||||
|
}
|
38
src/models/Guild.ts
Normal file
38
src/models/Guild.ts
Normal file
@ -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
|
||||||
|
}
|
9
src/models/Role.ts
Normal file
9
src/models/Role.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
export interface Role {
|
||||||
|
color: number;
|
||||||
|
hoist: boolean;
|
||||||
|
managed: boolean;
|
||||||
|
mentionable: boolean;
|
||||||
|
name: string;
|
||||||
|
permissions: bigint;
|
||||||
|
position: number;
|
||||||
|
}
|
@ -1,15 +1,62 @@
|
|||||||
import { UserFlags } from "../util/UserFlags";
|
import { UserFlags } from "../util/UserFlags";
|
||||||
|
|
||||||
export interface User {
|
export interface User {
|
||||||
id: BigInt;
|
id: bigint;
|
||||||
username: string;
|
username: string;
|
||||||
discriminator: string;
|
discriminator: string;
|
||||||
avatar: string;
|
avatar: string | null;
|
||||||
bot: boolean;
|
bot: boolean;
|
||||||
system: boolean;
|
system: boolean;
|
||||||
mfa_enabled: boolean;
|
mfa_enabled: boolean;
|
||||||
locale: string;
|
created_at: number;
|
||||||
verified: boolean;
|
verified: boolean;
|
||||||
email: string;
|
email: string;
|
||||||
flags: UserFlags;
|
flags: bigint; // TODO: automatically convert BigInt to BitField of UserFlags
|
||||||
|
hash: string; // hash of the password, salt is saved in password (bcrypt)
|
||||||
|
valid_tokens_since: number; // all tokens with a previous issue date are invalid
|
||||||
|
user_settings: UserSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UserSettings {
|
||||||
|
afk_timeout: number;
|
||||||
|
allow_accessibility_detection: boolean;
|
||||||
|
animate_emoji: boolean;
|
||||||
|
animate_stickers: number;
|
||||||
|
contact_sync_enabled: boolean;
|
||||||
|
convert_emoticons: boolean;
|
||||||
|
custom_status: {
|
||||||
|
emoji_id: bigint | null;
|
||||||
|
emoji_name: string | null;
|
||||||
|
expires_at: number | null;
|
||||||
|
text: string | null;
|
||||||
|
};
|
||||||
|
default_guilds_restricted: boolean;
|
||||||
|
detect_platform_accounts: boolean;
|
||||||
|
developer_mode: boolean;
|
||||||
|
disable_games_tab: boolean;
|
||||||
|
enable_tts_command: boolean;
|
||||||
|
explicit_content_filter: number;
|
||||||
|
friend_source_flags: { all: boolean };
|
||||||
|
gif_auto_play: boolean;
|
||||||
|
guild_folders: // every top guild is displayed as a "folder"
|
||||||
|
{
|
||||||
|
color: number;
|
||||||
|
guild_ids: bigint[];
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
}[];
|
||||||
|
guild_positions: bigint[]; // guild ids ordered by position
|
||||||
|
inline_attachment_media: boolean;
|
||||||
|
inline_embed_media: boolean;
|
||||||
|
locale: string; // en_US
|
||||||
|
message_display_compact: boolean;
|
||||||
|
native_phone_integration_enabled: boolean;
|
||||||
|
render_embeds: boolean;
|
||||||
|
render_reactions: boolean;
|
||||||
|
restricted_guilds: bigint[];
|
||||||
|
show_current_game: boolean;
|
||||||
|
status: "online" | "offline" | "dnd" | "idle";
|
||||||
|
stream_notifications_enabled: boolean;
|
||||||
|
theme: "dark" | "white"; // dark
|
||||||
|
timezone_offset: number; // e.g -60
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user