ChatMessage class

Represents a chat message with support for replies and system messages.

A message can be either a regular user message, a system message, or a deleted message. Messages can also be replies to other messages, indicated by replyToMessageId and replyToSnapshot.

Example:

final message = ChatMessage(
  id: 'msg-1',
  chatId: 'chat-123',
  authorId: 'user-456',
  authorDisplayName: 'John Doe',
  text: 'Hello!',
  createdAt: DateTime.now(),
);

Constructors

ChatMessage({required String id, required String chatId, required String authorId, required String authorDisplayName, String? authorAvatarUrl, required String text, required DateTime createdAt, DateTime? updatedAt, bool isSystem = false, bool isDeleted = false, String? replyToMessageId, ChatReplySnapshot? replyToSnapshot})
Creates a new ChatMessage.
const

Properties

authorAvatarUrl → String?
Optional avatar URL for the message author.
final
authorDisplayName → String
Display name of the user who created this message.
final
authorId → String
ID of the user who created this message.
final
chatId → String
ID of the chat this message belongs to.
final
createdAt → DateTime
Date and time when the message was created.
final
hashCode → int
The hash code for this object.
no setteroverride
id → String
Unique identifier for this message.
final
isDeleted → bool
Whether this message has been deleted (soft delete).
final
isReply → bool
Whether this message is a reply to another message.
no setter
isSystem → bool
Whether this is a system message (e.g., "User joined").
final
replyToMessageId → String?
ID of the message this is replying to, if any.
final
replyToSnapshot → ChatReplySnapshot?
Snapshot of the message being replied to, if any.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
text → String
The text content of the message.
final
updatedAt → DateTime?
Optional date and time when the message was last updated.
final

Methods

copyWith({String? id, String? chatId, String? authorId, String? authorDisplayName, String? authorAvatarUrl, String? text, DateTime? createdAt, DateTime? updatedAt, bool? isSystem, bool? isDeleted, String? replyToMessageId, ChatReplySnapshot? replyToSnapshot}) → ChatMessage
Creates a copy of this message with the given fields replaced with new values.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
override