ChatMessage class

~english The message class.

The sample code for constructing a text message to send is as follows.

  ChatMessage msg = ChatMessage.createTxtSendMessage(
     username: "user1",
     content: "hello",
   );

~end

~chinese 消息对象类。

创建一条待发送的文本消息示例代码如下:

  ChatMessage msg = ChatMessage.createTxtSendMessage(
     targetId: "user1",
     content: "hello",
   );

~end

Constructors

ChatMessage.createCmdSendMessage({required String targetId, required dynamic action, bool deliverOnlineOnly = false, ChatType chatType = ChatType.Chat})
~english Creates a command message for sending.
ChatMessage.createCombineSendMessage({required String targetId, String? title, String? summary, String? compatibleText, required List<String> msgIds, ChatType chatType = ChatType.Chat})
~english Creates a combined message for sending.
ChatMessage.createCustomSendMessage({required String targetId, required dynamic event, Map<String, String>? params, ChatType chatType = ChatType.Chat})
~english Creates a custom message for sending.
ChatMessage.createFileSendMessage({required String targetId, required String filePath, String? displayName, int? fileSize, ChatType chatType = ChatType.Chat})
~english Creates a file message for sending.
ChatMessage.createImageSendMessage({required String targetId, required String filePath, String? displayName, String? thumbnailLocalPath, bool sendOriginalImage = false, int? fileSize, double? width, double? height, ChatType chatType = ChatType.Chat})
~english Creates an image message for sending.
ChatMessage.createLocationSendMessage({required String targetId, required double latitude, required double longitude, String? address, String? buildingName, ChatType chatType = ChatType.Chat})
~english Creates a location message for sending.
ChatMessage.createReceiveMessage({required ChatMessageBody body, ChatType chatType = ChatType.Chat})
~english Creates a received message instance.
ChatMessage.createSendMessage({required ChatMessageBody body, String? to, ChatType chatType = ChatType.Chat})
~english Creates a message instance for sending.
ChatMessage.createTxtSendMessage({required String targetId, required String content, List<String>? targetLanguages, ChatType chatType = ChatType.Chat})
~english Creates a text message for sending.
ChatMessage.createVideoSendMessage({required String targetId, required String filePath, String? displayName, int duration = 0, int? fileSize, String? thumbnailLocalPath, double? width, double? height, ChatType chatType = ChatType.Chat})
~english Creates a video message instance for sending.
ChatMessage.createVoiceSendMessage({required String targetId, required String filePath, int duration = 0, int? fileSize, String? displayName, ChatType chatType = ChatType.Chat})
~english Creates a voice message for sending.
ChatMessage.fromJson(Map<String, dynamic> map)
factory

Properties

attributes Map<String, dynamic>?
~english Message's extension attribute. ~end
getter/setter pair
body ChatMessageBody
~english Message body. We recommend you use ChatMessageBody. ~end
getter/setter pair
chatroomMessagePriority ChatRoomMessagePriority
~english Sets the priority of chat room messages. param priority The priority of chat room messages. The default value is Normal, indicating the normal priority. For details, seeChatRoomMessagePriority. ~end
no getter
chatType ChatType
~english The enumeration of the chat type.
getter/setter pair
conversationId String?
~english The conversation ID. ~end
getter/setter pair
deliverOnlineOnly bool
~english Whether the message is delivered only when the recipient(s) is/are online:
getter/setter pair
direction MessageDirection
~english The message direction. see MessageDirection. ~end
getter/setter pair
from String?
~english The user ID of the message sender. ~end
getter/setter pair
hasDeliverAck bool
~english The delivery receipt, which is to check whether the other party has received the message.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
hasRead bool
~english Whether the message is read.
getter/setter pair
hasReadAck bool
~english Whether the recipient has read the message.
getter/setter pair
isBroadcast bool
~english Whether it is a global broadcast message ~end
latefinal
isChatThreadMessage bool
~english Is it a message sent within a thread ~end
getter/setter pair
isContentReplaced bool
~english Whether the message content is replaced. It is valid after ChatOptions.useReplacedMessageContents is enabled. ~end ~chinese 消息内容是否被替换, 开启ChatOptions.useReplacedMessageContents后有效 ~end
getter/setter pair
localTime int
~english The local timestamp when the message is created on the local device, in milliseconds. ~end
getter/setter pair
msgId String
~english Gets the message ID.
no setter
needGroupAck bool
~english Whether read receipts are required for group messages.
getter/setter pair
onlineState bool
~english Message Online Status
latefinal
receiverList List<String>?
~english The recipient list of a targeted message.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serverTime int
~english The timestamp when the message is received by the server. ~end
getter/setter pair
status MessageStatus
~english Gets the message sending/reception status. see MessageStatus. ~end
getter/setter pair
to String?
~english The ID of the message recipient.
getter/setter pair

Methods

chatThread() Future<ChatThread?>
~english Get an overview of the thread in the message (currently only supported by group messages)
dispose() → void
groupAckCount() Future<int>
~english Gets the number of members that have read the group message.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pinInfo() Future<MessagePinInfo?>
reactionList() Future<List<ChatMessageReaction>>
~english Gets the Reaction list.
toJson() Map<String, dynamic>
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited