sendTextMessage method
sendMessage may throw errors if passed an invalid contact
returns Message object if sent successfully
add replyMessageId to quote message
Implementation
Future<Message?> sendTextMessage({
required String phone,
required String message,
String? templateTitle,
String? templateFooter,
bool useTemplate = false,
List<MessageButtons>? buttons,
MessageId? replyMessageId,
}) async {
String? replyText = replyMessageId?.serialized;
String? buttonsText = buttons != null
? jsonEncode(buttons.map((e) => e.toJson()).toList())
: null;
var result = await wpClient.evaluateJs(
'''window.WPP.chat.sendTextMessage(${phone.phoneParse}, ${message.jsParse}, {
quotedMsg: ${replyText.jsParse},
useTemplateButtons: ${useTemplate.jsParse},
buttons:$buttonsText,
title: ${templateTitle.jsParse},
footer: ${templateFooter.jsParse}
});''',
methodName: "sendTextMessage");
return Message.parse(result).firstOrNull;
}