sendTextMessage method
dynamic
sendTextMessage(
{ - Map<String, dynamic>? metadata,
})
Implementation
sendTextMessage({Map<String, dynamic>? metadata}) {
if(textEditingController == null) return;
String messagesText = textEditingController!.text;
String type = MessageTypeConstants.text;
TextMessage textMessage = TextMessage(
sender: loggedInUser,
text: messagesText,
receiverUid: receiverID,
receiverType: receiverType,
type: type,
metadata: metadata,
parentMessageId: parentMessageId,
muid: DateTime.now().microsecondsSinceEpoch.toString(),
category: CometChatMessageCategory.message,
);
handlePreMessageSend(textMessage);
oldMessage = null;
messagePreviewTitle = '';
messagePreviewSubtitle = '';
previewMessageMode = PreviewMessageMode.none;
textEditingController?.clear();
_previousText = '';
update();
if (onSendButtonTap != null) {
onSendButtonTap!(context, textMessage, previewMessageMode);
} else {
CometChatMessageEvents.ccMessageSent(
textMessage, MessageStatus.inProgress);
CometChat.sendMessage(textMessage, onSuccess: (TextMessage message) {
debugPrint("Message sent successfully: ${message.text}");
if (disableSoundForMessages == false) {
CometChatUIKit.soundManager.play(
sound: Sound.outgoingMessage,
customSound: customSoundForMessage,
packageName:
customSoundForMessage == null || customSoundForMessage == ""
? UIConstants.packageName
: customSoundForMessagePackage);
}
CometChatMessageEvents.ccMessageSent(message, MessageStatus.sent);
},
onError: onError ??
(CometChatException e) {
if (textMessage.metadata != null) {
textMessage.metadata!["error"] = e;
} else {
textMessage.metadata = {"error": e};
}
CometChatMessageEvents.ccMessageSent(
textMessage, MessageStatus.error);
debugPrint(
"Message sending failed with exception: ${e.message}");
});
}
}