TEST_DATA: {
ATTACHMENT: {
filename: string;
height: number;
id: string;
proxy_url: string;
size: number;
url: string;
width: number;
};
AUDIT_LOG: {
action_type: number;
changes: never[];
context: { id: string; type: number };
created_at: string;
guild_id: string;
id: string;
options: { channel_id: string; id: string; type: AuditLogOptionsType };
reason: string;
target_id: string;
user_id: string;
};
BAN: {
reason: string;
user: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
};
BUTTON_CLICK: APIMessageComponentGuildInteraction;
CATEGORY_CHANNEL: {
guild_id: string;
id: string;
name: string;
nsfw: boolean;
parent_id: null;
permission_overwrites: {
allow: string;
deny: string;
id: string;
type: number;
}[];
position: number;
type: number;
};
CHANNEL_ID: string;
CLIENT_MEMBER: APIGuildMember;
CLIENT_MEMBER_ADMIN: APIGuildMember;
CLIENT_USER: APIUser;
EMOJI: APIEmoji;
EVENT_ID: string;
FILE_NAME: string;
FOLLOWED_CHANNEL: { channel_id: string; webhook_id: string };
GUILD: GatewayGuildCreateDispatchData;
GUILD_ID: string;
INTERACTION: APIChatInputApplicationCommandGuildInteraction;
INVITE: APIExtendedInvite;
MEMBER: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: never[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
};
MEMBER_ADMIN: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: string[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
};
MEMBER_ID: string;
MEMBER_ID_2: string;
MESSAGE: APIMessage;
MESSAGE_ID: string;
MODAL_RESPONSE: {
channel: {
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
};
channel_id: string;
data: {
components: {
components: { custom_id: string; type: number; value: string }[];
type: number;
}[];
custom_id: string;
};
guild_id: string;
id: string;
member: {
avatar: null;
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
pending: boolean;
permissions: string;
premium_since: null;
roles: undefined;
user: {
avatar: null;
bot: boolean;
discriminator: string;
id: string;
username: string;
};
};
token: string;
type: number;
version: number;
};
OPTION_SELECT: {
application_id: string;
channel: {
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
};
channel_id: string;
data: { component_type: number; custom_id: string; values: string[] };
guild_id: string;
id: string;
member: {
avatar: null;
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
pending: boolean;
permissions: string;
premium_since: null;
roles: never[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
};
message: {
application_id: string;
attachments: never[];
author: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
channel_id: string;
content: string;
edited_timestamp: null;
embeds: never[];
flags: number;
id: string;
mention_channels: never[];
mention_everyone: boolean;
mention_roles: never[];
mentions: never[];
pinned: boolean;
timestamp: string;
tts: boolean;
type: number;
};
token: string;
type: number;
version: number;
};
PERMISSION_OVERWRITE: {
allow: string;
deny: string;
id: string;
type: number;
};
POLL: {
allow_multiselect: boolean;
answers: {
answer_id: number;
poll_media: { emoji: { id: string; name: string }; text: string };
}[];
expiry: string;
layout_type: number;
question: { text: string };
results: {
answer_counts: { count: number; id: number; me_voted: boolean }[];
is_finalized: boolean;
};
};
REACTION: {
burst: boolean;
channel_id: string;
emoji: { id: null; name: string };
guild_id: string;
member: {
deaf: boolean;
joined_at: string;
mute: boolean;
pending: boolean;
permissions: string;
premium_since: null;
roles: never[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
};
message_author_id: string;
message_id: string;
type: number;
user_id: string;
};
ROLE_ADMIN: APIRole;
ROLE_ADMIN_2: APIRole;
ROLE_ID: string;
ROLE_OVERRIDES: {
color: number;
hoist: boolean;
icon: string;
id: string;
managed: boolean;
mentionable: boolean;
name: string;
permissions: string;
position: number;
};
ROLE_OVERRIDES_2: {
color: number;
hoist: boolean;
icon: string;
id: string;
managed: boolean;
mentionable: boolean;
name: string;
permissions: string;
position: number;
};
ROLE_OVERRIDES_MEMBER: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: string[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
};
ROLE_OVERRIDES_MEMBER_2: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: string[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
};
SCHEDULED_EVENT: APIVoiceGuildScheduledEvent;
SCHEDULED_EVENT_EXTERNAL: APIExternalGuildScheduledEvent;
SLASH_COMMAND: APIChatInputApplicationCommandGuildInteraction;
STANDARD_EMOJI: { id: null; name: string };
STICKER: {
asset: string;
description: string;
format_type: number;
id: string;
name: string;
pack_id: string;
sort_value: number;
tags: string;
type: number;
};
TEXT_CHANNEL: {
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
};
TEXT_CHANNEL_2: APIGuildTextChannel<GuildText>;
THREAD: APIThreadChannel;
USER: {
avatar: string;
bot: boolean;
discriminator: string;
email: null;
flags: number;
global_name: string;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
VOICE_CHANNEL: {
bitrate: number;
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
user_limit: number;
};
VOICE_STATE: {
channel_id: string;
deaf: boolean;
joined: number;
mute: boolean;
request_to_speak_timestamp: string;
self_deaf: boolean;
self_mute: boolean;
self_stream: boolean;
self_video: boolean;
session_id: string;
suppress: boolean;
user_id: string;
};
WEBHOOK: {
application_id: null;
avatar: null;
channel_id: string;
guild_id: string;
id: string;
name: string;
type: number;
user: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
};
} = ...
Type declaration
ATTACHMENT: {
filename: string;
height: number;
id: string;
proxy_url: string;
size: number;
url: string;
width: number;
}
AUDIT_LOG: {
action_type: number;
changes: never[];
context: { id: string; type: number };
created_at: string;
guild_id: string;
id: string;
options: { channel_id: string; id: string; type: AuditLogOptionsType };
reason: string;
target_id: string;
user_id: string;
}
BAN: {
reason: string;
user: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
}
CATEGORY_CHANNEL: {
guild_id: string;
id: string;
name: string;
nsfw: boolean;
parent_id: null;
permission_overwrites: {
allow: string;
deny: string;
id: string;
type: number;
}[];
position: number;
type: number;
}
CHANNEL_ID: string
CLIENT_MEMBER: APIGuildMember
CLIENT_MEMBER_ADMIN: APIGuildMember
CLIENT_USER: APIUser
EMOJI: APIEmoji
EVENT_ID: string
FILE_NAME: string
FOLLOWED_CHANNEL: { channel_id: string; webhook_id: string }
GUILD: GatewayGuildCreateDispatchData
GUILD_ID: string
INTERACTION: APIChatInputApplicationCommandGuildInteraction
INVITE: APIExtendedInvite
MEMBER: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: never[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
}
MEMBER_ADMIN: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: string[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
}
MEMBER_ID: string
MEMBER_ID_2: string
MESSAGE: APIMessage
MESSAGE_ID: string
MODAL_RESPONSE: {
channel: {
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
};
channel_id: string;
data: {
components: {
components: { custom_id: string; type: number; value: string }[];
type: number;
}[];
custom_id: string;
};
guild_id: string;
id: string;
member: {
avatar: null;
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
pending: boolean;
permissions: string;
premium_since: null;
roles: undefined;
user: {
avatar: null;
bot: boolean;
discriminator: string;
id: string;
username: string;
};
};
token: string;
type: number;
version: number;
}
OPTION_SELECT: {
application_id: string;
channel: {
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
};
channel_id: string;
data: { component_type: number; custom_id: string; values: string[] };
guild_id: string;
id: string;
member: {
avatar: null;
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
pending: boolean;
permissions: string;
premium_since: null;
roles: never[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
};
message: {
application_id: string;
attachments: never[];
author: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
channel_id: string;
content: string;
edited_timestamp: null;
embeds: never[];
flags: number;
id: string;
mention_channels: never[];
mention_everyone: boolean;
mention_roles: never[];
mentions: never[];
pinned: boolean;
timestamp: string;
tts: boolean;
type: number;
};
token: string;
type: number;
version: number;
}
PERMISSION_OVERWRITE: { allow: string; deny: string; id: string; type: number }
POLL: {
allow_multiselect: boolean;
answers: {
answer_id: number;
poll_media: { emoji: { id: string; name: string }; text: string };
}[];
expiry: string;
layout_type: number;
question: { text: string };
results: {
answer_counts: { count: number; id: number; me_voted: boolean }[];
is_finalized: boolean;
};
}
REACTION: {
burst: boolean;
channel_id: string;
emoji: { id: null; name: string };
guild_id: string;
member: {
deaf: boolean;
joined_at: string;
mute: boolean;
pending: boolean;
permissions: string;
premium_since: null;
roles: never[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
};
message_author_id: string;
message_id: string;
type: number;
user_id: string;
}
ROLE_ADMIN: APIRole
ROLE_ADMIN_2: APIRole
ROLE_ID: string
ROLE_OVERRIDES: {
color: number;
hoist: boolean;
icon: string;
id: string;
managed: boolean;
mentionable: boolean;
name: string;
permissions: string;
position: number;
}
ROLE_OVERRIDES_2: {
color: number;
hoist: boolean;
icon: string;
id: string;
managed: boolean;
mentionable: boolean;
name: string;
permissions: string;
position: number;
}
ROLE_OVERRIDES_MEMBER: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: string[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
}
ROLE_OVERRIDES_MEMBER_2: {
deaf: boolean;
flags: number;
joined_at: string;
mute: boolean;
nick: null;
pending: boolean;
permissions: string;
premium_since: null;
roles: string[];
user: {
avatar: null;
bot: boolean;
discriminator: string;
email: null;
flags: number;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
};
}
SCHEDULED_EVENT: APIVoiceGuildScheduledEvent
SCHEDULED_EVENT_EXTERNAL: APIExternalGuildScheduledEvent
SLASH_COMMAND: APIChatInputApplicationCommandGuildInteraction
STANDARD_EMOJI: { id: null; name: string }
STICKER: {
asset: string;
description: string;
format_type: number;
id: string;
name: string;
pack_id: string;
sort_value: number;
tags: string;
type: number;
}
TEXT_CHANNEL: {
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
}
TEXT_CHANNEL_2: APIGuildTextChannel<GuildText>
THREAD: APIThreadChannel
USER: {
avatar: string;
bot: boolean;
discriminator: string;
email: null;
flags: number;
global_name: string;
id: string;
locale: string;
mfa_enabled: boolean;
premium_type: number;
public_flags: number;
system: boolean;
username: string;
verified: boolean;
}
VOICE_CHANNEL: {
bitrate: number;
guild_id: string;
id: string;
last_message_id: null;
last_pin_timestamp: null;
name: string;
nsfw: boolean;
parent_id: string;
permission_overwrites: never[];
position: number;
rate_limit_per_user: number;
topic: string;
type: number;
user_limit: number;
}
VOICE_STATE: {
channel_id: string;
deaf: boolean;
joined: number;
mute: boolean;
request_to_speak_timestamp: string;
self_deaf: boolean;
self_mute: boolean;
self_stream: boolean;
self_video: boolean;
session_id: string;
suppress: boolean;
user_id: string;
}
WEBHOOK: {
application_id: null;
avatar: null;
channel_id: string;
guild_id: string;
id: string;
name: string;
type: number;
user: {
avatar: null;
bot: boolean;
discriminator: string;
global_name: string;
id: string;
username: string;
};
}