mirror of
https://github.com/discordjs/discord-api-types.git
synced 2026-06-04 01:40:10 +00:00
feat(APIGuildForum): add support for forums, part 1 (#398)
Co-authored-by: Vitor <milagre.vitor@gmail.com>
This commit is contained in:
@@ -37,6 +37,7 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
export interface APIChannelBase<T extends ChannelType> extends APIPartialChannel {
|
||||
type: T;
|
||||
flags?: ChannelFlags;
|
||||
}
|
||||
|
||||
// TODO: update when text in voice is released
|
||||
@@ -47,7 +48,8 @@ export type TextChannelType =
|
||||
| ChannelType.GuildPublicThread
|
||||
| ChannelType.GuildPrivateThread
|
||||
| ChannelType.GuildNewsThread
|
||||
| ChannelType.GuildText;
|
||||
| ChannelType.GuildText
|
||||
| ChannelType.GuildForum;
|
||||
|
||||
export type GuildChannelType = Exclude<
|
||||
TextChannelType | ChannelType.GuildVoice | ChannelType.GuildStageVoice | ChannelType.GuildNews,
|
||||
@@ -223,6 +225,8 @@ export interface APIThreadChannel
|
||||
last_message_id?: Snowflake | null;
|
||||
}
|
||||
|
||||
export type APIGuildForumChannel = APIGuildTextChannel<ChannelType.GuildForum>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-structure
|
||||
*/
|
||||
@@ -234,7 +238,8 @@ export type APIChannel =
|
||||
| APIVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel;
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||
@@ -292,6 +297,10 @@ export enum ChannelType {
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
* A channel that can only contain threads
|
||||
*/
|
||||
GuildForum,
|
||||
}
|
||||
|
||||
export enum VideoQualityMode {
|
||||
@@ -1358,6 +1367,13 @@ export interface APITextInputComponent extends APIBaseComponent<ComponentType.Te
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-flags
|
||||
*/
|
||||
export enum ChannelFlags {
|
||||
Pinned = 1 << 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#message-components
|
||||
*/
|
||||
|
||||
@@ -37,6 +37,7 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
export interface APIChannelBase<T extends ChannelType> extends APIPartialChannel {
|
||||
type: T;
|
||||
flags?: ChannelFlags;
|
||||
}
|
||||
|
||||
// TODO: update when text in voice is released
|
||||
@@ -47,7 +48,8 @@ export type TextChannelType =
|
||||
| ChannelType.GuildPublicThread
|
||||
| ChannelType.GuildPrivateThread
|
||||
| ChannelType.GuildNewsThread
|
||||
| ChannelType.GuildText;
|
||||
| ChannelType.GuildText
|
||||
| ChannelType.GuildForum;
|
||||
|
||||
export type GuildChannelType = Exclude<
|
||||
TextChannelType | ChannelType.GuildVoice | ChannelType.GuildStageVoice | ChannelType.GuildNews,
|
||||
@@ -223,6 +225,8 @@ export interface APIThreadChannel
|
||||
last_message_id?: Snowflake | null;
|
||||
}
|
||||
|
||||
export type APIGuildForumChannel = APIGuildTextChannel<ChannelType.GuildForum>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-structure
|
||||
*/
|
||||
@@ -234,7 +238,8 @@ export type APIChannel =
|
||||
| APIVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel;
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||
@@ -292,6 +297,10 @@ export enum ChannelType {
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
* A channel that can only contain threads
|
||||
*/
|
||||
GuildForum,
|
||||
}
|
||||
|
||||
export enum VideoQualityMode {
|
||||
@@ -1358,6 +1367,13 @@ export interface APITextInputComponent extends APIBaseComponent<ComponentType.Te
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-flags
|
||||
*/
|
||||
export enum ChannelFlags {
|
||||
Pinned = 1 << 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#message-components
|
||||
*/
|
||||
|
||||
@@ -55,6 +55,8 @@ export enum RESTJSONErrorCodes {
|
||||
UnknownGuildScheduledEvent,
|
||||
UnknownGuildScheduledEventUser,
|
||||
|
||||
UnknownTag = 10087,
|
||||
|
||||
BotsCannotUseThisEndpoint = 20001,
|
||||
OnlyBotsCanUseThisEndpoint,
|
||||
|
||||
@@ -111,6 +113,8 @@ export enum RESTJSONErrorCodes {
|
||||
MaximumNumberOfGuildWidgetSettingsUpdatesHasBeenReached = 30042,
|
||||
|
||||
MaximumNumberOfEditsToMessagesOlderThanOneHourReached = 30046,
|
||||
MaximumNumberOfPinnedThreadsInForumHasBeenReached,
|
||||
MaximumNumberOfTagsInForumHasBeenReached,
|
||||
|
||||
Unauthorized = 40001,
|
||||
VerifyYourAccount,
|
||||
@@ -126,6 +130,7 @@ export enum RESTJSONErrorCodes {
|
||||
ApplicationCommandWithThatNameAlreadyExists = 40041,
|
||||
|
||||
InteractionHasAlreadyBeenAcknowledged = 40060,
|
||||
TagNamesMustBeUnique,
|
||||
|
||||
MissingAccess = 50001,
|
||||
InvalidAccountType,
|
||||
|
||||
@@ -581,6 +581,17 @@ export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUn
|
||||
rate_limit_per_user?: number;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThreadsJSONBody &
|
||||
RESTPostAPIChannelMessageJSONBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
*/
|
||||
|
||||
@@ -595,6 +595,17 @@ export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUn
|
||||
rate_limit_per_user?: number;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThreadsJSONBody &
|
||||
RESTPostAPIChannelMessageJSONBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
*/
|
||||
|
||||
@@ -37,6 +37,7 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
export interface APIChannelBase<T extends ChannelType> extends APIPartialChannel {
|
||||
type: T;
|
||||
flags?: ChannelFlags;
|
||||
}
|
||||
|
||||
// TODO: update when text in voice is released
|
||||
@@ -47,7 +48,8 @@ export type TextChannelType =
|
||||
| ChannelType.GuildPublicThread
|
||||
| ChannelType.GuildPrivateThread
|
||||
| ChannelType.GuildNewsThread
|
||||
| ChannelType.GuildText;
|
||||
| ChannelType.GuildText
|
||||
| ChannelType.GuildForum;
|
||||
|
||||
export type GuildChannelType = Exclude<
|
||||
TextChannelType | ChannelType.GuildVoice | ChannelType.GuildStageVoice | ChannelType.GuildNews,
|
||||
@@ -223,6 +225,8 @@ export interface APIThreadChannel
|
||||
last_message_id?: Snowflake | null;
|
||||
}
|
||||
|
||||
export type APIGuildForumChannel = APIGuildTextChannel<ChannelType.GuildForum>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-structure
|
||||
*/
|
||||
@@ -234,7 +238,8 @@ export type APIChannel =
|
||||
| APIVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel;
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||
@@ -292,6 +297,10 @@ export enum ChannelType {
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
* A channel that can only contain threads
|
||||
*/
|
||||
GuildForum,
|
||||
}
|
||||
|
||||
export enum VideoQualityMode {
|
||||
@@ -1358,6 +1367,13 @@ export interface APITextInputComponent extends APIBaseComponent<ComponentType.Te
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-flags
|
||||
*/
|
||||
export enum ChannelFlags {
|
||||
Pinned = 1 << 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#message-components
|
||||
*/
|
||||
|
||||
@@ -37,6 +37,7 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
export interface APIChannelBase<T extends ChannelType> extends APIPartialChannel {
|
||||
type: T;
|
||||
flags?: ChannelFlags;
|
||||
}
|
||||
|
||||
// TODO: update when text in voice is released
|
||||
@@ -47,7 +48,8 @@ export type TextChannelType =
|
||||
| ChannelType.GuildPublicThread
|
||||
| ChannelType.GuildPrivateThread
|
||||
| ChannelType.GuildNewsThread
|
||||
| ChannelType.GuildText;
|
||||
| ChannelType.GuildText
|
||||
| ChannelType.GuildForum;
|
||||
|
||||
export type GuildChannelType = Exclude<
|
||||
TextChannelType | ChannelType.GuildVoice | ChannelType.GuildStageVoice | ChannelType.GuildNews,
|
||||
@@ -223,6 +225,8 @@ export interface APIThreadChannel
|
||||
last_message_id?: Snowflake | null;
|
||||
}
|
||||
|
||||
export type APIGuildForumChannel = APIGuildTextChannel<ChannelType.GuildForum>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-structure
|
||||
*/
|
||||
@@ -234,7 +238,8 @@ export type APIChannel =
|
||||
| APIVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel;
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||
@@ -292,6 +297,10 @@ export enum ChannelType {
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
* A channel that can only contain threads
|
||||
*/
|
||||
GuildForum,
|
||||
}
|
||||
|
||||
export enum VideoQualityMode {
|
||||
@@ -1358,6 +1367,13 @@ export interface APITextInputComponent extends APIBaseComponent<ComponentType.Te
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-flags
|
||||
*/
|
||||
export enum ChannelFlags {
|
||||
Pinned = 1 << 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#message-components
|
||||
*/
|
||||
|
||||
@@ -55,6 +55,8 @@ export enum RESTJSONErrorCodes {
|
||||
UnknownGuildScheduledEvent,
|
||||
UnknownGuildScheduledEventUser,
|
||||
|
||||
UnknownTag = 10087,
|
||||
|
||||
BotsCannotUseThisEndpoint = 20001,
|
||||
OnlyBotsCanUseThisEndpoint,
|
||||
|
||||
@@ -111,6 +113,8 @@ export enum RESTJSONErrorCodes {
|
||||
MaximumNumberOfGuildWidgetSettingsUpdatesHasBeenReached = 30042,
|
||||
|
||||
MaximumNumberOfEditsToMessagesOlderThanOneHourReached = 30046,
|
||||
MaximumNumberOfPinnedThreadsInForumHasBeenReached,
|
||||
MaximumNumberOfTagsInForumHasBeenReached,
|
||||
|
||||
Unauthorized = 40001,
|
||||
VerifyYourAccount,
|
||||
@@ -126,6 +130,7 @@ export enum RESTJSONErrorCodes {
|
||||
ApplicationCommandWithThatNameAlreadyExists = 40041,
|
||||
|
||||
InteractionHasAlreadyBeenAcknowledged = 40060,
|
||||
TagNamesMustBeUnique,
|
||||
|
||||
MissingAccess = 50001,
|
||||
InvalidAccountType,
|
||||
|
||||
@@ -581,6 +581,17 @@ export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUn
|
||||
rate_limit_per_user?: number;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThreadsJSONBody &
|
||||
RESTPostAPIChannelMessageJSONBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
*/
|
||||
|
||||
@@ -595,6 +595,17 @@ export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUn
|
||||
rate_limit_per_user?: number;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThreadsJSONBody &
|
||||
RESTPostAPIChannelMessageJSONBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user