inputMessageContentInlineQueryTgToTdlib static method

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

TelegramClientUncompleDocumentation

Implementation

static Map? inputMessageContentInlineQueryTgToTdlib({
  required Map inputMessageContent,
  required TelegramClient tg,
}) {
  if (inputMessageContent.containsKey("message_text")) {
    final Map new_scheme = <dynamic, dynamic>{"@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 = <dynamic, dynamic>{
      "@type": "formattedText",
      "text": inputMessageContent["message_text"],
    };

    final 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;
}