-module(telega@models@reply). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([encode_reply_parameters/1]). -export_type([reply_parameters/0, reply_markup/0]). -type reply_parameters() :: {reply_parameters, integer(), gleam@option:option(telega@models@common:int_or_string()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(telega@models@message_entity:message_entity())), gleam@option:option(integer())}. -type reply_markup() :: {inline_keyboard_markup, list(list(telega@models@keyboard:inline_keyboard_button()))} | {reply_keyboard_markup, list(list(telega@models@keyboard:keyboard())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(boolean())} | {reply_keyboard_remove, boolean(), gleam@option:option(boolean())}. -spec encode_reply_parameters(reply_parameters()) -> gleam@json:json(). encode_reply_parameters(Reply_parameters) -> Message_id = [{<<"message_id"/utf8>>, gleam@json:int(erlang:element(2, Reply_parameters))}], Chat_id = telega@models@common:option_to_json_object_list( erlang:element(3, Reply_parameters), <<"chat_id"/utf8>>, fun telega@models@common:string_or_int_to_json/1 ), Allow_sending_without_reply = telega@models@common:option_to_json_object_list( erlang:element(4, Reply_parameters), <<"allow_sending_without_reply"/utf8>>, fun gleam@json:bool/1 ), Quote = telega@models@common:option_to_json_object_list( erlang:element(5, Reply_parameters), <<"quote"/utf8>>, fun gleam@json:string/1 ), Quote_parse_mode = telega@models@common:option_to_json_object_list( erlang:element(6, Reply_parameters), <<"quote_parse_mode"/utf8>>, fun gleam@json:string/1 ), Quote_entities = telega@models@common:option_to_json_object_list( erlang:element(7, Reply_parameters), <<"quote_entities"/utf8>>, fun(_capture) -> gleam@json:array( _capture, fun telega@models@message_entity:encode/1 ) end ), Quote_position = telega@models@common:option_to_json_object_list( erlang:element(8, Reply_parameters), <<"quote_position"/utf8>>, fun gleam@json:int/1 ), _pipe = [Message_id, Chat_id, Allow_sending_without_reply, Quote, Quote_parse_mode, Quote_entities, Quote_position], _pipe@1 = gleam@list:concat(_pipe), gleam@json:object(_pipe@1).