Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Channel

Index

Constructors

constructor

Properties

_id

_id: string

Private Optional ackLimit

ackLimit: number

Private Optional ackTimeout

ackTimeout: number

active

active: Nullable<boolean> = null

Whether this DM is active.

requires

DirectMessage

channel_type

channel_type: "SavedMessages" | "DirectMessage" | "Group" | "TextChannel" | "VoiceChannel"

client

client: Client

default_permissions

default_permissions: Nullable<number> = null

Default server channel permissions.

requires

TextChannel, VoiceChannel

description

description: Nullable<string> = null

Channel description.

requires

Group, TextChannel, VoiceChannel

icon

icon: Nullable<Attachment> = null

Channel icon.

requires

Group, TextChannel, VoiceChannel

last_message_id

last_message_id: Nullable<string> = null

Id of last message in channel.

requires

Group, DM, TextChannel, VoiceChannel

name

name: Nullable<string> = null

Channel name.

requires

Group, TextChannel, VoiceChannel

nsfw

nsfw: Nullable<boolean> = null

Channel is not safe for work.

requires

Group, TextChannel, VoiceChannel

owner_id

owner_id: Nullable<string> = null

The ID of the group owner.

requires

Group

permissions

permissions: Nullable<number> = null

Permissions for group members.

requires

Group

recipient_ids

recipient_ids: Nullable<string[]> = null

Group / DM members.

requires

Group, DM

role_permissions

role_permissions: Nullable<{}> = null

Channel permissions for each role.

requires

TextChannel, VoiceChannel

server_id

server_id: Nullable<string> = null

The ID of the server this channel is in.

requires

TextChannel, VoiceChannel

typing_ids

typing_ids: Set<string> = ...

Users typing in channel.

Accessors

createdAt

  • get createdAt(): number

last_message

  • get last_message(): undefined | Message

last_message_id_or_past

  • get last_message_id_or_past(): string

mentions

  • get mentions(): string[]

owner

  • get owner(): undefined | User

path

  • get path(): string

permission

  • get permission(): number

recipient

  • get recipient(): undefined | User

recipients

  • get recipients(): undefined | (undefined | User)[]

server

  • get server(): undefined | Server

typing

  • get typing(): (undefined | User)[]

unread

  • get unread(): boolean

url

  • get url(): string

Methods

ack

  • ack(message?: string | Message, skipRateLimiter?: boolean): Promise<void>
  • Mark a channel as read

    Parameters

    • Optional message: string | Message

      Last read message or its ID

    • Optional skipRateLimiter: boolean

      Whether to skip the internal rate limiter

    Returns Promise<void>

addMember

  • addMember(user_id: string): Promise<undefined>
  • Add a user to a group

    Parameters

    • user_id: string

      ID of the target user

    Returns Promise<undefined>

createInvite

  • createInvite(): Promise<string>

delete

  • delete(avoidReq?: boolean): Promise<void>
  • Delete a channel

    requires

    DM, Group, TextChannel, VoiceChannel

    Parameters

    • Optional avoidReq: boolean

    Returns Promise<void>

edit

  • edit(data: { description?: string; icon?: string; name?: string; nsfw?: boolean; remove?: RemoveChannelField }): Promise<undefined>
  • Edit a channel

    Parameters

    • data: { description?: string; icon?: string; name?: string; nsfw?: boolean; remove?: RemoveChannelField }

      Channel editing route data

      • Optional description?: string
      • Optional icon?: string
      • Optional name?: string
      • Optional nsfw?: boolean
      • Optional remove?: RemoveChannelField

    Returns Promise<undefined>

fetchMembers

  • fetchMembers(): Promise<User[]>

fetchMessage

  • fetchMessage(message_id: string): Promise<Message>
  • Fetch a message by its ID

    Parameters

    • message_id: string

      ID of the target message

    Returns Promise<Message>

    The message

fetchMessages

  • fetchMessages(params?: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; nearby?: string; sort?: "Latest" | "Oldest" }, "include_users">): Promise<Message[]>
  • Fetch multiple messages from a channel

    Parameters

    • Optional params: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; nearby?: string; sort?: "Latest" | "Oldest" }, "include_users">

      Message fetching route data

    Returns Promise<Message[]>

    The messages

fetchMessagesWithUsers

  • fetchMessagesWithUsers(params?: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; nearby?: string; sort?: "Latest" | "Oldest" }, "include_users">): Promise<{ members: undefined | Member[]; messages: Message[]; users: User[] }>
  • Fetch multiple messages from a channel including the users that sent them

    Parameters

    • Optional params: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; nearby?: string; sort?: "Latest" | "Oldest" }, "include_users">

      Message fetching route data

    Returns Promise<{ members: undefined | Member[]; messages: Message[]; users: User[] }>

    Object including messages and users

fetchStale

  • fetchStale(ids: string[]): Promise<{ deleted: string[]; updated: Message[] }>
  • Fetch stale messages

    Parameters

    • ids: string[]

      IDs of the target messages

    Returns Promise<{ deleted: string[]; updated: Message[] }>

    The stale messages

generateIconURL

  • generateIconURL(...args: FileArgs): undefined | string

getMentions

isUnread

joinCall

  • joinCall(): Promise<{ token: string }>
  • Join a call in a channel

    Returns Promise<{ token: string }>

    Join call response data

removeMember

  • removeMember(user_id: string): Promise<undefined>
  • Remove a user from a group

    Parameters

    • user_id: string

      ID of the target user

    Returns Promise<undefined>

search

  • search(params: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; query: string; sort?: "Latest" | "Oldest" | "Relevance" }, "include_users">): Promise<Message[]>
  • Search for messages

    Parameters

    • params: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; query: string; sort?: "Latest" | "Oldest" | "Relevance" }, "include_users">

      Message searching route data

    Returns Promise<Message[]>

    The messages

searchWithUsers

  • searchWithUsers(params: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; query: string; sort?: "Latest" | "Oldest" | "Relevance" }, "include_users">): Promise<{ members: undefined | Member[]; messages: Message[]; users: User[] }>
  • Search for messages including the users that sent them

    Parameters

    • params: Omit<{ after?: string; before?: string; include_users?: boolean; limit?: number; query: string; sort?: "Latest" | "Oldest" | "Relevance" }, "include_users">

      Message searching route data

    Returns Promise<{ members: undefined | Member[]; messages: Message[]; users: User[] }>

    The messages

sendMessage

  • sendMessage(data: string | (Omit<{ attachments?: string[]; content: string; embeds?: SendableEmbed[]; nonce: string; replies?: { id: string; mention: boolean }[] }, "nonce"> & { nonce?: string })): Promise<Message>
  • Send a message

    Parameters

    • data: string | (Omit<{ attachments?: string[]; content: string; embeds?: SendableEmbed[]; nonce: string; replies?: { id: string; mention: boolean }[] }, "nonce"> & { nonce?: string })

      Either the message as a string or message sending route data

    Returns Promise<Message>

    The message

setPermissions

  • setPermissions(role_id?: string, permissions?: number): Promise<undefined>
  • Set role permissions

    Parameters

    • role_id: string = "default"

      Role Id, set to 'default' to affect all users

    • Optional permissions: number

      Permission number, removes permission if unset

    Returns Promise<undefined>

startTyping

  • startTyping(): void

stopTyping

  • stopTyping(): void

update

updateGroupJoin

  • updateGroupJoin(user: string): void

updateGroupLeave

  • updateGroupLeave(user: string): void

updateStartTyping

  • updateStartTyping(id: string): void

updateStopTyping

  • updateStopTyping(id: string): void

Generated using TypeDoc