Object representing a user message.

Hierarchy

  • default
    • UserMessage

Properties

appleCriticalAlertOptions: null | AppleCriticalAlertOptions = null

The apple critical alert options of the message.

channelType: ChannelType = ChannelType.BASE

The ChannelType of the channel this message belongs to.

channelUrl: string

The channel URL of the channel this message belongs to.

createdAt: number = 0

The creation time of the message in milliseconds.

customType: string

The custom type of the message.

data: string

The custom type of the message.

errorCode: number = 0

The error code of them message if the sendingStatus is SendingStatus.FAILED.

extendedMessage: object = {}

The template for the message.

extendedMessagePayload?: Record<string, unknown>

The datas for the message.

isOperatorMessage: boolean = false

Whether the message was sent from an operator.

mentionType: null | MentionType = null

The mention type. Refer to MentionType.

mentionedMessageTemplate: undefined | string = undefined

The mentioned message template of the message.

mentionedUserIds: null | string[] = null

The mentioned user ids of the message.

mentionedUsers: null | User[] = null

The mentioned users of the message.

message: string = ''

The message text of the message.

messageForm: null | MessageForm = null

The form of the message.

messageId: number

The ID of the message.

messageParams: null | UserMessageCreateParams = null

The messageParams object that used for sending this message For more details.

messageReviewInfo?: MessageReviewInfo

The message review history of the message. It only exists when the message was reviewed.

messageType: MessageType = MessageType.BASE
metaArrays: MessageMetaArray[] = []

Gets an array of meta arrays sorted by chronological order.

myFeedback: null | Feedback = null

My feedback of the message. Not null, if its FeedbackStatus is FeedbackStatus.SUBMITTED Null, if its FeedbackStatus is FeedbackStatus.NOT_APPLICABLE or FeedbackStatus.NO_FEEDBACK/b>.

myFeedbackStatus: FeedbackStatus = 'NOT_APPLICABLE'

My feedback status of the message.

ogMetaData: null | OGMetaData

The OGMetaData of the message. Might be null if

parentMessage: null | BaseMessage = null

The parent message of this message. Only NonNull if this message is a reply message. It does not contain all properties of the parent message.

parentMessageId: number

The parent message's ID if this is a reply message.

plugins: Plugin[] = []

The plugin lists for this message.

reactions: Reaction[] = []

The reactions on the message.

replyToChannel: boolean = false

Determines whether the current message is a replied message and also a message was replied to the channel.

reqId: string = ''
scheduledInfo: null | ScheduledInfo = null

The scheduled info of the message if this is a scheduled message

sender: Sender

Sender of the message. This is represented by Sender class.

sendingStatus: SendingStatus

The sending status of the message.

silent: boolean = false

Checks whether the message is silent or not.

suggestedReplies: null | string[] = null

The suggested replies of the message.

threadInfo: null | ThreadInfo = null

The thread info of the message.

translationTargetLanguages: string[] = []

The list of target translation languages with the language codes. The messages that have been sent or scheduled with translation option (refer to BaseChannel.sendUserMessage) will have this list.

translations: object = {}

The translated messages (key-value map) for the language codes in key.

updatedAt: number = 0

The updated time of the message in milliseconds.

Accessors

  • get isResendable(): boolean
  • Whether the message is resendable. Used only if the message is failed/canceled to send.

    Returns boolean

  • get poll(): null | Poll
  • The poll that belongs to this message object.

    Returns null | Poll

Methods

  • Parameters

    Returns boolean

    When parent message is updated, you can update the child message's parent message through this method. If you use MessageCollection, messages in the collection are automatically updated, so don't need to call it.

  • Parameters

    Returns boolean

    When you get updated polls from groupChannel.getPollChangeLogsSinceToken() or groupChannel.getPollChangeLogsSinceTimestamp(), you can update the user message's poll through this function. If you use MessageCollection, messages in the collection are automatically updated, so don't need to call it.

  • Parameters

    Returns void

    Applies ReactionEvent to message.

  • Parameters

    Returns boolean

    Applies ThreadInfoUpdateEvent to a message.

  • Parameters

    • feedbackId: number

    Returns Promise<void>

    Deletes the feedback for the message. The feedback can be deleted only when the FeedbackStatus is FeedbackStatus.SUBMITTED.

  • Parameters

    Returns Promise<{
        parentMessage: BaseMessage;
        threadedMessages: BaseMessage[];
    }>

    Retrieves the threaded replies of the current message depending on the timestamp. If the current message doesn’t have replies, the result is an empty list.

  • Parameters

    • message: MessagePrototype

    Returns boolean

    Whether the given message is equal in all the values of this message.

  • Parameters

    • message: SendableMessage

    Returns boolean

  • Returns Promise<void>

    Marks the message thread as read.

  • Parameters

    • pushEnabled: boolean

    Returns Promise<void>

    Sets push notification enabled for the thread.

  • Parameters

    • data: Pick<Feedback, "rating" | "comment">

    Returns Promise<void>

    Submits the feedback for the message. The feedback can be submitted only when the FeedbackStatus is FeedbackStatus.NO_FEEDBACK.

  • Returns Promise<void>

    Submits the message form of this message.

  • Parameters

    • data: {
          answers: Record<string, string>;
          formId: number;
      }
      • answers: Record<string, string>
      • formId: number

    Returns Promise<void>

    since v4.13.0. Use submitMessageForm() instead.

  • Parameters

    Returns Promise<void>

    Updates the feedback for the message. The feedback can be updated only when the FeedbackStatus is FeedbackStatus.SUBMITTED.