Preview environment

class DMMessageManager

export class DMMessageManager extends MessageManager

Manages API methods for messages in direct message channels and holds their cache.

readonly
cache : Collection<Key, Holds>

The cache of items for this manager.

Inherited from: DataManager

channel : DMChannel

The channel that the messages belong to

readonly
client : Client

The client that instantiated this Manager

Inherited from: BaseManager

readonly
holds : Constructable<Holds>

The data structure belonging to this manager.

Inherited from: DataManager

crosspost() : Promise<Message>

Publishes a message in an announcement channel to all channels following it, even if it's not cached.

Inherited from: MessageManager

delete() : Promise<void>

Deletes a message, even if it's not cached.

Inherited from: MessageManager

Edits a message, even if it's not cached.

Inherited from: MessageManager

endPoll(
messageId: Snowflake
) : Promise<Message>

Ends a poll.

Inherited from: MessageManager

fetch() : Promise<Message<InGuild>>

Fetches message(s) from a channel. The returned Collection does not contain reaction users of the messages if they were not cached. Those need to be fetched separately in such a case.

Examples:
// Fetch a message
channel.messages.fetch('99539446449315840')
  .then(message => console.log(message.content))
  .catch(console.error);
// Fetch a maximum of 10 messages without caching
channel.messages.fetch({ limit: 10, cache: false })
  .then(messages => console.log(`Received ${messages.size} messages`))
  .catch(console.error);
// Fetch a maximum of 10 messages without caching around a message id
channel.messages.fetch({ limit: 10, cache: false, around: '99539446449315840' })
  .then(messages => console.log(`Received ${messages.size} messages`))
  .catch(console.error);
// Fetch messages and filter by a user id
channel.messages.fetch()
  .then(messages => console.log(`${messages.filter(message =>
         message.author.id === '84484653687267328').size} messages`))
  .catch(console.error);

fetchPinned(
cache?: boolean
) : Promise<Collection<Snowflake, Message<boolean>>>

Fetches the pinned messages of this channel and returns a collection of them. The returned Collection does not contain any reaction data of the messages. Those need to be fetched separately.

Examples:
// Get pinned messages
channel.messages.fetchPinned()
  .then(messages => console.log(`Received ${messages.size} messages`))
  .catch(console.error);

Inherited from: MessageManager

fetchPollAnswerVoters() : Promise<Collection<Snowflake, User>>

Fetches the users that voted for a poll answer.

Inherited from: MessageManager

pin(
reason?: string
) : Promise<void>

Pins a message to the channel's pinned messages, even if it's not cached.

Inherited from: MessageManager

Adds a reaction to a message, even if it's not cached.

Inherited from: MessageManager

resolve() : Message | null

Resolves a MessageResolvable to a Message object.

Inherited from: MessageManager

resolveId() : Snowflake | null

Resolves a MessageResolvable to a Message id.

Inherited from: MessageManager

unpin(
reason?: string
) : Promise<void>

Unpins a message from the channel's pinned messages, even if it's not cached.

Inherited from: MessageManager

valueOf() : Collection<Key, Holds>

Inherited from: DataManager