sendTPMessage static method

Future<TPMessage?> sendTPMessage(
  1. TPMessageSendParams params, {
  2. dynamic errorCallback(
    1. int? errorCode,
    2. String? errorMessage
    )?,
})

Implementation

static Future<TPMessage?> sendTPMessage(
    TPMessageSendParams params,
    {
      Function(int? errorCode, String? errorMessage)? errorCallback
    }) async
{
  var messageType = "";
  switch(params.messageType){
    case TPMessageType.TPMessageText: messageType = "text"; break;
    case TPMessageType.TPMessageHidden: messageType = "hidden"; break;
    case TPMessageType.TPMessageCustom: messageType = "custom"; break;
  }

  if(params.contentType == TPMessageContentType.TPMessageContentText) {
    if(params.textMessage?.isEmpty ?? true) {
      if(errorCallback != null) { errorCallback(-1, "textMessage is empty"); }
      return null;
    }

    return await sendMessage(params.channel,
        params.textMessage ?? "",
        messageType,
        params.mentionUserIDs ?? [],
        params.parentMessageId ?? "",
        params.metaData,
        fileUrl: params.fileUrl ?? "",
        translationLanguages: params.translationLanguages,
        errorCallback: errorCallback);
  }

  if(params.file == null) {
    if(errorCallback != null) { errorCallback(-1, "file is null"); }
    return null;
  }

  return await sendFileMessage(params.channel,
      params.textMessage ?? "",
      messageType,
      params.file ??  File(""),
      params.mentionUserIDs ?? [],
      params.parentMessageId ?? "",
      params.metaData,
      translationLanguages: params.translationLanguages,
      errorCallback: errorCallback);
}