Chat / JavaScript
Chat JavaScript v4
Chat JavaScript
Chat
JavaScript
Home
/
Chat
/
JavaScript
/
Message
This is the new Docs for Chat SDK v4 for JavaScript. To see the previous Docs, click here.

Create a message thread

When a user replies to a message in a channel, it creates a message thread, which refers to a collection of messages consisting of a parent message and its replies. Message threading lets users ask questions, give feedback, or add context to a specific message without disrupting the conversation. It can have the following elements.

  • A message can have a thread of replies.

  • A message that has a thread of replies is a parent message.

  • A parent message and its threaded replies are collectively called a message thread.

  • Every message within a thread, whether it's parent or reply, is a threaded message.

  • A message that doesn't have any replies is an unthreaded message.

Message threading has the following limitations.

  • Only 1-depth threads are supported, meaning you can only add reply messages to non-reply messages. You can't add a reply to a reply message.
  • Message threading is limited to text and file messages. You can't send admin messages as replies or add replies to admin messages.

You can reply to a specific message in a channel through the sendUserMessage() or sendFileMessage() method. To do so, you should create a UserMessageCreateParams or a FileMessageCreateParams object and then specify the parentMessageId property of the object. Sending reply messages works the same way as sending regular messages to a channel except that replies have an additional parentMessageId property.

Note: To retrieve information about parent messages and threaded replies, see how to list changelogs of messages in a channel.


Reply with a text message

When replying to a message through the sendUserMessage() method, specify and pass a UserMessageCreateParams object as an argument to a parameter in the method.

// Create a UserMessageCreateParams object.
const params: UserMessageCreateParams = {
    parentMessageId: PARENT_MESSAGE_ID, // This specifies the unique ID of a parent message which has a thread of replies. If the message sent through the sendUserMessage() method is a parent message, the value of this property is 0.
};

List of parameters

Parameter nameTypeDescription

parentMessageId

long

Specifies the unique ID of a parent message. A parent message is a message that has a thread of replies. If the message sent through the sendUserMessage() method is a parent message, the value of this property is 0. If the message is a reply to a parent message, the value is the message ID of the parent message.


Reply with a file message

When replying with a file message through the sendFileMessage() method, specify and pass a FileMessageCreateParams object as an argument to a parameter in the method.

// Create a FileMessageCreateParams object.
const params: FileMessageCreateParams = {
    file: FILE,
    parentMessageId: PARENT_MESSAGE_ID, // This specifies the unique ID of a parent message which has a thread of replies. If the message sent through the sendUserMessage() method is a parent message, the value of this property is 0.
};

List of parameters

Parameter nameTypeDescription

file

string

Specifies the URL of the file to be attached to the message.

parentMessageId

long

Specifies the unique ID of a parent message. A parent message is a message that has a thread of replies. If the message sent through the sendUserMessage() method is a parent message, the value of this property is 0. If the message is a reply to a parent message, the value is the message ID of the parent message.