BaseMessage constructor
BaseMessage({
- required String channelUrl,
- required ChannelType channelType,
- required String message,
- required SendingStatus? sendingStatus,
- String? data,
- String? customType,
- MentionType mentionType = MentionType.users,
- List<
User> mentionedUsers = const <User>[], - List<
MessageMetaArray> ? allMetaArrays, - Map<
String, dynamic> ? extendedMessage, - int createdAt = 0,
- int updatedAt = 0,
- Sender? sender,
- int messageId = 0,
- String? requestId,
- bool isReplyToChannel = false,
- int? parentMessageId,
- Map<
String, dynamic> ? parentMessage, - ThreadInfo? threadInfo,
- int? messageSurvivalSeconds,
- bool forceUpdateLastMessage = false,
- bool isSilent = false,
- int? errorCode,
- bool isOperatorMessage = false,
- OGMetaData? ogMetaData,
- List<
Reaction> ? reactions = const <Reaction>[], - ScheduledInfo? scheduledInfo,
Implementation
BaseMessage({
required super.channelUrl,
required super.channelType,
required this.message,
required this.sendingStatus,
super.data,
super.customType,
super.mentionType,
super.mentionedUsers,
super.allMetaArrays,
super.extendedMessage,
super.createdAt,
super.updatedAt,
Sender? sender,
this.messageId = 0,
this.requestId,
this.isReplyToChannel = false,
this.parentMessageId,
Map<String, dynamic>? parentMessage,
this.threadInfo,
this.messageSurvivalSeconds,
this.forceUpdateLastMessage = false,
this.isSilent = false,
this.errorCode,
this.isOperatorMessage = false,
this.ogMetaData,
this.reactions = const <Reaction>[],
this.scheduledInfo,
}) : _sender = sender {
if (parentMessage != null && parentMessageId != null) {
parentMessage['message_id'] = parentMessageId;
parentMessage['channel_url'] = channelUrl;
parentMessage['channel_type'] = channelType;
this.parentMessage = RootMessage.fromJson(parentMessage) as BaseMessage;
}
if (sendingStatus == null) {
if (messageId > 0) {
sendingStatus = SendingStatus.succeeded;
} else if (requestId != null) {
sendingStatus = SendingStatus.pending;
} else {
sendingStatus = SendingStatus.none;
}
}
}