This interface is used to allow easy extension for other channel types. While also allowing APIPartialChannel to be used without breaking.

interface APIGuildForumChannel {
    available_tags: APIGuildForumTag[];
    default_auto_archive_duration?: ThreadAutoArchiveDuration;
    default_forum_layout: ForumLayoutType;
    default_reaction_emoji: null | APIGuildForumDefaultReactionEmoji;
    default_sort_order: null | SortOrderType;
    default_thread_rate_limit_per_user?: number;
    flags?: ChannelFlags;
    guild_id?: string;
    id: string;
    last_message_id?: null | string;
    last_pin_timestamp?: null | string;
    name: string;
    nsfw?: boolean;
    parent_id?: null | string;
    permission_overwrites?: APIOverwrite[];
    position: number;
    rate_limit_per_user?: number;
    topic?: null | string;
    type: GuildForum;
}

Hierarchy (View Summary)

Properties

available_tags: APIGuildForumTag[]

The set of tags that can be used in a thread-only channel

default_auto_archive_duration?: ThreadAutoArchiveDuration

Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity

default_forum_layout: ForumLayoutType

The default layout type used to display posts in a forum channel

ForumLayoutType.NotSet which indicates a layout view has not been set by a channel admin

default_reaction_emoji: null | APIGuildForumDefaultReactionEmoji

The emoji to show in the add reaction button on a thread in a thread-only channel

default_sort_order: null | SortOrderType

The default sort order type used to order posts in a thread-only channel

default_thread_rate_limit_per_user?: number

The initial rate_limit_per_user to set on newly created threads. This field is copied to the thread at creation time and does not live update

flags?: ChannelFlags
guild_id?: string

The id of the guild (may be missing for some channel objects received over gateway guild dispatches)

id: string

The id of the channel

last_message_id?: null | string

The id of the last thread created in this channel (may not point to an existing or valid thread)

last_pin_timestamp?: null | string

When the last pinned message was pinned. This may be null in events such as GUILD_CREATE when a message is not pinned

name: string

The name of the channel (1-100 characters)

nsfw?: boolean

Whether the channel is nsfw

parent_id?: null | string

ID of the parent category for a channel (each parent category can contain up to 50 channels)

OR

ID of the parent channel for a thread

permission_overwrites?: APIOverwrite[]

Explicit permission overwrites for members and roles

position: number

Sorting position of the channel

rate_limit_per_user?: number

Amount of seconds a user has to wait before creating another thread (0-21600); bots, as well as users with the permission MANAGE_MESSAGES or MANAGE_CHANNELS, are unaffected

The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.

topic?: null | string

The channel topic (0-4096 characters)

The type of the channel