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

interface APIGuildChannel<T extends ChannelType> {
    flags?: ChannelFlags;
    guild_id?: string;
    id: string;
    name: string;
    nsfw?: boolean;
    parent_id?: null | string;
    permission_overwrites?: APIOverwrite[];
    type: T;
}

Type Parameters

Hierarchy (View Summary)

Properties

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

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

type: T

The type of the channel