inputMessageContentInlineQueryTgToTdlib static method

Map? inputMessageContentInlineQueryTgToTdlib({
  1. required Map inputMessageContent,
  2. required TelegramClient tg,
})

Implementation

static Map? inputMessageContentInlineQueryTgToTdlib({
  required Map inputMessageContent,
  required TelegramClient tg,
}) {
  if (inputMessageContent.containsKey("message_text")) {
    Map new_scheme = {
      "@type": "inputMessageText",
    };

    inputMessageContent.forEach((key, value) {
      if (["@type"].contains(key)) {
        return;
      }
      if (value is Map || value is List) {
      } else {
        new_scheme[key] = value;
      }
    });

    Map formatted_text = {
      "@type": "formattedText",
      "text": inputMessageContent["message_text"],
    };

    String parse_mode = () {
      if (inputMessageContent["parse_mode"] is String) {
        return inputMessageContent["parse_mode"];
      }
      return "";
    }();
    if (parse_mode == "html") {
      formatted_text = tg.tdlib.td_execute(
        {
          "@type": 'parseTextEntities',
          "parse_mode": {
            "@type": "textParseModeHTML",
          },
          "text": formatted_text["text"],
        },
      );
    } else if (parse_mode == "markdown") {
      formatted_text = tg.tdlib.td_execute(
        {
          "@type": 'parseTextEntities',
          "parse_mode": {
            "@type": "textParseModeMarkdown",
          },
          "text": formatted_text["text"],
        },
      );
    }
    new_scheme["text"] = formatted_text;
    return new_scheme;
  } else {}
  return null;
}