Message class Null safety

The class that contains the information about a message

Inheritance
Annotations

Constructors

Message({String? id, String? text, String type = 'regular', List<Attachment> attachments = const [], List<User> mentionedUsers = const [], bool silent = false, bool shadowed = false, Map<String, int>? reactionCounts, Map<String, int>? reactionScores, List<Reaction>? latestReactions, List<Reaction>? ownReactions, String? parentId, Message? quotedMessage, String? quotedMessageId, int? replyCount = 0, List<User>? threadParticipants, bool? showInChannel, String? command, DateTime? createdAt, DateTime? updatedAt, User? user, bool pinned = false, DateTime? pinnedAt, DateTime? pinExpires, User? pinnedBy, Map<String, Object?> extraData = const {}, DateTime? deletedAt, MessageSendingStatus status = MessageSendingStatus.sent, Map<String, String>? i18n})
Constructor used for json serialization
Message.fromJson(Map<String, dynamic> json)
Create a new instance from a json
factory

Properties

attachments List<Attachment>
The list of attachments, either provided by the user or generated from a command or as a result of URL scraping.
@JsonKey(includeIfNull: false), final
command String?
A used command name.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
createdAt DateTime
Reserved field indicating when the message was created.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
deletedAt DateTime?
Reserved field indicating when the message was deleted.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
extraData Map<String, Object?>
Message custom extraData
@JsonKey(includeIfNull: false), final
hashCode int
The hash code for this object. [...]
read-only, inherited
i18n Map<String, String>?
A Map of translations.
@JsonKey(includeIfNull: false), final
id String
The message ID. This is either created by Stream or set client side when the message is added.
final
isDeleted bool
True if the message has been deleted
read-only
isEphemeral bool
True if the message is ephemeral
read-only
isSystem bool
True if the message is a system info
read-only
latestReactions List<Reaction>?
The latest reactions to the message created by any user.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
mentionedUsers List<User>
The list of user mentioned in the message
@JsonKey(toJson: User.toIds), final
ownReactions List<Reaction>?
The reactions added to the message by the current user.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
parentId String?
The ID of the parent message, if the message is a thread reply.
final
pinExpires DateTime?
Reserved field indicating when the message will expire [...]
final
pinned bool
If true the message is pinned
final
pinnedAt DateTime?
Reserved field indicating when the message was pinned
@JsonKey(toJson: Serializer.readOnly), final
pinnedBy User?
Reserved field indicating who pinned the message
@JsonKey(toJson: Serializer.readOnly), final
props List<Object?>
The list of properties that will be used to determine whether two instances are equal.
read-only, override
quotedMessage Message?
A quoted reply message
@JsonKey(toJson: Serializer.readOnly), final
quotedMessageId String?
The ID of the quoted message, if the message is a quoted reply.
final
reactionCounts Map<String, int>?
A map describing the count of number of every reaction
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
reactionScores Map<String, int>?
A map describing the count of score of every reaction
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
replyCount int?
Reserved field indicating the number of replies for this message.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
shadowed bool
If true the message is shadowed
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
showInChannel bool?
Check if this message needs to show in the channel.
final
silent bool
If true the message is silent
final
status MessageSendingStatus
The status of a sending message
@JsonKey(ignore: true), final
stringify bool?
If set to true, the toString method will be overridden to output this instance's props. [...]
read-only, inherited
text String?
The text of this message
final
threadParticipants List<User>?
Reserved field indicating the thread participants for this message.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
type String
The message type
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
updatedAt DateTime
Reserved field indicating when the message was updated last time.
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final
user User?
User who sent the message
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly), final

Methods

copyWith({String? id, String? text, String? type, List<Attachment>? attachments, List<User>? mentionedUsers, Map<String, int>? reactionCounts, Map<String, int>? reactionScores, List<Reaction>? latestReactions, List<Reaction>? ownReactions, String? parentId, Message? quotedMessage, String? quotedMessageId, int? replyCount, List<User>? threadParticipants, bool? showInChannel, bool? shadowed, bool? silent, String? command, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, User? user, bool? pinned, DateTime? pinnedAt, Object? pinExpires = _pinExpires, User? pinnedBy, Map<String, Object?>? extraData, MessageSendingStatus? status, Map<String, String>? i18n}) Message
Creates a copy of Message with specified attributes overridden.
merge(Message other) Message
Returns a new Message that is a combination of this message and the given other message.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toJson() Map<String, dynamic>
Serialize to json
toString() String
A string representation of this object. [...]
inherited

Operators

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

Constants

topLevelFields → const List<String>
Known top level fields. Useful for Serializer methods.
['id', 'text', 'type', 'silent', 'attachments', 'latest_reactions', 'shadowed', 'own_reactions', 'mentioned_users', 'reactio…