Message.text constructor
const
Message.text({
- required MessageID id,
- required UserID authorId,
- MessageID? replyToMessageId,
- @EpochDateTimeConverter() DateTime? createdAt,
- @EpochDateTimeConverter() DateTime? deletedAt,
- @EpochDateTimeConverter() DateTime? failedAt,
- @EpochDateTimeConverter() DateTime? sentAt,
- @EpochDateTimeConverter() DateTime? deliveredAt,
- @EpochDateTimeConverter() DateTime? seenAt,
- @EpochDateTimeConverter() DateTime? updatedAt,
- @EpochDateTimeConverter() DateTime? editedAt,
- Map<
String, List< ? reactions,UserID> > - bool? pinned,
- Map<
String, dynamic> ? metadata, - MessageStatus? status,
- required String text,
- LinkPreviewData? linkPreviewData,
Creates a text message.
Implementation
const factory Message.text({
/// Unique identifier for the message.
required MessageID id,
/// ID of the user who sent the message.
required UserID authorId,
/// ID of the message this one is replying to.
MessageID? replyToMessageId,
/// Timestamp when the message was created.
@EpochDateTimeConverter() DateTime? createdAt,
/// Timestamp when the message was marked as deleted.
@EpochDateTimeConverter() DateTime? deletedAt,
/// Timestamp when the message failed to send.
@EpochDateTimeConverter() DateTime? failedAt,
/// Timestamp when the message was successfully sent.
@EpochDateTimeConverter() DateTime? sentAt,
/// Timestamp when the message was delivered to the recipient.
@EpochDateTimeConverter() DateTime? deliveredAt,
/// Timestamp when the message was seen by the recipient.
@EpochDateTimeConverter() DateTime? seenAt,
/// Timestamp when the message was last updated.
@EpochDateTimeConverter() DateTime? updatedAt,
/// Timestamp when the message was last edited.
@EpochDateTimeConverter() DateTime? editedAt,
/// Map of reaction keys to lists of user IDs who reacted.
Map<String, List<UserID>>? reactions,
/// Indicates if the message is pinned.
bool? pinned,
/// Additional custom metadata associated with the message.
Map<String, dynamic>? metadata,
/// Status of the message. Takes precedence over the timestamp based status.
/// If not provided, the status is determined by createdAt, sentAt, seenAt etc.
MessageStatus? status,
/// The text content of the message.
required String text,
/// Optional preview data for a link found in the [text].
LinkPreviewData? linkPreviewData,
}) = TextMessage;