2020-10-25 17:03:53 +00:00
|
|
|
import { Embed } from '../structures/embed.ts'
|
2021-03-19 15:39:14 +00:00
|
|
|
import { Member } from '../structures/member.ts'
|
|
|
|
import { Message, MessageAttachment } from '../structures/message.ts'
|
|
|
|
import { Role } from '../structures/role.ts'
|
|
|
|
import { Permissions } from '../utils/permissions.ts'
|
2020-10-31 12:33:34 +00:00
|
|
|
import { EmojiPayload } from './emoji.ts'
|
|
|
|
import { MemberPayload } from './guild.ts'
|
2021-03-26 07:17:11 +00:00
|
|
|
import { InteractionType } from './slash.ts'
|
2020-10-31 12:33:34 +00:00
|
|
|
import { UserPayload } from './user.ts'
|
2020-10-22 15:50:47 +00:00
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface ChannelPayload {
|
2020-10-22 15:50:47 +00:00
|
|
|
id: string
|
|
|
|
type: ChannelTypes
|
2020-10-23 16:11:00 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface TextChannelPayload extends ChannelPayload {
|
2020-10-22 15:50:47 +00:00
|
|
|
last_message_id?: string
|
|
|
|
last_pin_timestamp?: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface GuildChannelPayload extends ChannelPayload {
|
2020-10-23 16:11:00 +00:00
|
|
|
guild_id: string
|
|
|
|
name: string
|
|
|
|
position: number
|
2021-03-19 15:39:14 +00:00
|
|
|
permission_overwrites: OverwritePayload[]
|
|
|
|
nsfw: boolean
|
2020-10-23 16:11:00 +00:00
|
|
|
parent_id?: string
|
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface GuildTextBasedChannelPayload
|
2020-10-23 16:11:00 +00:00
|
|
|
extends TextChannelPayload,
|
2021-03-29 04:40:26 +00:00
|
|
|
GuildChannelPayload {
|
2020-10-23 16:11:00 +00:00
|
|
|
topic?: string
|
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface GuildTextChannelPayload extends GuildTextBasedChannelPayload {
|
|
|
|
rate_limit_per_user: number
|
2020-10-23 16:11:00 +00:00
|
|
|
}
|
|
|
|
|
2021-03-29 04:40:26 +00:00
|
|
|
export interface GuildNewsChannelPayload extends GuildTextBasedChannelPayload { }
|
2021-03-19 15:39:14 +00:00
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface GuildVoiceChannelPayload extends GuildChannelPayload {
|
2020-10-23 16:11:00 +00:00
|
|
|
bitrate: string
|
|
|
|
user_limit: number
|
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface DMChannelPayload extends TextChannelPayload {
|
2020-10-23 16:11:00 +00:00
|
|
|
recipients: UserPayload[]
|
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface GroupDMChannelPayload extends DMChannelPayload {
|
2020-10-23 16:11:00 +00:00
|
|
|
name: string
|
|
|
|
icon?: string
|
|
|
|
owner_id: string
|
|
|
|
}
|
|
|
|
|
2020-12-20 08:14:05 +00:00
|
|
|
export interface GuildCategoryChannelPayload
|
2020-10-23 16:11:00 +00:00
|
|
|
extends ChannelPayload,
|
2021-03-29 04:40:26 +00:00
|
|
|
GuildChannelPayload { }
|
2020-10-23 16:11:00 +00:00
|
|
|
|
2020-12-20 08:14:57 +00:00
|
|
|
export interface ModifyChannelPayload {
|
|
|
|
name?: string
|
|
|
|
position?: number | null
|
2021-03-19 15:39:14 +00:00
|
|
|
permission_overwrites?: OverwritePayload[] | null
|
2020-12-20 08:14:57 +00:00
|
|
|
parent_id?: string
|
2021-03-19 15:39:14 +00:00
|
|
|
nsfw?: boolean | null
|
2020-12-20 08:14:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface ModifyGuildCategoryChannelPayload
|
2021-03-29 04:40:26 +00:00
|
|
|
extends ModifyChannelPayload { }
|
2020-12-20 08:14:57 +00:00
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface ModifyGuildTextBasedChannelPayload
|
|
|
|
extends ModifyChannelPayload {
|
2020-12-20 08:14:57 +00:00
|
|
|
type?: number
|
|
|
|
topic?: string | null
|
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface ModifyGuildTextChannelPayload
|
|
|
|
extends ModifyGuildTextBasedChannelPayload {
|
|
|
|
rate_limit_per_user?: number | null
|
2020-12-20 08:14:57 +00:00
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface ModifyGuildNewsChannelPayload
|
2021-03-29 04:40:26 +00:00
|
|
|
extends ModifyGuildTextBasedChannelPayload { }
|
2021-03-19 15:39:14 +00:00
|
|
|
|
2020-12-20 08:14:57 +00:00
|
|
|
export interface ModifyVoiceChannelPayload extends ModifyChannelPayload {
|
|
|
|
bitrate?: number | null
|
|
|
|
user_limit?: number | null
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface ModifyChannelOption {
|
|
|
|
name?: string
|
|
|
|
position?: number | null
|
2021-03-19 15:39:14 +00:00
|
|
|
permissionOverwrites?: OverwritePayload[] | null
|
2020-12-20 08:14:57 +00:00
|
|
|
parentID?: string
|
2021-03-19 15:39:14 +00:00
|
|
|
nsfw?: boolean | null
|
2020-12-20 08:14:57 +00:00
|
|
|
}
|
|
|
|
|
2021-03-29 04:40:26 +00:00
|
|
|
export interface ModifyGuildCategoryChannelOption extends ModifyChannelOption { }
|
2020-12-20 08:14:57 +00:00
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface ModifyGuildTextBasedChannelOption extends ModifyChannelOption {
|
2020-12-20 08:14:57 +00:00
|
|
|
type?: number
|
|
|
|
topic?: string | null
|
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface ModifyGuildTextChannelOption
|
|
|
|
extends ModifyGuildTextBasedChannelOption {
|
|
|
|
slowmode?: number | null
|
2020-12-20 08:14:57 +00:00
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface ModifyGuildNewsChannelOption
|
2021-03-29 04:40:26 +00:00
|
|
|
extends ModifyGuildTextBasedChannelOption { }
|
2021-03-19 15:39:14 +00:00
|
|
|
|
2020-12-20 08:14:57 +00:00
|
|
|
export interface ModifyVoiceChannelOption extends ModifyChannelOption {
|
|
|
|
bitrate?: number | null
|
|
|
|
userLimit?: number | null
|
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export enum OverwriteType {
|
|
|
|
ROLE = 0,
|
|
|
|
USER = 1
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface OverwritePayload {
|
2020-10-22 15:50:47 +00:00
|
|
|
id: string
|
2021-03-19 15:39:14 +00:00
|
|
|
type: OverwriteType
|
2020-10-22 15:50:47 +00:00
|
|
|
allow: string
|
|
|
|
deny: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2021-03-19 15:39:14 +00:00
|
|
|
export interface Overwrite {
|
|
|
|
id: string | Role | Member
|
|
|
|
type: OverwriteType
|
|
|
|
allow: Permissions
|
|
|
|
deny: Permissions
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface OverwriteAsOptions {
|
|
|
|
id: string | Role | Member
|
|
|
|
type?: OverwriteType
|
|
|
|
allow?: string | Permissions
|
|
|
|
deny?: string | Permissions
|
|
|
|
}
|
|
|
|
|
|
|
|
export type OverwriteAsArg = OverwriteAsOptions | OverwritePayload
|
|
|
|
|
|
|
|
export enum OverrideType {
|
|
|
|
ADD = 0,
|
|
|
|
REMOVE = 1,
|
|
|
|
REPLACE = 2
|
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export enum ChannelTypes {
|
2020-10-22 15:50:47 +00:00
|
|
|
GUILD_TEXT = 0,
|
|
|
|
DM = 1,
|
|
|
|
GUILD_VOICE = 2,
|
|
|
|
GROUP_DM = 3,
|
|
|
|
GUILD_CATEGORY = 4,
|
|
|
|
GUILD_NEWS = 5,
|
|
|
|
GUILD_STORE = 6
|
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface MessagePayload {
|
2020-10-22 15:50:47 +00:00
|
|
|
id: string
|
|
|
|
channel_id: string
|
|
|
|
guild_id?: string
|
2020-10-23 16:11:00 +00:00
|
|
|
author: UserPayload
|
|
|
|
member?: MemberPayload
|
2020-10-22 15:50:47 +00:00
|
|
|
content: string
|
|
|
|
timestamp: string
|
2020-10-23 16:11:00 +00:00
|
|
|
edited_timestamp?: string
|
2020-10-22 15:50:47 +00:00
|
|
|
tts: boolean
|
|
|
|
mention_everyone: boolean
|
2020-10-29 14:43:27 +00:00
|
|
|
mentions: UserPayload[]
|
|
|
|
mention_roles: string[]
|
2020-10-22 15:50:47 +00:00
|
|
|
mention_channels?: ChannelMention[]
|
|
|
|
attachments: Attachment[]
|
|
|
|
embeds: EmbedPayload[]
|
|
|
|
reactions?: Reaction[]
|
|
|
|
nonce?: number | string
|
|
|
|
pinned: boolean
|
|
|
|
webhook_id?: string
|
|
|
|
type: number
|
|
|
|
activity?: MessageActivity
|
|
|
|
application?: MessageApplication
|
|
|
|
message_reference?: MessageReference
|
|
|
|
flags?: number
|
2020-12-17 01:20:06 +00:00
|
|
|
stickers?: MessageStickerPayload[]
|
2021-03-26 07:17:11 +00:00
|
|
|
interaction?: MessageInteractionPayload
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2021-03-19 11:18:11 +00:00
|
|
|
export enum AllowedMentionType {
|
|
|
|
Roles = 'roles',
|
|
|
|
Users = 'users',
|
|
|
|
Everyone = 'everyone'
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface AllowedMentionsPayload {
|
|
|
|
parse?: AllowedMentionType[]
|
|
|
|
users?: string[]
|
|
|
|
roles?: string[]
|
|
|
|
replied_user?: boolean
|
|
|
|
}
|
|
|
|
|
2021-01-24 14:20:49 +00:00
|
|
|
export interface MessageOptions {
|
2020-11-04 12:38:00 +00:00
|
|
|
tts?: boolean
|
2020-11-25 11:53:40 +00:00
|
|
|
embed?: Embed
|
2021-01-28 14:25:37 +00:00
|
|
|
file?: MessageAttachment
|
|
|
|
files?: MessageAttachment[]
|
2021-03-19 11:18:11 +00:00
|
|
|
allowedMentions?: AllowedMentionsPayload
|
|
|
|
reply?: Message | MessageReference | string
|
2020-10-25 17:03:53 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface ChannelMention {
|
2020-10-22 15:50:47 +00:00
|
|
|
id: string
|
|
|
|
guild_id: string
|
|
|
|
type: ChannelTypes
|
|
|
|
name: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface Attachment {
|
2020-10-22 15:50:47 +00:00
|
|
|
id: string
|
|
|
|
filename: string
|
|
|
|
size: number
|
|
|
|
url: string
|
|
|
|
proxy_url: string
|
|
|
|
height: number | undefined
|
|
|
|
width: number | undefined
|
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedPayload {
|
2020-10-22 15:50:47 +00:00
|
|
|
title?: string
|
|
|
|
type?: EmbedTypes
|
|
|
|
description?: string
|
|
|
|
url?: string
|
|
|
|
timestamp?: string
|
|
|
|
color?: number
|
|
|
|
footer?: EmbedFooter
|
|
|
|
image?: EmbedImage
|
|
|
|
thumbnail?: EmbedThumbnail
|
|
|
|
video?: EmbedVideo
|
|
|
|
provider?: EmbedProvider
|
|
|
|
author?: EmbedAuthor
|
|
|
|
fields?: EmbedField[]
|
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export type EmbedTypes =
|
|
|
|
| 'rich'
|
|
|
|
| 'image'
|
|
|
|
| 'video'
|
|
|
|
| 'gifv'
|
|
|
|
| 'article'
|
|
|
|
| 'link'
|
2020-10-22 06:10:51 +00:00
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedField {
|
2020-10-22 15:50:47 +00:00
|
|
|
name: string
|
|
|
|
value: string
|
|
|
|
inline?: boolean
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedAuthor {
|
2020-10-22 15:50:47 +00:00
|
|
|
name?: string
|
|
|
|
url?: string
|
|
|
|
icon_url?: string
|
|
|
|
proxy_icon_url?: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedFooter {
|
2020-10-22 15:50:47 +00:00
|
|
|
text: string
|
|
|
|
icon_url?: string
|
|
|
|
proxy_icon_url?: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedImage {
|
2020-10-22 15:50:47 +00:00
|
|
|
url?: string
|
|
|
|
proxy_url?: string
|
|
|
|
height?: number
|
|
|
|
width?: number
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedProvider {
|
2020-10-22 15:50:47 +00:00
|
|
|
name?: string
|
|
|
|
url?: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedVideo {
|
2020-10-22 15:50:47 +00:00
|
|
|
url?: string
|
|
|
|
height?: number
|
|
|
|
width?: number
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface EmbedThumbnail {
|
2020-10-22 15:50:47 +00:00
|
|
|
url?: string
|
|
|
|
proxy_url?: string
|
|
|
|
height?: number
|
|
|
|
width?: number
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface Reaction {
|
2020-10-22 15:50:47 +00:00
|
|
|
count: number
|
|
|
|
me: boolean
|
|
|
|
emoji: EmojiPayload
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface MessageActivity {
|
2020-10-22 15:50:47 +00:00
|
|
|
type: MessageTypes
|
|
|
|
party_id?: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface MessageApplication {
|
2020-10-22 15:50:47 +00:00
|
|
|
id: string
|
|
|
|
cover_image?: string
|
2020-12-28 22:02:43 +00:00
|
|
|
description: string
|
2020-10-22 15:50:47 +00:00
|
|
|
icon: string | undefined
|
|
|
|
name: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface MessageReference {
|
2020-10-22 15:50:47 +00:00
|
|
|
message_id?: string
|
|
|
|
channel_id?: string
|
|
|
|
guild_id?: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export enum MessageTypes {
|
2020-10-22 15:50:47 +00:00
|
|
|
DEFAULT = 0,
|
|
|
|
RECIPIENT_ADD = 1,
|
|
|
|
RECIPIENT_REMOVE = 2,
|
|
|
|
CALL = 3,
|
|
|
|
CHANNEL_NAME_CHANGE = 4,
|
|
|
|
CHANNEL_ICON_CHANGE = 5,
|
|
|
|
CHANNEL_PINNED_MESSAGE = 6,
|
|
|
|
GUILD_MEMBER_JOIN = 7,
|
|
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION = 8,
|
|
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1 = 9,
|
|
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2 = 10,
|
|
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3 = 11,
|
|
|
|
CHANNEL_FOLLOW_ADD = 12,
|
|
|
|
GUILD_DISCOVERY_DISQUALIFIED = 14,
|
|
|
|
GUILD_DISCOVERY_REQUALIFIED = 15
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export enum MessageActivityTypes {
|
2020-10-22 15:50:47 +00:00
|
|
|
JOIN = 1,
|
|
|
|
SPECTATE = 2,
|
|
|
|
LISTEN = 3,
|
|
|
|
JOIN_REQUEST = 4
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export enum MessageFlags {
|
2020-10-22 15:50:47 +00:00
|
|
|
CROSSPOSTED = 1 << 0,
|
|
|
|
IS_CROSSPOST = 1 << 1,
|
|
|
|
SUPPRESS_EMBEDS = 1 << 2,
|
|
|
|
SOURCE_MESSAGE_DELETED = 1 << 3,
|
|
|
|
URGENT = 1 << 4
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
|
|
|
|
2020-10-30 14:51:40 +00:00
|
|
|
export interface FollowedChannel {
|
2020-10-22 15:50:47 +00:00
|
|
|
channel_id: string
|
|
|
|
webhook_id: string
|
2020-10-22 06:10:51 +00:00
|
|
|
}
|
2020-12-17 01:20:06 +00:00
|
|
|
|
|
|
|
export enum MessageStickerFormatTypes {
|
|
|
|
PNG = 1,
|
|
|
|
APNG = 2,
|
|
|
|
LOTTIE = 3
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface MessageStickerPayload {
|
|
|
|
id: string
|
|
|
|
pack_id: string
|
|
|
|
name: string
|
|
|
|
description: string
|
|
|
|
tags?: string
|
|
|
|
asset: string
|
|
|
|
preview_asset: string | null
|
|
|
|
format_type: MessageStickerFormatTypes
|
|
|
|
}
|
2021-03-26 07:17:11 +00:00
|
|
|
|
|
|
|
export interface MessageInteractionPayload {
|
|
|
|
id: string
|
|
|
|
type: InteractionType
|
|
|
|
name: string
|
|
|
|
user: UserPayload
|
|
|
|
}
|