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

interface APIGroupDMChannel {
    application_id?: string;
    flags?: ChannelFlags;
    icon?: null | string;
    id: string;
    last_message_id?: null | string;
    last_pin_timestamp?: null | string;
    managed?: boolean;
    name: null | string;
    owner_id?: string;
    rate_limit_per_user?: number;
    recipients?: APIUser[];
    type: GroupDM;
}

Hierarchy (View Summary)

Properties

application_id?: string

Application id of the group DM creator if it is bot-created

flags?: ChannelFlags
icon?: null | string

Icon hash

id: string

The id of the channel

last_message_id?: null | string

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

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

managed?: boolean

Whether the channel is managed by an OAuth2 application

name: null | string

The name of the channel (1-100 characters)

owner_id?: string

ID of the DM creator

rate_limit_per_user?: number

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

rate_limit_per_user also applies to thread creation. Users can send one message and create one thread during each rate_limit_per_user interval.

For thread channels, rate_limit_per_user is only returned if the field is set to a non-zero and non-null value. The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.

recipients?: APIUser[]

The recipients of the DM

type: GroupDM

The type of the channel