-module(telega@model@encoder). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/telega/model/encoder.gleam"). -export([encode_accepted_gift_types/1, encode_chat/1, encode_user/1, encode_affiliate_info/1, encode_photo_size/1, encode_animation/1, encode_audio/1, encode_background_fill_freeform_gradient/1, encode_background_fill_gradient/1, encode_background_fill_solid/1, encode_background_type_chat_theme/1, encode_background_fill/1, encode_background_type_fill/1, encode_document/1, encode_background_type_pattern/1, encode_background_type_wallpaper/1, encode_birthdate/1, encode_bot_access_settings/1, encode_bot_command/1, encode_bot_command_scope_all_chat_administrators/1, encode_bot_command_scope_all_group_chats/1, encode_bot_command_scope_all_private_chats/1, encode_int_or_string/1, encode_bot_command_scope_chat/1, encode_bot_command_scope_chat_administrators/1, encode_bot_command_scope_chat_member/1, encode_bot_command_scope_default/1, encode_bot_description/1, encode_bot_name/1, encode_bot_short_description/1, encode_bot_subscription_updated/1, encode_business_bot_rights/1, encode_business_connection/1, encode_mask_position/1, encode_file/1, encode_sticker/1, encode_business_intro/1, encode_location/1, encode_business_location/1, encode_business_messages_deleted/1, encode_business_opening_hours_interval/1, encode_business_opening_hours/1, encode_callback_game/1, encode_inaccessible_message/1, encode_copy_text_button/1, encode_switch_inline_query_chosen_chat/1, encode_login_url/1, encode_web_app_info/1, encode_inline_keyboard_button/1, encode_inline_keyboard_markup/1, encode_web_app_data/1, encode_video_chat_participants_invited/1, encode_video_chat_ended/1, encode_video_chat_started/1, encode_video_chat_scheduled/1, encode_star_amount/1, encode_suggested_post_price/1, encode_message_entity/1, encode_paid_message_price_changed/1, encode_managed_bot_created/1, encode_giveaway_winners/1, encode_giveaway/1, encode_giveaway_created/1, encode_general_forum_topic_unhidden/1, encode_general_forum_topic_hidden/1, encode_forum_topic_reopened/1, encode_forum_topic_closed/1, encode_forum_topic_edited/1, encode_forum_topic_created/1, encode_direct_message_price_changed/1, encode_community_chat_removed/1, encode_community/1, encode_community_chat_added/1, encode_checklist_task/1, encode_background_type/1, encode_chat_background/1, encode_chat_boost_added/1, encode_proximity_alert_triggered/1, encode_encrypted_credentials/1, encode_passport_file/1, encode_encrypted_passport_element/1, encode_passport_data/1, encode_write_access_allowed/1, encode_gift_background/1, encode_gift/1, encode_gift_info/1, encode_unique_gift_colors/1, encode_unique_gift_backdrop_colors/1, encode_unique_gift_backdrop/1, encode_unique_gift_symbol/1, encode_unique_gift_model/1, encode_unique_gift/1, encode_unique_gift_info/1, encode_chat_shared/1, encode_shared_user/1, encode_users_shared/1, encode_refunded_payment/1, encode_shipping_address/1, encode_order_info/1, encode_successful_payment/1, encode_invoice/1, encode_message_auto_delete_timer_changed/1, encode_chat_owner_changed/1, encode_chat_owner_left/1, encode_venue/1, encode_video_quality/1, encode_video/1, encode_live_photo/1, encode_link/1, encode_poll_media/1, encode_poll_option/1, encode_poll/1, encode_game/1, encode_dice/1, encode_contact/1, encode_checklist/1, encode_voice/1, encode_video_note/1, encode_story/1, encode_paid_media_video/1, encode_paid_media_preview/1, encode_paid_media_photo/1, encode_paid_media_live_photo/1, encode_paid_media/1, encode_paid_media_info/1, encode_rich_text_anchor/1, encode_rich_text_mathematical_expression/1, encode_rich_text_custom_emoji/1, encode_rich_text_reference_link/1, encode_rich_text_reference/1, encode_rich_text_anchor_link/1, encode_rich_text_bot_command/1, encode_rich_text_cashtag/1, encode_rich_text_hashtag/1, encode_rich_text_mention/1, encode_rich_text_bank_card_number/1, encode_rich_text_phone_number/1, encode_rich_text_email_address/1, encode_rich_text_url/1, encode_rich_text_code/1, encode_rich_text_marked/1, encode_rich_text_superscript/1, encode_rich_text_subscript/1, encode_rich_text_text_mention/1, encode_rich_text_date_time/1, encode_rich_text_spoiler/1, encode_rich_text_strikethrough/1, encode_rich_text_underline/1, encode_rich_text_italic/1, encode_rich_text_bold/1, encode_rich_text/1, encode_rich_block_thinking/1, encode_rich_block_caption/1, encode_rich_block_voice_note/1, encode_rich_block_video/1, encode_rich_block_photo/1, encode_rich_block_audio/1, encode_rich_block_animation/1, encode_rich_block_map/1, encode_rich_block_table_cell/1, encode_rich_block_table/1, encode_rich_block_pull_quotation/1, encode_rich_block_anchor/1, encode_rich_block_mathematical_expression/1, encode_rich_block_divider/1, encode_rich_block_footer/1, encode_rich_block_preformatted/1, encode_rich_block_section_heading/1, encode_rich_block_paragraph/1, encode_rich_block_details/1, encode_rich_block_slideshow/1, encode_rich_block_collage/1, encode_rich_block_block_quotation/1, encode_rich_block_list_item/1, encode_rich_block_list/1, encode_rich_block/1, encode_rich_message/1, encode_suggested_post_info/1, encode_link_preview_options/1, encode_text_quote/1, encode_message_origin_channel/1, encode_message_origin_chat/1, encode_message_origin_hidden_user/1, encode_message_origin_user/1, encode_message_origin/1, encode_external_reply_info/1, encode_direct_messages_topic/1, encode_suggested_post_refunded/1, encode_suggested_post_paid/1, encode_suggested_post_declined/1, encode_suggested_post_approval_failed/1, encode_suggested_post_approved/1, encode_poll_option_deleted/1, encode_poll_option_added/1, encode_giveaway_completed/1, encode_checklist_tasks_added/1, encode_checklist_tasks_done/1, encode_message/1, encode_maybe_inaccessible_message/1, encode_callback_query/1, encode_chat_administrator_rights/1, encode_chat_boost_source_giveaway/1, encode_chat_boost_source_gift_code/1, encode_chat_boost_source_premium/1, encode_chat_boost_source/1, encode_chat_boost/1, encode_chat_boost_removed/1, encode_chat_boost_updated/1, encode_user_rating/1, encode_chat_location/1, encode_chat_permissions/1, encode_reaction_type_paid/1, encode_reaction_type_custom_emoji/1, encode_reaction_type_emoji/1, encode_reaction_type/1, encode_chat_photo/1, encode_chat_full_info/1, encode_chat_invite_link/1, encode_chat_join_request/1, encode_chat_member_administrator/1, encode_chat_member_banned/1, encode_chat_member_left/1, encode_chat_member_member/1, encode_chat_member_owner/1, encode_chat_member_restricted/1, encode_chat_member/1, encode_chat_member_updated/1, encode_chosen_inline_result/1, encode_force_reply/1, encode_forum_topic/1, encode_game_high_score/1, encode_gifts/1, encode_inline_query/1, encode_labeled_price/1, encode_input_invoice_message_content/1, encode_input_contact_message_content/1, encode_input_venue_message_content/1, encode_input_location_message_content/1, encode_input_media_animation/1, encode_input_rich_message_media/1, encode_input_rich_block_thinking/1, encode_input_media_voice_note/1, encode_input_rich_block_voice_note/1, encode_input_media_video/1, encode_input_rich_block_video/1, encode_input_media_photo/1, encode_input_rich_block_photo/1, encode_input_media_audio/1, encode_input_rich_block_audio/1, encode_input_rich_block_animation/1, encode_input_rich_block_map/1, encode_input_rich_block_table/1, encode_input_rich_block_pull_quotation/1, encode_input_rich_block_anchor/1, encode_input_rich_block_mathematical_expression/1, encode_input_rich_block_divider/1, encode_input_rich_block_footer/1, encode_input_rich_block_preformatted/1, encode_input_rich_block_section_heading/1, encode_input_rich_block_paragraph/1, encode_input_rich_block_details/1, encode_input_rich_block_slideshow/1, encode_input_rich_block_collage/1, encode_input_rich_block_block_quotation/1, encode_input_rich_block_list_item/1, encode_input_rich_block_list/1, encode_input_rich_block/1, encode_input_rich_message/1, encode_input_rich_message_content/1, encode_input_text_message_content/1, encode_input_message_content/1, encode_inline_query_result_article/1, encode_inline_query_result_audio/1, encode_inline_query_result_cached_audio/1, encode_inline_query_result_cached_document/1, encode_inline_query_result_cached_gif/1, encode_inline_query_result_cached_mpeg4_gif/1, encode_inline_query_result_cached_photo/1, encode_inline_query_result_cached_sticker/1, encode_inline_query_result_cached_video/1, encode_inline_query_result_cached_voice/1, encode_inline_query_result_contact/1, encode_inline_query_result_document/1, encode_inline_query_result_game/1, encode_inline_query_result_gif/1, encode_inline_query_result_location/1, encode_inline_query_result_mpeg4_gif/1, encode_inline_query_result_photo/1, encode_inline_query_result_venue/1, encode_inline_query_result_video/1, encode_inline_query_result_voice/1, encode_inline_query_results_button/1, encode_input_checklist_task/1, encode_input_checklist/1, encode_input_media_document/1, encode_input_media_link/1, encode_input_media_live_photo/1, encode_input_media_location/1, encode_input_media_sticker/1, encode_input_media_venue/1, encode_input_paid_media_live_photo/1, encode_input_paid_media_photo/1, encode_input_paid_media_video/1, encode_input_poll_option_media/1, encode_input_poll_option/1, encode_input_profile_photo_animated/1, encode_input_profile_photo_static/1, encode_input_sticker/1, encode_input_story_content_photo/1, encode_input_story_content_video/1, encode_keyboard_button_poll_type/1, encode_keyboard_button_request_managed_bot/1, encode_keyboard_button_request_chat/1, encode_keyboard_button_request_users/1, encode_keyboard_button/1, encode_location_address/1, encode_managed_bot_updated/1, encode_menu_button_commands/1, encode_menu_button_default/1, encode_menu_button_web_app/1, encode_message_id/1, encode_reaction_count/1, encode_message_reaction_count_updated/1, encode_message_reaction_updated/1, encode_owned_gift_regular/1, encode_owned_gift_unique/1, encode_owned_gift/1, encode_owned_gifts/1, encode_paid_media_purchased/1, encode_passport_element_error_data_field/1, encode_passport_element_error_file/1, encode_passport_element_error_files/1, encode_passport_element_error_front_side/1, encode_passport_element_error_reverse_side/1, encode_passport_element_error_selfie/1, encode_passport_element_error_translation_file/1, encode_passport_element_error_translation_files/1, encode_passport_element_error_unspecified/1, encode_poll_answer/1, encode_pre_checkout_query/1, encode_prepared_inline_message/1, encode_prepared_keyboard_button/1, encode_reply_keyboard_markup/1, encode_reply_keyboard_remove/1, encode_reply_parameters/1, encode_response_parameters/1, encode_revenue_withdrawal_state_failed/1, encode_revenue_withdrawal_state_pending/1, encode_revenue_withdrawal_state_succeeded/1, encode_sent_guest_message/1, encode_sent_web_app_message/1, encode_shipping_option/1, encode_shipping_query/1, encode_transaction_partner_other/1, encode_transaction_partner_telegram_api/1, encode_transaction_partner_telegram_ads/1, encode_revenue_withdrawal_state/1, encode_transaction_partner_fragment/1, encode_transaction_partner_affiliate_program/1, encode_transaction_partner_chat/1, encode_transaction_partner_user/1, encode_transaction_partner/1, encode_star_transaction/1, encode_star_transactions/1, encode_sticker_set/1, encode_story_area_type_unique_gift/1, encode_story_area_type_weather/1, encode_story_area_type_link/1, encode_story_area_type_suggested_reaction/1, encode_story_area_type_location/1, encode_story_area_type/1, encode_story_area_position/1, encode_story_area/1, encode_suggested_post_parameters/1, encode_update/1, encode_user_chat_boosts/1, encode_user_profile_audios/1, encode_user_profile_photos/1, encode_webhook_info/1, encode_bot_command_scope/1, encode_inline_query_result/1, encode_input_paid_media/1, encode_input_poll_media/1, encode_input_profile_photo/1, encode_input_story_content/1, encode_menu_button/1, encode_passport_element_error/1, encode_input_media/1, encode_file_or_string/1, encode_answer_callback_query_parameters/1, bot_command_scope_to_json/1, encode_bot_command_parameters/1, bot_commands_from/1, encode_edit_message_text_parameters/1, encode_forward_message_parameters/1, encode_forward_messages_parameters/1, encode_send_dice_parameters/1, encode_send_message_reply_markup_parameters/1, encode_send_message_parameters/1, encode_set_chat_menu_button_parameters/1, encode_set_webhook_parameters/1, encode_get_updates_parameters/1, encode_get_updates_parameters_as_query/1, encode_copy_message_parameters/1, encode_copy_messages_parameters/1, encode_send_photo_parameters/1, encode_send_audio_parameters/1, encode_send_document_parameters/1, encode_send_video_parameters/1, encode_send_animation_parameters/1, encode_send_voice_parameters/1, encode_send_video_note_parameters/1, encode_send_media_group_parameters/1, encode_send_location_parameters/1, encode_send_venue_parameters/1, encode_send_contact_parameters/1, encode_send_poll_parameters/1, encode_send_chat_action_parameters/1, encode_send_invoice_parameters/1, encode_create_invoice_link_parameters/1, encode_send_sticker_parameters/1, encode_get_sticker_set_parameters/1, encode_set_message_reaction_parameters/1, encode_get_user_profile_photos_parameters/1, encode_get_user_profile_audios_parameters/1, encode_set_my_profile_photo_parameters/1, encode_edit_message_caption_parameters/1, encode_edit_message_media_parameters/1, encode_edit_message_live_location_parameters/1, encode_stop_message_live_location_parameters/1, encode_edit_message_reply_markup_parameters/1, encode_stop_poll_parameters/1, encode_delete_message_parameters/1, encode_delete_messages_parameters/1, encode_ban_chat_member_parameters/1, encode_unban_chat_member_parameters/1, encode_restrict_chat_member_parameters/1, encode_promote_chat_member_parameters/1, encode_set_chat_administrator_custom_title_parameters/1, encode_ban_chat_sender_chat_parameters/1, encode_unban_chat_sender_chat_parameters/1, encode_set_chat_permissions_parameters/1, encode_export_chat_invite_link_parameters/1, encode_create_chat_invite_link_parameters/1, encode_edit_chat_invite_link_parameters/1, encode_create_chat_subscription_invite_link_parameters/1, encode_edit_chat_subscription_invite_link_parameters/1, encode_revoke_chat_invite_link_parameters/1, encode_approve_chat_join_request_parameters/1, encode_decline_chat_join_request_parameters/1, encode_set_chat_photo_parameters/1, encode_delete_chat_photo_parameters/1, encode_set_chat_title_parameters/1, encode_set_chat_description_parameters/1, encode_pin_chat_message_parameters/1, encode_unpin_chat_message_parameters/1, encode_unpin_all_chat_messages_parameters/1, encode_leave_chat_parameters/1, encode_get_chat_administrators_parameters/1, encode_get_chat_member_count_parameters/1, encode_get_chat_member_parameters/1, encode_set_chat_sticker_set_parameters/1, encode_delete_chat_sticker_set_parameters/1, encode_create_forum_topic_parameters/1, encode_edit_forum_topic_parameters/1, encode_close_forum_topic_parameters/1, encode_reopen_forum_topic_parameters/1, encode_delete_forum_topic_parameters/1, encode_unpin_all_forum_topic_messages_parameters/1, encode_unpin_all_general_forum_topic_pinned_messages_parameters/1, encode_edit_general_forum_topic_parameters/1, encode_close_general_forum_topic_parameters/1, encode_reopen_general_forum_topic_parameters/1, encode_hide_general_forum_topic_parameters/1, encode_unhide_general_forum_topic_parameters/1, encode_unpin_all_general_forum_topic_messages_parameters/1, encode_get_user_chat_boosts_parameters/1, encode_get_business_connection_parameters/1, encode_set_my_name_parameters/1, encode_get_my_name_parameters/1, encode_set_my_description_parameters/1, encode_get_my_description_parameters/1, encode_set_my_short_description_parameters/1, encode_get_my_short_description_parameters/1, encode_get_chat_menu_button_parameters/1, encode_set_my_default_administrator_rights_parameters/1, encode_get_my_default_administrator_rights_parameters/1, encode_send_gift_parameters/1, encode_gift_premium_subscription_parameters/1, encode_send_message_draft_parameters/1, encode_get_user_gifts_parameters/1, encode_get_chat_gifts_parameters/1, encode_repost_story_parameters/1, encode_verify_user_parameters/1, encode_verify_chat_parameters/1, encode_remove_user_verification_parameters/1, encode_remove_chat_verification_parameters/1, encode_get_custom_emoji_stickers_parameters/1, encode_upload_sticker_file_parameters/1, encode_create_new_sticker_set_parameters/1, encode_add_sticker_to_set_parameters/1, encode_set_sticker_position_in_set_parameters/1, encode_delete_sticker_from_set_parameters/1, encode_replace_sticker_in_set_parameters/1, encode_set_sticker_emoji_list_parameters/1, encode_set_sticker_keywords_parameters/1, encode_set_sticker_mask_position_parameters/1, encode_set_sticker_set_title_parameters/1, encode_set_sticker_set_thumbnail_parameters/1, encode_set_custom_emoji_sticker_set_thumbnail_parameters/1, encode_delete_sticker_set_parameters/1, encode_answer_inline_query_parameters/1, encode_answer_shipping_query_parameters/1, encode_answer_pre_checkout_query_parameters/1, encode_get_star_transactions_parameters/1, encode_refund_star_payment_parameters/1, encode_edit_user_star_subscription_parameters/1, encode_send_game_parameters/1, encode_set_game_score_parameters/1, encode_get_game_high_scores_parameters/1, encode_read_business_message_parameters/1, encode_delete_business_messages_parameters/1, encode_set_business_account_name_parameters/1, encode_set_business_account_username_parameters/1, encode_set_business_account_bio_parameters/1, encode_set_business_account_profile_photo_parameters/1, encode_remove_business_account_profile_photo_parameters/1, encode_set_business_account_gift_settings_parameters/1, encode_get_business_account_star_balance_parameters/1, encode_transfer_business_account_stars_parameters/1, encode_get_business_account_gifts_parameters/1, encode_convert_gift_to_stars_parameters/1, encode_upgrade_gift_parameters/1, encode_transfer_gift_parameters/1, encode_post_story_parameters/1, encode_edit_story_parameters/1, encode_delete_story_parameters/1, encode_answer_guest_query_parameters/1, encode_delete_message_reaction_parameters/1, encode_delete_all_message_reactions_parameters/1, encode_send_live_photo_parameters/1, encode_get_managed_bot_access_settings_parameters/1, encode_set_managed_bot_access_settings_parameters/1, encode_get_user_personal_chat_messages_parameters/1, encode_send_paid_media_parameters/1, encode_send_rich_message_parameters/1, encode_send_rich_message_draft_parameters/1, encode_delete_ephemeral_message_parameters/1, encode_edit_ephemeral_message_text_parameters/1, encode_edit_ephemeral_message_caption_parameters/1, encode_edit_ephemeral_message_media_parameters/1, encode_edit_ephemeral_message_reply_markup_parameters/1, encode_answer_chat_join_request_query_parameters/1, encode_send_chat_join_request_web_app_parameters/1]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(" This module contains all encoders for types [Telegram Bot API](https://core.telegram.org/bots/api).\n"). -file("src/telega/model/encoder.gleam", 374). -spec encode_accepted_gift_types(telega@model@types:accepted_gift_types()) -> gleam@json:json(). encode_accepted_gift_types(Accepted_gift_types) -> telega@internal@utils:json_object_filter_nulls( [{<<"unlimited_gifts"/utf8>>, gleam@json:bool(erlang:element(2, Accepted_gift_types))}, {<<"limited_gifts"/utf8>>, gleam@json:bool(erlang:element(3, Accepted_gift_types))}, {<<"unique_gifts"/utf8>>, gleam@json:bool(erlang:element(4, Accepted_gift_types))}, {<<"premium_subscription"/utf8>>, gleam@json:bool(erlang:element(5, Accepted_gift_types))}, {<<"gifts_from_channels"/utf8>>, gleam@json:bool(erlang:element(6, Accepted_gift_types))}] ). -file("src/telega/model/encoder.gleam", 812). -spec encode_chat(telega@model@types:chat()) -> gleam@json:json(). encode_chat(Chat) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:int(erlang:element(2, Chat))}, {<<"type"/utf8>>, gleam@json:string(erlang:element(3, Chat))}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(4, Chat), fun gleam@json:string/1 )}, {<<"username"/utf8>>, gleam@json:nullable( erlang:element(5, Chat), fun gleam@json:string/1 )}, {<<"first_name"/utf8>>, gleam@json:nullable( erlang:element(6, Chat), fun gleam@json:string/1 )}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(7, Chat), fun gleam@json:string/1 )}, {<<"is_forum"/utf8>>, gleam@json:nullable( erlang:element(8, Chat), fun gleam@json:bool/1 )}, {<<"is_direct_messages"/utf8>>, gleam@json:nullable( erlang:element(9, Chat), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 6772). -spec encode_user(telega@model@types:user()) -> gleam@json:json(). encode_user(User) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:int(erlang:element(2, User))}, {<<"is_bot"/utf8>>, gleam@json:bool(erlang:element(3, User))}, {<<"first_name"/utf8>>, gleam@json:string(erlang:element(4, User))}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(5, User), fun gleam@json:string/1 )}, {<<"username"/utf8>>, gleam@json:nullable( erlang:element(6, User), fun gleam@json:string/1 )}, {<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(7, User), fun gleam@json:string/1 )}, {<<"is_premium"/utf8>>, gleam@json:nullable( erlang:element(8, User), fun gleam@json:bool/1 )}, {<<"added_to_attachment_menu"/utf8>>, gleam@json:nullable( erlang:element(9, User), fun gleam@json:bool/1 )}, {<<"can_join_groups"/utf8>>, gleam@json:nullable( erlang:element(10, User), fun gleam@json:bool/1 )}, {<<"can_read_all_group_messages"/utf8>>, gleam@json:nullable( erlang:element(11, User), fun gleam@json:bool/1 )}, {<<"supports_guest_queries"/utf8>>, gleam@json:nullable( erlang:element(12, User), fun gleam@json:bool/1 )}, {<<"supports_inline_queries"/utf8>>, gleam@json:nullable( erlang:element(13, User), fun gleam@json:bool/1 )}, {<<"can_connect_to_business"/utf8>>, gleam@json:nullable( erlang:element(14, User), fun gleam@json:bool/1 )}, {<<"has_main_web_app"/utf8>>, gleam@json:nullable( erlang:element(15, User), fun gleam@json:bool/1 )}, {<<"has_topics_enabled"/utf8>>, gleam@json:nullable( erlang:element(16, User), fun gleam@json:bool/1 )}, {<<"allows_users_to_create_topics"/utf8>>, gleam@json:nullable( erlang:element(17, User), fun gleam@json:bool/1 )}, {<<"can_manage_bots"/utf8>>, gleam@json:nullable( erlang:element(18, User), fun gleam@json:bool/1 )}, {<<"supports_join_request_queries"/utf8>>, gleam@json:nullable( erlang:element(19, User), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 389). -spec encode_affiliate_info(telega@model@types:affiliate_info()) -> gleam@json:json(). encode_affiliate_info(Affiliate_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"affiliate_user"/utf8>>, gleam@json:nullable( erlang:element(2, Affiliate_info), fun encode_user/1 )}, {<<"affiliate_chat"/utf8>>, gleam@json:nullable( erlang:element(3, Affiliate_info), fun encode_chat/1 )}, {<<"commission_per_mille"/utf8>>, gleam@json:int(erlang:element(4, Affiliate_info))}, {<<"amount"/utf8>>, gleam@json:int(erlang:element(5, Affiliate_info))}, {<<"nanostar_amount"/utf8>>, gleam@json:nullable( erlang:element(6, Affiliate_info), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 5157). -spec encode_photo_size(telega@model@types:photo_size()) -> gleam@json:json(). encode_photo_size(Photo_size) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Photo_size))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Photo_size))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(4, Photo_size))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(5, Photo_size))}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(6, Photo_size), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 408). -spec encode_animation(telega@model@types:animation()) -> gleam@json:json(). encode_animation(Animation) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Animation))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Animation))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(4, Animation))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(5, Animation))}, {<<"duration"/utf8>>, gleam@json:int(erlang:element(6, Animation))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(7, Animation), fun encode_photo_size/1 )}, {<<"file_name"/utf8>>, gleam@json:nullable( erlang:element(8, Animation), fun gleam@json:string/1 )}, {<<"mime_type"/utf8>>, gleam@json:nullable( erlang:element(9, Animation), fun gleam@json:string/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(10, Animation), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 422). -spec encode_audio(telega@model@types:audio()) -> gleam@json:json(). encode_audio(Audio) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Audio))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Audio))}, {<<"duration"/utf8>>, gleam@json:int(erlang:element(4, Audio))}, {<<"performer"/utf8>>, gleam@json:nullable( erlang:element(5, Audio), fun gleam@json:string/1 )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(6, Audio), fun gleam@json:string/1 )}, {<<"file_name"/utf8>>, gleam@json:nullable( erlang:element(7, Audio), fun gleam@json:string/1 )}, {<<"mime_type"/utf8>>, gleam@json:nullable( erlang:element(8, Audio), fun gleam@json:string/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(9, Audio), fun gleam@json:int/1 )}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(10, Audio), fun encode_photo_size/1 )}] ). -file("src/telega/model/encoder.gleam", 436). -spec encode_background_fill_freeform_gradient( telega@model@types:background_fill_freeform_gradient() ) -> gleam@json:json(). encode_background_fill_freeform_gradient(Background_fill_freeform_gradient) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Background_fill_freeform_gradient) )}, {<<"colors"/utf8>>, gleam@json:array( erlang:element(3, Background_fill_freeform_gradient), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 448). -spec encode_background_fill_gradient( telega@model@types:background_fill_gradient() ) -> gleam@json:json(). encode_background_fill_gradient(Background_fill_gradient) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Background_fill_gradient))}, {<<"top_color"/utf8>>, gleam@json:int(erlang:element(3, Background_fill_gradient))}, {<<"bottom_color"/utf8>>, gleam@json:int(erlang:element(4, Background_fill_gradient))}, {<<"rotation_angle"/utf8>>, gleam@json:int(erlang:element(5, Background_fill_gradient))}] ). -file("src/telega/model/encoder.gleam", 459). -spec encode_background_fill_solid(telega@model@types:background_fill_solid()) -> gleam@json:json(). encode_background_fill_solid(Background_fill_solid) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Background_fill_solid))}, {<<"color"/utf8>>, gleam@json:int(erlang:element(3, Background_fill_solid))}] ). -file("src/telega/model/encoder.gleam", 468). -spec encode_background_type_chat_theme( telega@model@types:background_type_chat_theme() ) -> gleam@json:json(). encode_background_type_chat_theme(Background_type_chat_theme) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Background_type_chat_theme))}, {<<"theme_name"/utf8>>, gleam@json:string(erlang:element(3, Background_type_chat_theme))}] ). -file("src/telega/model/encoder.gleam", 7014). -spec encode_background_fill(telega@model@types:background_fill()) -> gleam@json:json(). encode_background_fill(Value) -> case Value of {background_fill_solid_background_fill, Inner_value} -> encode_background_fill_solid(Inner_value); {background_fill_gradient_background_fill, Inner_value@1} -> encode_background_fill_gradient(Inner_value@1); {background_fill_freeform_gradient_background_fill, Inner_value@2} -> encode_background_fill_freeform_gradient(Inner_value@2) end. -file("src/telega/model/encoder.gleam", 477). -spec encode_background_type_fill(telega@model@types:background_type_fill()) -> gleam@json:json(). encode_background_type_fill(Background_type_fill) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Background_type_fill))}, {<<"fill"/utf8>>, encode_background_fill(erlang:element(3, Background_type_fill))}, {<<"dark_theme_dimming"/utf8>>, gleam@json:int(erlang:element(4, Background_type_fill))}] ). -file("src/telega/model/encoder.gleam", 1630). -spec encode_document(telega@model@types:document()) -> gleam@json:json(). encode_document(Document) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Document))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Document))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(4, Document), fun encode_photo_size/1 )}, {<<"file_name"/utf8>>, gleam@json:nullable( erlang:element(5, Document), fun gleam@json:string/1 )}, {<<"mime_type"/utf8>>, gleam@json:nullable( erlang:element(6, Document), fun gleam@json:string/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(7, Document), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 487). -spec encode_background_type_pattern( telega@model@types:background_type_pattern() ) -> gleam@json:json(). encode_background_type_pattern(Background_type_pattern) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Background_type_pattern))}, {<<"document"/utf8>>, encode_document(erlang:element(3, Background_type_pattern))}, {<<"fill"/utf8>>, encode_background_fill( erlang:element(4, Background_type_pattern) )}, {<<"intensity"/utf8>>, gleam@json:int(erlang:element(5, Background_type_pattern))}, {<<"is_inverted"/utf8>>, gleam@json:nullable( erlang:element(6, Background_type_pattern), fun gleam@json:bool/1 )}, {<<"is_moving"/utf8>>, gleam@json:nullable( erlang:element(7, Background_type_pattern), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 503). -spec encode_background_type_wallpaper( telega@model@types:background_type_wallpaper() ) -> gleam@json:json(). encode_background_type_wallpaper(Background_type_wallpaper) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Background_type_wallpaper))}, {<<"document"/utf8>>, encode_document(erlang:element(3, Background_type_wallpaper))}, {<<"dark_theme_dimming"/utf8>>, gleam@json:int(erlang:element(4, Background_type_wallpaper))}, {<<"is_blurred"/utf8>>, gleam@json:nullable( erlang:element(5, Background_type_wallpaper), fun gleam@json:bool/1 )}, {<<"is_moving"/utf8>>, gleam@json:nullable( erlang:element(6, Background_type_wallpaper), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 524). -spec encode_birthdate(telega@model@types:birthdate()) -> gleam@json:json(). encode_birthdate(Birthdate) -> telega@internal@utils:json_object_filter_nulls( [{<<"day"/utf8>>, gleam@json:int(erlang:element(2, Birthdate))}, {<<"month"/utf8>>, gleam@json:int(erlang:element(3, Birthdate))}, {<<"year"/utf8>>, gleam@json:nullable( erlang:element(4, Birthdate), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 532). -spec encode_bot_access_settings(telega@model@types:bot_access_settings()) -> gleam@json:json(). encode_bot_access_settings(Bot_access_settings) -> telega@internal@utils:json_object_filter_nulls( [{<<"is_access_restricted"/utf8>>, gleam@json:bool(erlang:element(2, Bot_access_settings))}, {<<"added_users"/utf8>>, gleam@json:nullable( erlang:element(3, Bot_access_settings), fun(_capture) -> gleam@json:array(_capture, fun encode_user/1) end )}] ). -file("src/telega/model/encoder.gleam", 547). -spec encode_bot_command(telega@model@types:bot_command()) -> gleam@json:json(). encode_bot_command(Bot_command) -> telega@internal@utils:json_object_filter_nulls( [{<<"command"/utf8>>, gleam@json:string(erlang:element(2, Bot_command))}, {<<"description"/utf8>>, gleam@json:string(erlang:element(3, Bot_command))}, {<<"is_ephemeral"/utf8>>, gleam@json:nullable( erlang:element(4, Bot_command), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 555). -spec encode_bot_command_scope_all_chat_administrators( telega@model@types:bot_command_scope_all_chat_administrators() ) -> gleam@json:json(). encode_bot_command_scope_all_chat_administrators( Bot_command_scope_all_chat_administrators ) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Bot_command_scope_all_chat_administrators) )}] ). -file("src/telega/model/encoder.gleam", 563). -spec encode_bot_command_scope_all_group_chats( telega@model@types:bot_command_scope_all_group_chats() ) -> gleam@json:json(). encode_bot_command_scope_all_group_chats(Bot_command_scope_all_group_chats) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Bot_command_scope_all_group_chats) )}] ). -file("src/telega/model/encoder.gleam", 571). -spec encode_bot_command_scope_all_private_chats( telega@model@types:bot_command_scope_all_private_chats() ) -> gleam@json:json(). encode_bot_command_scope_all_private_chats(Bot_command_scope_all_private_chats) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Bot_command_scope_all_private_chats) )}] ). -file("src/telega/model/encoder.gleam", 7525). -spec encode_int_or_string(telega@model@types:int_or_string()) -> gleam@json:json(). encode_int_or_string(Value) -> case Value of {int, Value@1} -> gleam@json:int(Value@1); {str, Value@2} -> gleam@json:string(Value@2) end. -file("src/telega/model/encoder.gleam", 579). -spec encode_bot_command_scope_chat(telega@model@types:bot_command_scope_chat()) -> gleam@json:json(). encode_bot_command_scope_chat(Bot_command_scope_chat) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Bot_command_scope_chat))}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Bot_command_scope_chat))}] ). -file("src/telega/model/encoder.gleam", 588). -spec encode_bot_command_scope_chat_administrators( telega@model@types:bot_command_scope_chat_administrators() ) -> gleam@json:json(). encode_bot_command_scope_chat_administrators( Bot_command_scope_chat_administrators ) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Bot_command_scope_chat_administrators) )}, {<<"chat_id"/utf8>>, encode_int_or_string( erlang:element(3, Bot_command_scope_chat_administrators) )}] ). -file("src/telega/model/encoder.gleam", 600). -spec encode_bot_command_scope_chat_member( telega@model@types:bot_command_scope_chat_member() ) -> gleam@json:json(). encode_bot_command_scope_chat_member(Bot_command_scope_chat_member) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Bot_command_scope_chat_member) )}, {<<"chat_id"/utf8>>, encode_int_or_string( erlang:element(3, Bot_command_scope_chat_member) )}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(4, Bot_command_scope_chat_member))}] ). -file("src/telega/model/encoder.gleam", 610). -spec encode_bot_command_scope_default( telega@model@types:bot_command_scope_default() ) -> gleam@json:json(). encode_bot_command_scope_default(Bot_command_scope_default) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Bot_command_scope_default))}] ). -file("src/telega/model/encoder.gleam", 618). -spec encode_bot_description(telega@model@types:bot_description()) -> gleam@json:json(). encode_bot_description(Bot_description) -> telega@internal@utils:json_object_filter_nulls( [{<<"description"/utf8>>, gleam@json:string(erlang:element(2, Bot_description))}] ). -file("src/telega/model/encoder.gleam", 624). -spec encode_bot_name(telega@model@types:bot_name()) -> gleam@json:json(). encode_bot_name(Bot_name) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Bot_name))}] ). -file("src/telega/model/encoder.gleam", 630). -spec encode_bot_short_description(telega@model@types:bot_short_description()) -> gleam@json:json(). encode_bot_short_description(Bot_short_description) -> telega@internal@utils:json_object_filter_nulls( [{<<"short_description"/utf8>>, gleam@json:string(erlang:element(2, Bot_short_description))}] ). -file("src/telega/model/encoder.gleam", 638). -spec encode_bot_subscription_updated( telega@model@types:bot_subscription_updated() ) -> gleam@json:json(). encode_bot_subscription_updated(Bot_subscription_updated) -> telega@internal@utils:json_object_filter_nulls( [{<<"user"/utf8>>, encode_user(erlang:element(2, Bot_subscription_updated))}, {<<"invoice_payload"/utf8>>, gleam@json:string(erlang:element(3, Bot_subscription_updated))}, {<<"state"/utf8>>, gleam@json:string(erlang:element(4, Bot_subscription_updated))}] ). -file("src/telega/model/encoder.gleam", 648). -spec encode_business_bot_rights(telega@model@types:business_bot_rights()) -> gleam@json:json(). encode_business_bot_rights(Business_bot_rights) -> telega@internal@utils:json_object_filter_nulls( [{<<"can_reply"/utf8>>, gleam@json:nullable( erlang:element(2, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_read_messages"/utf8>>, gleam@json:nullable( erlang:element(3, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_delete_sent_messages"/utf8>>, gleam@json:nullable( erlang:element(4, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_delete_all_messages"/utf8>>, gleam@json:nullable( erlang:element(5, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_edit_name"/utf8>>, gleam@json:nullable( erlang:element(6, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_edit_bio"/utf8>>, gleam@json:nullable( erlang:element(7, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_edit_profile_photo"/utf8>>, gleam@json:nullable( erlang:element(8, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_edit_username"/utf8>>, gleam@json:nullable( erlang:element(9, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_change_gift_settings"/utf8>>, gleam@json:nullable( erlang:element(10, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_view_gifts_and_stars"/utf8>>, gleam@json:nullable( erlang:element(11, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_convert_gifts_to_stars"/utf8>>, gleam@json:nullable( erlang:element(12, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_transfer_and_upgrade_gifts"/utf8>>, gleam@json:nullable( erlang:element(13, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_transfer_stars"/utf8>>, gleam@json:nullable( erlang:element(14, Business_bot_rights), fun gleam@json:bool/1 )}, {<<"can_manage_stories"/utf8>>, gleam@json:nullable( erlang:element(15, Business_bot_rights), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 711). -spec encode_business_connection(telega@model@types:business_connection()) -> gleam@json:json(). encode_business_connection(Business_connection) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Business_connection))}, {<<"user"/utf8>>, encode_user(erlang:element(3, Business_connection))}, {<<"user_chat_id"/utf8>>, gleam@json:int(erlang:element(4, Business_connection))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(5, Business_connection))}, {<<"rights"/utf8>>, gleam@json:nullable( erlang:element(6, Business_connection), fun encode_business_bot_rights/1 )}, {<<"is_enabled"/utf8>>, gleam@json:bool(erlang:element(7, Business_connection))}] ). -file("src/telega/model/encoder.gleam", 4345). -spec encode_mask_position(telega@model@types:mask_position()) -> gleam@json:json(). encode_mask_position(Mask_position) -> telega@internal@utils:json_object_filter_nulls( [{<<"point"/utf8>>, gleam@json:string(erlang:element(2, Mask_position))}, {<<"x_shift"/utf8>>, gleam@json:float(erlang:element(3, Mask_position))}, {<<"y_shift"/utf8>>, gleam@json:float(erlang:element(4, Mask_position))}, {<<"scale"/utf8>>, gleam@json:float(erlang:element(5, Mask_position))}] ). -file("src/telega/model/encoder.gleam", 1761). -spec encode_file(telega@model@types:file()) -> gleam@json:json(). encode_file(File) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, File))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, File))}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(4, File), fun gleam@json:int/1 )}, {<<"file_path"/utf8>>, gleam@json:nullable( erlang:element(5, File), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 6123). -spec encode_sticker(telega@model@types:sticker()) -> gleam@json:json(). encode_sticker(Sticker) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Sticker))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Sticker))}, {<<"type"/utf8>>, gleam@json:string(erlang:element(4, Sticker))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(5, Sticker))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(6, Sticker))}, {<<"is_animated"/utf8>>, gleam@json:bool(erlang:element(7, Sticker))}, {<<"is_video"/utf8>>, gleam@json:bool(erlang:element(8, Sticker))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(9, Sticker), fun encode_photo_size/1 )}, {<<"emoji"/utf8>>, gleam@json:nullable( erlang:element(10, Sticker), fun gleam@json:string/1 )}, {<<"set_name"/utf8>>, gleam@json:nullable( erlang:element(11, Sticker), fun gleam@json:string/1 )}, {<<"premium_animation"/utf8>>, gleam@json:nullable( erlang:element(12, Sticker), fun encode_file/1 )}, {<<"mask_position"/utf8>>, gleam@json:nullable( erlang:element(13, Sticker), fun encode_mask_position/1 )}, {<<"custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(14, Sticker), fun gleam@json:string/1 )}, {<<"needs_repainting"/utf8>>, gleam@json:nullable( erlang:element(15, Sticker), fun gleam@json:bool/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(16, Sticker), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 727). -spec encode_business_intro(telega@model@types:business_intro()) -> gleam@json:json(). encode_business_intro(Business_intro) -> telega@internal@utils:json_object_filter_nulls( [{<<"title"/utf8>>, gleam@json:nullable( erlang:element(2, Business_intro), fun gleam@json:string/1 )}, {<<"message"/utf8>>, gleam@json:nullable( erlang:element(3, Business_intro), fun gleam@json:string/1 )}, {<<"sticker"/utf8>>, gleam@json:nullable( erlang:element(4, Business_intro), fun encode_sticker/1 )}] ). -file("src/telega/model/encoder.gleam", 4290). -spec encode_location(telega@model@types:location()) -> gleam@json:json(). encode_location(Location) -> telega@internal@utils:json_object_filter_nulls( [{<<"latitude"/utf8>>, gleam@json:float(erlang:element(2, Location))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(3, Location))}, {<<"horizontal_accuracy"/utf8>>, gleam@json:nullable( erlang:element(4, Location), fun gleam@json:float/1 )}, {<<"live_period"/utf8>>, gleam@json:nullable( erlang:element(5, Location), fun gleam@json:int/1 )}, {<<"heading"/utf8>>, gleam@json:nullable( erlang:element(6, Location), fun gleam@json:int/1 )}, {<<"proximity_alert_radius"/utf8>>, gleam@json:nullable( erlang:element(7, Location), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 735). -spec encode_business_location(telega@model@types:business_location()) -> gleam@json:json(). encode_business_location(Business_location) -> telega@internal@utils:json_object_filter_nulls( [{<<"address"/utf8>>, gleam@json:string(erlang:element(2, Business_location))}, {<<"location"/utf8>>, gleam@json:nullable( erlang:element(3, Business_location), fun encode_location/1 )}] ). -file("src/telega/model/encoder.gleam", 742). -spec encode_business_messages_deleted( telega@model@types:business_messages_deleted() ) -> gleam@json:json(). encode_business_messages_deleted(Business_messages_deleted) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Business_messages_deleted))}, {<<"chat"/utf8>>, encode_chat(erlang:element(3, Business_messages_deleted))}, {<<"message_ids"/utf8>>, gleam@json:array( erlang:element(4, Business_messages_deleted), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 772). -spec encode_business_opening_hours_interval( telega@model@types:business_opening_hours_interval() ) -> gleam@json:json(). encode_business_opening_hours_interval(Business_opening_hours_interval) -> telega@internal@utils:json_object_filter_nulls( [{<<"opening_minute"/utf8>>, gleam@json:int( erlang:element(2, Business_opening_hours_interval) )}, {<<"closing_minute"/utf8>>, gleam@json:int( erlang:element(3, Business_opening_hours_interval) )}] ). -file("src/telega/model/encoder.gleam", 758). -spec encode_business_opening_hours(telega@model@types:business_opening_hours()) -> gleam@json:json(). encode_business_opening_hours(Business_opening_hours) -> telega@internal@utils:json_object_filter_nulls( [{<<"time_zone_name"/utf8>>, gleam@json:string(erlang:element(2, Business_opening_hours))}, {<<"opening_hours"/utf8>>, gleam@json:array( erlang:element(3, Business_opening_hours), fun encode_business_opening_hours_interval/1 )}] ). -file("src/telega/model/encoder.gleam", 787). -spec encode_callback_game(telega@model@types:callback_game()) -> gleam@json:json(). encode_callback_game(_) -> telega@internal@utils:json_object_filter_nulls([]). -file("src/telega/model/encoder.gleam", 2034). -spec encode_inaccessible_message(telega@model@types:inaccessible_message()) -> gleam@json:json(). encode_inaccessible_message(Inaccessible_message) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Inaccessible_message))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(3, Inaccessible_message))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(4, Inaccessible_message))}] ). -file("src/telega/model/encoder.gleam", 1590). -spec encode_copy_text_button(telega@model@types:copy_text_button()) -> gleam@json:json(). encode_copy_text_button(Copy_text_button) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, gleam@json:string(erlang:element(2, Copy_text_button))}] ). -file("src/telega/model/encoder.gleam", 6408). -spec encode_switch_inline_query_chosen_chat( telega@model@types:switch_inline_query_chosen_chat() ) -> gleam@json:json(). encode_switch_inline_query_chosen_chat(Switch_inline_query_chosen_chat) -> telega@internal@utils:json_object_filter_nulls( [{<<"query"/utf8>>, gleam@json:nullable( erlang:element(2, Switch_inline_query_chosen_chat), fun gleam@json:string/1 )}, {<<"allow_user_chats"/utf8>>, gleam@json:nullable( erlang:element(3, Switch_inline_query_chosen_chat), fun gleam@json:bool/1 )}, {<<"allow_bot_chats"/utf8>>, gleam@json:nullable( erlang:element(4, Switch_inline_query_chosen_chat), fun gleam@json:bool/1 )}, {<<"allow_group_chats"/utf8>>, gleam@json:nullable( erlang:element(5, Switch_inline_query_chosen_chat), fun gleam@json:bool/1 )}, {<<"allow_channel_chats"/utf8>>, gleam@json:nullable( erlang:element(6, Switch_inline_query_chosen_chat), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 4316). -spec encode_login_url(telega@model@types:login_url()) -> gleam@json:json(). encode_login_url(Login_url) -> telega@internal@utils:json_object_filter_nulls( [{<<"url"/utf8>>, gleam@json:string(erlang:element(2, Login_url))}, {<<"forward_text"/utf8>>, gleam@json:nullable( erlang:element(3, Login_url), fun gleam@json:string/1 )}, {<<"bot_username"/utf8>>, gleam@json:nullable( erlang:element(4, Login_url), fun gleam@json:string/1 )}, {<<"request_write_access"/utf8>>, gleam@json:nullable( erlang:element(5, Login_url), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 6966). -spec encode_web_app_info(telega@model@types:web_app_info()) -> gleam@json:json(). encode_web_app_info(Web_app_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"url"/utf8>>, gleam@json:string(erlang:element(2, Web_app_info))}] ). -file("src/telega/model/encoder.gleam", 2044). -spec encode_inline_keyboard_button(telega@model@types:inline_keyboard_button()) -> gleam@json:json(). encode_inline_keyboard_button(Inline_keyboard_button) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, gleam@json:string(erlang:element(2, Inline_keyboard_button))}, {<<"icon_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(3, Inline_keyboard_button), fun gleam@json:string/1 )}, {<<"style"/utf8>>, gleam@json:nullable( erlang:element(4, Inline_keyboard_button), fun gleam@json:string/1 )}, {<<"url"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_keyboard_button), fun gleam@json:string/1 )}, {<<"callback_data"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_keyboard_button), fun gleam@json:string/1 )}, {<<"web_app"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_keyboard_button), fun encode_web_app_info/1 )}, {<<"login_url"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_keyboard_button), fun encode_login_url/1 )}, {<<"switch_inline_query"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_keyboard_button), fun gleam@json:string/1 )}, {<<"switch_inline_query_current_chat"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_keyboard_button), fun gleam@json:string/1 )}, {<<"switch_inline_query_chosen_chat"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_keyboard_button), fun encode_switch_inline_query_chosen_chat/1 )}, {<<"copy_text"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_keyboard_button), fun encode_copy_text_button/1 )}, {<<"callback_game"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_keyboard_button), fun encode_callback_game/1 )}, {<<"pay"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_keyboard_button), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 2097). -spec encode_inline_keyboard_markup(telega@model@types:inline_keyboard_markup()) -> gleam@json:json(). encode_inline_keyboard_markup(Inline_keyboard_markup) -> telega@internal@utils:json_object_filter_nulls( [{<<"inline_keyboard"/utf8>>, (fun(Rows) -> gleam@json:array( Rows, fun(Row) -> gleam@json:array( Row, fun encode_inline_keyboard_button/1 ) end ) end)(erlang:element(2, Inline_keyboard_markup))}] ). -file("src/telega/model/encoder.gleam", 6959). -spec encode_web_app_data(telega@model@types:web_app_data()) -> gleam@json:json(). encode_web_app_data(Web_app_data) -> telega@internal@utils:json_object_filter_nulls( [{<<"data"/utf8>>, gleam@json:string(erlang:element(2, Web_app_data))}, {<<"button_text"/utf8>>, gleam@json:string(erlang:element(3, Web_app_data))}] ). -file("src/telega/model/encoder.gleam", 6902). -spec encode_video_chat_participants_invited( telega@model@types:video_chat_participants_invited() ) -> gleam@json:json(). encode_video_chat_participants_invited(Video_chat_participants_invited) -> telega@internal@utils:json_object_filter_nulls( [{<<"users"/utf8>>, gleam@json:array( erlang:element(2, Video_chat_participants_invited), fun encode_user/1 )}] ). -file("src/telega/model/encoder.gleam", 6896). -spec encode_video_chat_ended(telega@model@types:video_chat_ended()) -> gleam@json:json(). encode_video_chat_ended(Video_chat_ended) -> telega@internal@utils:json_object_filter_nulls( [{<<"duration"/utf8>>, gleam@json:int(erlang:element(2, Video_chat_ended))}] ). -file("src/telega/model/encoder.gleam", 6921). -spec encode_video_chat_started(telega@model@types:video_chat_started()) -> gleam@json:json(). encode_video_chat_started(_) -> telega@internal@utils:json_object_filter_nulls([]). -file("src/telega/model/encoder.gleam", 6913). -spec encode_video_chat_scheduled(telega@model@types:video_chat_scheduled()) -> gleam@json:json(). encode_video_chat_scheduled(Video_chat_scheduled) -> telega@internal@utils:json_object_filter_nulls( [{<<"start_date"/utf8>>, gleam@json:int(erlang:element(2, Video_chat_scheduled))}] ). -file("src/telega/model/encoder.gleam", 6087). -spec encode_star_amount(telega@model@types:star_amount()) -> gleam@json:json(). encode_star_amount(Star_amount) -> telega@internal@utils:json_object_filter_nulls( [{<<"amount"/utf8>>, gleam@json:int(erlang:element(2, Star_amount))}, {<<"nanostar_amount"/utf8>>, gleam@json:nullable( erlang:element(3, Star_amount), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 6384). -spec encode_suggested_post_price(telega@model@types:suggested_post_price()) -> gleam@json:json(). encode_suggested_post_price(Suggested_post_price) -> telega@internal@utils:json_object_filter_nulls( [{<<"currency"/utf8>>, gleam@json:string(erlang:element(2, Suggested_post_price))}, {<<"amount"/utf8>>, gleam@json:int(erlang:element(3, Suggested_post_price))}] ). -file("src/telega/model/encoder.gleam", 4752). -spec encode_message_entity(telega@model@types:message_entity()) -> gleam@json:json(). encode_message_entity(Message_entity) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Message_entity))}, {<<"offset"/utf8>>, gleam@json:int(erlang:element(3, Message_entity))}, {<<"length"/utf8>>, gleam@json:int(erlang:element(4, Message_entity))}, {<<"url"/utf8>>, gleam@json:nullable( erlang:element(5, Message_entity), fun gleam@json:string/1 )}, {<<"user"/utf8>>, gleam@json:nullable( erlang:element(6, Message_entity), fun encode_user/1 )}, {<<"language"/utf8>>, gleam@json:nullable( erlang:element(7, Message_entity), fun gleam@json:string/1 )}, {<<"custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(8, Message_entity), fun gleam@json:string/1 )}, {<<"unix_time"/utf8>>, gleam@json:nullable( erlang:element(9, Message_entity), fun gleam@json:int/1 )}, {<<"date_time_format"/utf8>>, gleam@json:nullable( erlang:element(10, Message_entity), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 5013). -spec encode_paid_message_price_changed( telega@model@types:paid_message_price_changed() ) -> gleam@json:json(). encode_paid_message_price_changed(Paid_message_price_changed) -> telega@internal@utils:json_object_filter_nulls( [{<<"paid_message_star_count"/utf8>>, gleam@json:int(erlang:element(2, Paid_message_price_changed))}] ). -file("src/telega/model/encoder.gleam", 4328). -spec encode_managed_bot_created(telega@model@types:managed_bot_created()) -> gleam@json:json(). encode_managed_bot_created(Managed_bot_created) -> telega@internal@utils:json_object_filter_nulls( [{<<"bot"/utf8>>, encode_user(erlang:element(2, Managed_bot_created))}] ). -file("src/telega/model/encoder.gleam", 1996). -spec encode_giveaway_winners(telega@model@types:giveaway_winners()) -> gleam@json:json(). encode_giveaway_winners(Giveaway_winners) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Giveaway_winners))}, {<<"giveaway_message_id"/utf8>>, gleam@json:int(erlang:element(3, Giveaway_winners))}, {<<"winners_selection_date"/utf8>>, gleam@json:int(erlang:element(4, Giveaway_winners))}, {<<"winner_count"/utf8>>, gleam@json:int(erlang:element(5, Giveaway_winners))}, {<<"winners"/utf8>>, gleam@json:array( erlang:element(6, Giveaway_winners), fun encode_user/1 )}, {<<"additional_chat_count"/utf8>>, gleam@json:nullable( erlang:element(7, Giveaway_winners), fun gleam@json:int/1 )}, {<<"prize_star_count"/utf8>>, gleam@json:nullable( erlang:element(8, Giveaway_winners), fun gleam@json:int/1 )}, {<<"premium_subscription_month_count"/utf8>>, gleam@json:nullable( erlang:element(9, Giveaway_winners), fun gleam@json:int/1 )}, {<<"unclaimed_prize_count"/utf8>>, gleam@json:nullable( erlang:element(10, Giveaway_winners), fun gleam@json:int/1 )}, {<<"only_new_members"/utf8>>, gleam@json:nullable( erlang:element(11, Giveaway_winners), fun gleam@json:bool/1 )}, {<<"was_refunded"/utf8>>, gleam@json:nullable( erlang:element(12, Giveaway_winners), fun gleam@json:bool/1 )}, {<<"prize_description"/utf8>>, gleam@json:nullable( erlang:element(13, Giveaway_winners), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 1941). -spec encode_giveaway(telega@model@types:giveaway()) -> gleam@json:json(). encode_giveaway(Giveaway) -> telega@internal@utils:json_object_filter_nulls( [{<<"chats"/utf8>>, gleam@json:array(erlang:element(2, Giveaway), fun encode_chat/1)}, {<<"winners_selection_date"/utf8>>, gleam@json:int(erlang:element(3, Giveaway))}, {<<"winner_count"/utf8>>, gleam@json:int(erlang:element(4, Giveaway))}, {<<"only_new_members"/utf8>>, gleam@json:nullable( erlang:element(5, Giveaway), fun gleam@json:bool/1 )}, {<<"has_public_winners"/utf8>>, gleam@json:nullable( erlang:element(6, Giveaway), fun gleam@json:bool/1 )}, {<<"prize_description"/utf8>>, gleam@json:nullable( erlang:element(7, Giveaway), fun gleam@json:string/1 )}, {<<"country_codes"/utf8>>, gleam@json:nullable( erlang:element(8, Giveaway), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:string/1) end )}, {<<"prize_star_count"/utf8>>, gleam@json:nullable( erlang:element(9, Giveaway), fun gleam@json:int/1 )}, {<<"premium_subscription_month_count"/utf8>>, gleam@json:nullable( erlang:element(10, Giveaway), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 1987). -spec encode_giveaway_created(telega@model@types:giveaway_created()) -> gleam@json:json(). encode_giveaway_created(Giveaway_created) -> telega@internal@utils:json_object_filter_nulls( [{<<"prize_star_count"/utf8>>, gleam@json:nullable( erlang:element(2, Giveaway_created), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 1864). -spec encode_general_forum_topic_unhidden( telega@model@types:general_forum_topic_unhidden() ) -> gleam@json:json(). encode_general_forum_topic_unhidden(_) -> telega@internal@utils:json_object_filter_nulls([]). -file("src/telega/model/encoder.gleam", 1858). -spec encode_general_forum_topic_hidden( telega@model@types:general_forum_topic_hidden() ) -> gleam@json:json(). encode_general_forum_topic_hidden(_) -> telega@internal@utils:json_object_filter_nulls([]). -file("src/telega/model/encoder.gleam", 1830). -spec encode_forum_topic_reopened(telega@model@types:forum_topic_reopened()) -> gleam@json:json(). encode_forum_topic_reopened(_) -> telega@internal@utils:json_object_filter_nulls([]). -file("src/telega/model/encoder.gleam", 1797). -spec encode_forum_topic_closed(telega@model@types:forum_topic_closed()) -> gleam@json:json(). encode_forum_topic_closed(_) -> telega@internal@utils:json_object_filter_nulls([]). -file("src/telega/model/encoder.gleam", 1820). -spec encode_forum_topic_edited(telega@model@types:forum_topic_edited()) -> gleam@json:json(). encode_forum_topic_edited(Forum_topic_edited) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:nullable( erlang:element(2, Forum_topic_edited), fun gleam@json:string/1 )}, {<<"icon_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(3, Forum_topic_edited), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 1803). -spec encode_forum_topic_created(telega@model@types:forum_topic_created()) -> gleam@json:json(). encode_forum_topic_created(Forum_topic_created) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Forum_topic_created))}, {<<"icon_color"/utf8>>, gleam@json:int(erlang:element(3, Forum_topic_created))}, {<<"icon_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(4, Forum_topic_created), fun gleam@json:string/1 )}, {<<"is_name_implicit"/utf8>>, gleam@json:nullable( erlang:element(5, Forum_topic_created), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 1603). -spec encode_direct_message_price_changed( telega@model@types:direct_message_price_changed() ) -> gleam@json:json(). encode_direct_message_price_changed(Direct_message_price_changed) -> telega@internal@utils:json_object_filter_nulls( [{<<"are_direct_messages_enabled"/utf8>>, gleam@json:bool(erlang:element(2, Direct_message_price_changed))}, {<<"direct_message_star_count"/utf8>>, gleam@json:nullable( erlang:element(3, Direct_message_price_changed), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 1574). -spec encode_community_chat_removed(telega@model@types:community_chat_removed()) -> gleam@json:json(). encode_community_chat_removed(_) -> telega@internal@utils:json_object_filter_nulls([]). -file("src/telega/model/encoder.gleam", 1559). -spec encode_community(telega@model@types:community()) -> gleam@json:json(). encode_community(Community) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:int(erlang:element(2, Community))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Community))}] ). -file("src/telega/model/encoder.gleam", 1566). -spec encode_community_chat_added(telega@model@types:community_chat_added()) -> gleam@json:json(). encode_community_chat_added(Community_chat_added) -> telega@internal@utils:json_object_filter_nulls( [{<<"community"/utf8>>, encode_community(erlang:element(2, Community_chat_added))}] ). -file("src/telega/model/encoder.gleam", 1478). -spec encode_checklist_task(telega@model@types:checklist_task()) -> gleam@json:json(). encode_checklist_task(Checklist_task) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:int(erlang:element(2, Checklist_task))}, {<<"text"/utf8>>, gleam@json:string(erlang:element(3, Checklist_task))}, {<<"text_entities"/utf8>>, gleam@json:nullable( erlang:element(4, Checklist_task), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"completed_by_user"/utf8>>, gleam@json:nullable( erlang:element(5, Checklist_task), fun encode_user/1 )}, {<<"completed_by_chat"/utf8>>, gleam@json:nullable( erlang:element(6, Checklist_task), fun encode_chat/1 )}, {<<"completion_date"/utf8>>, gleam@json:nullable( erlang:element(7, Checklist_task), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 7025). -spec encode_background_type(telega@model@types:background_type()) -> gleam@json:json(). encode_background_type(Value) -> case Value of {background_type_fill_background_type, Inner_value} -> encode_background_type_fill(Inner_value); {background_type_wallpaper_background_type, Inner_value@1} -> encode_background_type_wallpaper(Inner_value@1); {background_type_pattern_background_type, Inner_value@2} -> encode_background_type_pattern(Inner_value@2); {background_type_chat_theme_background_type, Inner_value@3} -> encode_background_type_chat_theme(Inner_value@3) end. -file("src/telega/model/encoder.gleam", 885). -spec encode_chat_background(telega@model@types:chat_background()) -> gleam@json:json(). encode_chat_background(Chat_background) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, encode_background_type(erlang:element(2, Chat_background))}] ). -file("src/telega/model/encoder.gleam", 900). -spec encode_chat_boost_added(telega@model@types:chat_boost_added()) -> gleam@json:json(). encode_chat_boost_added(Chat_boost_added) -> telega@internal@utils:json_object_filter_nulls( [{<<"boost_count"/utf8>>, gleam@json:int(erlang:element(2, Chat_boost_added))}] ). -file("src/telega/model/encoder.gleam", 5352). -spec encode_proximity_alert_triggered( telega@model@types:proximity_alert_triggered() ) -> gleam@json:json(). encode_proximity_alert_triggered(Proximity_alert_triggered) -> telega@internal@utils:json_object_filter_nulls( [{<<"traveler"/utf8>>, encode_user(erlang:element(2, Proximity_alert_triggered))}, {<<"watcher"/utf8>>, encode_user(erlang:element(3, Proximity_alert_triggered))}, {<<"distance"/utf8>>, gleam@json:int(erlang:element(4, Proximity_alert_triggered))}] ). -file("src/telega/model/encoder.gleam", 1641). -spec encode_encrypted_credentials(telega@model@types:encrypted_credentials()) -> gleam@json:json(). encode_encrypted_credentials(Encrypted_credentials) -> telega@internal@utils:json_object_filter_nulls( [{<<"data"/utf8>>, gleam@json:string(erlang:element(2, Encrypted_credentials))}, {<<"hash"/utf8>>, gleam@json:string(erlang:element(3, Encrypted_credentials))}, {<<"secret"/utf8>>, gleam@json:string(erlang:element(4, Encrypted_credentials))}] ). -file("src/telega/model/encoder.gleam", 5148). -spec encode_passport_file(telega@model@types:passport_file()) -> gleam@json:json(). encode_passport_file(Passport_file) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Passport_file))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Passport_file))}, {<<"file_size"/utf8>>, gleam@json:int(erlang:element(4, Passport_file))}, {<<"file_date"/utf8>>, gleam@json:int(erlang:element(5, Passport_file))}] ). -file("src/telega/model/encoder.gleam", 1651). -spec encode_encrypted_passport_element( telega@model@types:encrypted_passport_element() ) -> gleam@json:json(). encode_encrypted_passport_element(Encrypted_passport_element) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Encrypted_passport_element))}, {<<"data"/utf8>>, gleam@json:nullable( erlang:element(3, Encrypted_passport_element), fun gleam@json:string/1 )}, {<<"phone_number"/utf8>>, gleam@json:nullable( erlang:element(4, Encrypted_passport_element), fun gleam@json:string/1 )}, {<<"email"/utf8>>, gleam@json:nullable( erlang:element(5, Encrypted_passport_element), fun gleam@json:string/1 )}, {<<"files"/utf8>>, gleam@json:nullable( erlang:element(6, Encrypted_passport_element), fun(_capture) -> gleam@json:array(_capture, fun encode_passport_file/1) end )}, {<<"front_side"/utf8>>, gleam@json:nullable( erlang:element(7, Encrypted_passport_element), fun encode_passport_file/1 )}, {<<"reverse_side"/utf8>>, gleam@json:nullable( erlang:element(8, Encrypted_passport_element), fun encode_passport_file/1 )}, {<<"selfie"/utf8>>, gleam@json:nullable( erlang:element(9, Encrypted_passport_element), fun encode_passport_file/1 )}, {<<"translation"/utf8>>, gleam@json:nullable( erlang:element(10, Encrypted_passport_element), fun(_capture@1) -> gleam@json:array(_capture@1, fun encode_passport_file/1) end )}, {<<"hash"/utf8>>, gleam@json:string( erlang:element(11, Encrypted_passport_element) )}] ). -file("src/telega/model/encoder.gleam", 5024). -spec encode_passport_data(telega@model@types:passport_data()) -> gleam@json:json(). encode_passport_data(Passport_data) -> telega@internal@utils:json_object_filter_nulls( [{<<"data"/utf8>>, gleam@json:array( erlang:element(2, Passport_data), fun encode_encrypted_passport_element/1 )}, {<<"credentials"/utf8>>, encode_encrypted_credentials(erlang:element(3, Passport_data))}] ). -file("src/telega/model/encoder.gleam", 6995). -spec encode_write_access_allowed(telega@model@types:write_access_allowed()) -> gleam@json:json(). encode_write_access_allowed(Write_access_allowed) -> telega@internal@utils:json_object_filter_nulls( [{<<"from_request"/utf8>>, gleam@json:nullable( erlang:element(2, Write_access_allowed), fun gleam@json:bool/1 )}, {<<"web_app_name"/utf8>>, gleam@json:nullable( erlang:element(3, Write_access_allowed), fun gleam@json:string/1 )}, {<<"from_attachment_menu"/utf8>>, gleam@json:nullable( erlang:element(4, Write_access_allowed), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 1897). -spec encode_gift_background(telega@model@types:gift_background()) -> gleam@json:json(). encode_gift_background(Gift_background) -> telega@internal@utils:json_object_filter_nulls( [{<<"center_color"/utf8>>, gleam@json:int(erlang:element(2, Gift_background))}, {<<"edge_color"/utf8>>, gleam@json:int(erlang:element(3, Gift_background))}, {<<"text_color"/utf8>>, gleam@json:int(erlang:element(4, Gift_background))}] ). -file("src/telega/model/encoder.gleam", 1870). -spec encode_gift(telega@model@types:gift()) -> gleam@json:json(). encode_gift(Gift) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Gift))}, {<<"sticker"/utf8>>, encode_sticker(erlang:element(3, Gift))}, {<<"star_count"/utf8>>, gleam@json:int(erlang:element(4, Gift))}, {<<"upgrade_star_count"/utf8>>, gleam@json:nullable( erlang:element(5, Gift), fun gleam@json:int/1 )}, {<<"is_premium"/utf8>>, gleam@json:nullable( erlang:element(6, Gift), fun gleam@json:bool/1 )}, {<<"has_colors"/utf8>>, gleam@json:nullable( erlang:element(7, Gift), fun gleam@json:bool/1 )}, {<<"total_count"/utf8>>, gleam@json:nullable( erlang:element(8, Gift), fun gleam@json:int/1 )}, {<<"remaining_count"/utf8>>, gleam@json:nullable( erlang:element(9, Gift), fun gleam@json:int/1 )}, {<<"personal_total_count"/utf8>>, gleam@json:nullable( erlang:element(10, Gift), fun gleam@json:int/1 )}, {<<"personal_remaining_count"/utf8>>, gleam@json:nullable( erlang:element(11, Gift), fun gleam@json:int/1 )}, {<<"background"/utf8>>, gleam@json:nullable( erlang:element(12, Gift), fun encode_gift_background/1 )}, {<<"unique_gift_variant_count"/utf8>>, gleam@json:nullable( erlang:element(13, Gift), fun gleam@json:int/1 )}, {<<"publisher_chat"/utf8>>, gleam@json:nullable(erlang:element(14, Gift), fun encode_chat/1)}] ). -file("src/telega/model/encoder.gleam", 1905). -spec encode_gift_info(telega@model@types:gift_info()) -> gleam@json:json(). encode_gift_info(Gift_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"gift"/utf8>>, encode_gift(erlang:element(2, Gift_info))}, {<<"owned_gift_id"/utf8>>, gleam@json:nullable( erlang:element(3, Gift_info), fun gleam@json:string/1 )}, {<<"convert_star_count"/utf8>>, gleam@json:nullable( erlang:element(4, Gift_info), fun gleam@json:int/1 )}, {<<"prepaid_upgrade_star_count"/utf8>>, gleam@json:nullable( erlang:element(5, Gift_info), fun gleam@json:int/1 )}, {<<"is_upgrade_separate"/utf8>>, gleam@json:nullable( erlang:element(6, Gift_info), fun gleam@json:bool/1 )}, {<<"can_be_upgraded"/utf8>>, gleam@json:nullable( erlang:element(7, Gift_info), fun gleam@json:bool/1 )}, {<<"text"/utf8>>, gleam@json:nullable( erlang:element(8, Gift_info), fun gleam@json:string/1 )}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(9, Gift_info), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"is_private"/utf8>>, gleam@json:nullable( erlang:element(10, Gift_info), fun gleam@json:bool/1 )}, {<<"unique_gift_number"/utf8>>, gleam@json:nullable( erlang:element(11, Gift_info), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 6607). -spec encode_unique_gift_colors(telega@model@types:unique_gift_colors()) -> gleam@json:json(). encode_unique_gift_colors(Unique_gift_colors) -> telega@internal@utils:json_object_filter_nulls( [{<<"model_custom_emoji_id"/utf8>>, gleam@json:string(erlang:element(2, Unique_gift_colors))}, {<<"symbol_custom_emoji_id"/utf8>>, gleam@json:string(erlang:element(3, Unique_gift_colors))}, {<<"light_theme_main_color"/utf8>>, gleam@json:int(erlang:element(4, Unique_gift_colors))}, {<<"light_theme_other_colors"/utf8>>, gleam@json:array( erlang:element(5, Unique_gift_colors), fun gleam@json:int/1 )}, {<<"dark_theme_main_color"/utf8>>, gleam@json:int(erlang:element(6, Unique_gift_colors))}, {<<"dark_theme_other_colors"/utf8>>, gleam@json:array( erlang:element(7, Unique_gift_colors), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 6596). -spec encode_unique_gift_backdrop_colors( telega@model@types:unique_gift_backdrop_colors() ) -> gleam@json:json(). encode_unique_gift_backdrop_colors(Unique_gift_backdrop_colors) -> telega@internal@utils:json_object_filter_nulls( [{<<"center_color"/utf8>>, gleam@json:int(erlang:element(2, Unique_gift_backdrop_colors))}, {<<"edge_color"/utf8>>, gleam@json:int(erlang:element(3, Unique_gift_backdrop_colors))}, {<<"symbol_color"/utf8>>, gleam@json:int(erlang:element(4, Unique_gift_backdrop_colors))}, {<<"text_color"/utf8>>, gleam@json:int(erlang:element(5, Unique_gift_backdrop_colors))}] ). -file("src/telega/model/encoder.gleam", 6586). -spec encode_unique_gift_backdrop(telega@model@types:unique_gift_backdrop()) -> gleam@json:json(). encode_unique_gift_backdrop(Unique_gift_backdrop) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Unique_gift_backdrop))}, {<<"colors"/utf8>>, encode_unique_gift_backdrop_colors( erlang:element(3, Unique_gift_backdrop) )}, {<<"rarity_per_mille"/utf8>>, gleam@json:int(erlang:element(4, Unique_gift_backdrop))}] ). -file("src/telega/model/encoder.gleam", 6672). -spec encode_unique_gift_symbol(telega@model@types:unique_gift_symbol()) -> gleam@json:json(). encode_unique_gift_symbol(Unique_gift_symbol) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Unique_gift_symbol))}, {<<"sticker"/utf8>>, encode_sticker(erlang:element(3, Unique_gift_symbol))}, {<<"rarity_per_mille"/utf8>>, gleam@json:int(erlang:element(4, Unique_gift_symbol))}] ). -file("src/telega/model/encoder.gleam", 6663). -spec encode_unique_gift_model(telega@model@types:unique_gift_model()) -> gleam@json:json(). encode_unique_gift_model(Unique_gift_model) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Unique_gift_model))}, {<<"sticker"/utf8>>, encode_sticker(erlang:element(3, Unique_gift_model))}, {<<"rarity_per_mille"/utf8>>, gleam@json:int(erlang:element(4, Unique_gift_model))}, {<<"rarity"/utf8>>, gleam@json:nullable( erlang:element(5, Unique_gift_model), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 6566). -spec encode_unique_gift(telega@model@types:unique_gift()) -> gleam@json:json(). encode_unique_gift(Unique_gift) -> telega@internal@utils:json_object_filter_nulls( [{<<"gift_id"/utf8>>, gleam@json:string(erlang:element(2, Unique_gift))}, {<<"base_name"/utf8>>, gleam@json:string(erlang:element(3, Unique_gift))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(4, Unique_gift))}, {<<"number"/utf8>>, gleam@json:int(erlang:element(5, Unique_gift))}, {<<"model"/utf8>>, encode_unique_gift_model(erlang:element(6, Unique_gift))}, {<<"symbol"/utf8>>, encode_unique_gift_symbol(erlang:element(7, Unique_gift))}, {<<"backdrop"/utf8>>, encode_unique_gift_backdrop(erlang:element(8, Unique_gift))}, {<<"is_premium"/utf8>>, gleam@json:nullable( erlang:element(9, Unique_gift), fun gleam@json:bool/1 )}, {<<"is_burned"/utf8>>, gleam@json:nullable( erlang:element(10, Unique_gift), fun gleam@json:bool/1 )}, {<<"is_from_blockchain"/utf8>>, gleam@json:nullable( erlang:element(11, Unique_gift), fun gleam@json:bool/1 )}, {<<"colors"/utf8>>, gleam@json:nullable( erlang:element(12, Unique_gift), fun encode_unique_gift_colors/1 )}, {<<"publisher_chat"/utf8>>, gleam@json:nullable( erlang:element(13, Unique_gift), fun encode_chat/1 )}] ). -file("src/telega/model/encoder.gleam", 6636). -spec encode_unique_gift_info(telega@model@types:unique_gift_info()) -> gleam@json:json(). encode_unique_gift_info(Unique_gift_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"gift"/utf8>>, encode_unique_gift(erlang:element(2, Unique_gift_info))}, {<<"origin"/utf8>>, gleam@json:string(erlang:element(3, Unique_gift_info))}, {<<"last_resale_currency"/utf8>>, gleam@json:nullable( erlang:element(4, Unique_gift_info), fun gleam@json:string/1 )}, {<<"last_resale_amount"/utf8>>, gleam@json:nullable( erlang:element(5, Unique_gift_info), fun gleam@json:int/1 )}, {<<"owned_gift_id"/utf8>>, gleam@json:nullable( erlang:element(6, Unique_gift_info), fun gleam@json:string/1 )}, {<<"transfer_star_count"/utf8>>, gleam@json:nullable( erlang:element(7, Unique_gift_info), fun gleam@json:int/1 )}, {<<"next_transfer_date"/utf8>>, gleam@json:nullable( erlang:element(8, Unique_gift_info), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 1443). -spec encode_chat_shared(telega@model@types:chat_shared()) -> gleam@json:json(). encode_chat_shared(Chat_shared) -> telega@internal@utils:json_object_filter_nulls( [{<<"request_id"/utf8>>, gleam@json:int(erlang:element(2, Chat_shared))}, {<<"chat_id"/utf8>>, gleam@json:int(erlang:element(3, Chat_shared))}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(4, Chat_shared), fun gleam@json:string/1 )}, {<<"username"/utf8>>, gleam@json:nullable( erlang:element(5, Chat_shared), fun gleam@json:string/1 )}, {<<"photo"/utf8>>, gleam@json:nullable( erlang:element(6, Chat_shared), fun(_capture) -> gleam@json:array(_capture, fun encode_photo_size/1) end )}] ). -file("src/telega/model/encoder.gleam", 6043). -spec encode_shared_user(telega@model@types:shared_user()) -> gleam@json:json(). encode_shared_user(Shared_user) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Shared_user))}, {<<"first_name"/utf8>>, gleam@json:nullable( erlang:element(3, Shared_user), fun gleam@json:string/1 )}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(4, Shared_user), fun gleam@json:string/1 )}, {<<"username"/utf8>>, gleam@json:nullable( erlang:element(5, Shared_user), fun gleam@json:string/1 )}, {<<"photo"/utf8>>, gleam@json:nullable( erlang:element(6, Shared_user), fun(_capture) -> gleam@json:array(_capture, fun encode_photo_size/1) end )}] ). -file("src/telega/model/encoder.gleam", 6857). -spec encode_users_shared(telega@model@types:users_shared()) -> gleam@json:json(). encode_users_shared(Users_shared) -> telega@internal@utils:json_object_filter_nulls( [{<<"request_id"/utf8>>, gleam@json:int(erlang:element(2, Users_shared))}, {<<"users"/utf8>>, gleam@json:array( erlang:element(3, Users_shared), fun encode_shared_user/1 )}] ). -file("src/telega/model/encoder.gleam", 5396). -spec encode_refunded_payment(telega@model@types:refunded_payment()) -> gleam@json:json(). encode_refunded_payment(Refunded_payment) -> telega@internal@utils:json_object_filter_nulls( [{<<"currency"/utf8>>, gleam@json:string(erlang:element(2, Refunded_payment))}, {<<"total_amount"/utf8>>, gleam@json:int(erlang:element(3, Refunded_payment))}, {<<"invoice_payload"/utf8>>, gleam@json:string(erlang:element(4, Refunded_payment))}, {<<"telegram_payment_charge_id"/utf8>>, gleam@json:string(erlang:element(5, Refunded_payment))}, {<<"provider_payment_charge_id"/utf8>>, gleam@json:nullable( erlang:element(6, Refunded_payment), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 6056). -spec encode_shipping_address(telega@model@types:shipping_address()) -> gleam@json:json(). encode_shipping_address(Shipping_address) -> telega@internal@utils:json_object_filter_nulls( [{<<"country_code"/utf8>>, gleam@json:string(erlang:element(2, Shipping_address))}, {<<"state"/utf8>>, gleam@json:string(erlang:element(3, Shipping_address))}, {<<"city"/utf8>>, gleam@json:string(erlang:element(4, Shipping_address))}, {<<"street_line1"/utf8>>, gleam@json:string(erlang:element(5, Shipping_address))}, {<<"street_line2"/utf8>>, gleam@json:string(erlang:element(6, Shipping_address))}, {<<"post_code"/utf8>>, gleam@json:string(erlang:element(7, Shipping_address))}] ). -file("src/telega/model/encoder.gleam", 4869). -spec encode_order_info(telega@model@types:order_info()) -> gleam@json:json(). encode_order_info(Order_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:nullable( erlang:element(2, Order_info), fun gleam@json:string/1 )}, {<<"phone_number"/utf8>>, gleam@json:nullable( erlang:element(3, Order_info), fun gleam@json:string/1 )}, {<<"email"/utf8>>, gleam@json:nullable( erlang:element(4, Order_info), fun gleam@json:string/1 )}, {<<"shipping_address"/utf8>>, gleam@json:nullable( erlang:element(5, Order_info), fun encode_shipping_address/1 )}] ). -file("src/telega/model/encoder.gleam", 6252). -spec encode_successful_payment(telega@model@types:successful_payment()) -> gleam@json:json(). encode_successful_payment(Successful_payment) -> telega@internal@utils:json_object_filter_nulls( [{<<"currency"/utf8>>, gleam@json:string(erlang:element(2, Successful_payment))}, {<<"total_amount"/utf8>>, gleam@json:int(erlang:element(3, Successful_payment))}, {<<"invoice_payload"/utf8>>, gleam@json:string(erlang:element(4, Successful_payment))}, {<<"subscription_expiration_date"/utf8>>, gleam@json:nullable( erlang:element(5, Successful_payment), fun gleam@json:int/1 )}, {<<"is_recurring"/utf8>>, gleam@json:nullable( erlang:element(6, Successful_payment), fun gleam@json:bool/1 )}, {<<"is_first_recurring"/utf8>>, gleam@json:nullable( erlang:element(7, Successful_payment), fun gleam@json:bool/1 )}, {<<"shipping_option_id"/utf8>>, gleam@json:nullable( erlang:element(8, Successful_payment), fun gleam@json:string/1 )}, {<<"order_info"/utf8>>, gleam@json:nullable( erlang:element(9, Successful_payment), fun encode_order_info/1 )}, {<<"telegram_payment_charge_id"/utf8>>, gleam@json:string(erlang:element(10, Successful_payment))}, {<<"provider_payment_charge_id"/utf8>>, gleam@json:string(erlang:element(11, Successful_payment))}] ). -file("src/telega/model/encoder.gleam", 4066). -spec encode_invoice(telega@model@types:invoice()) -> gleam@json:json(). encode_invoice(Invoice) -> telega@internal@utils:json_object_filter_nulls( [{<<"title"/utf8>>, gleam@json:string(erlang:element(2, Invoice))}, {<<"description"/utf8>>, gleam@json:string(erlang:element(3, Invoice))}, {<<"start_parameter"/utf8>>, gleam@json:string(erlang:element(4, Invoice))}, {<<"currency"/utf8>>, gleam@json:string(erlang:element(5, Invoice))}, {<<"total_amount"/utf8>>, gleam@json:int(erlang:element(6, Invoice))}] ). -file("src/telega/model/encoder.gleam", 4741). -spec encode_message_auto_delete_timer_changed( telega@model@types:message_auto_delete_timer_changed() ) -> gleam@json:json(). encode_message_auto_delete_timer_changed(Message_auto_delete_timer_changed) -> telega@internal@utils:json_object_filter_nulls( [{<<"message_auto_delete_time"/utf8>>, gleam@json:int( erlang:element(2, Message_auto_delete_timer_changed) )}] ). -file("src/telega/model/encoder.gleam", 1356). -spec encode_chat_owner_changed(telega@model@types:chat_owner_changed()) -> gleam@json:json(). encode_chat_owner_changed(Chat_owner_changed) -> telega@internal@utils:json_object_filter_nulls( [{<<"new_owner"/utf8>>, encode_user(erlang:element(2, Chat_owner_changed))}] ). -file("src/telega/model/encoder.gleam", 1362). -spec encode_chat_owner_left(telega@model@types:chat_owner_left()) -> gleam@json:json(). encode_chat_owner_left(Chat_owner_left) -> telega@internal@utils:json_object_filter_nulls( [{<<"new_owner"/utf8>>, gleam@json:nullable( erlang:element(2, Chat_owner_left), fun encode_user/1 )}] ). -file("src/telega/model/encoder.gleam", 6864). -spec encode_venue(telega@model@types:venue()) -> gleam@json:json(). encode_venue(Venue) -> telega@internal@utils:json_object_filter_nulls( [{<<"location"/utf8>>, encode_location(erlang:element(2, Venue))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(3, Venue))}, {<<"address"/utf8>>, gleam@json:string(erlang:element(4, Venue))}, {<<"foursquare_id"/utf8>>, gleam@json:nullable( erlang:element(5, Venue), fun gleam@json:string/1 )}, {<<"foursquare_type"/utf8>>, gleam@json:nullable( erlang:element(6, Venue), fun gleam@json:string/1 )}, {<<"google_place_id"/utf8>>, gleam@json:nullable( erlang:element(7, Venue), fun gleam@json:string/1 )}, {<<"google_place_type"/utf8>>, gleam@json:nullable( erlang:element(8, Venue), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 6938). -spec encode_video_quality(telega@model@types:video_quality()) -> gleam@json:json(). encode_video_quality(Video_quality) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Video_quality))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Video_quality))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(4, Video_quality))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(5, Video_quality))}, {<<"codec"/utf8>>, gleam@json:string(erlang:element(6, Video_quality))}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(7, Video_quality), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 6876). -spec encode_video(telega@model@types:video()) -> gleam@json:json(). encode_video(Video) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Video))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Video))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(4, Video))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(5, Video))}, {<<"duration"/utf8>>, gleam@json:int(erlang:element(6, Video))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(7, Video), fun encode_photo_size/1 )}, {<<"cover"/utf8>>, gleam@json:nullable( erlang:element(8, Video), fun(_capture) -> gleam@json:array(_capture, fun encode_photo_size/1) end )}, {<<"start_timestamp"/utf8>>, gleam@json:nullable( erlang:element(9, Video), fun gleam@json:int/1 )}, {<<"qualities"/utf8>>, gleam@json:nullable( erlang:element(10, Video), fun(_capture@1) -> gleam@json:array(_capture@1, fun encode_video_quality/1) end )}, {<<"file_name"/utf8>>, gleam@json:nullable( erlang:element(11, Video), fun gleam@json:string/1 )}, {<<"mime_type"/utf8>>, gleam@json:nullable( erlang:element(12, Video), fun gleam@json:string/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(13, Video), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 4274). -spec encode_live_photo(telega@model@types:live_photo()) -> gleam@json:json(). encode_live_photo(Live_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"photo"/utf8>>, gleam@json:nullable( erlang:element(2, Live_photo), fun(_capture) -> gleam@json:array(_capture, fun encode_photo_size/1) end )}, {<<"file_id"/utf8>>, gleam@json:string(erlang:element(3, Live_photo))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(4, Live_photo))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(5, Live_photo))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(6, Live_photo))}, {<<"duration"/utf8>>, gleam@json:int(erlang:element(7, Live_photo))}, {<<"mime_type"/utf8>>, gleam@json:nullable( erlang:element(8, Live_photo), fun gleam@json:string/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(9, Live_photo), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 4247). -spec encode_link(telega@model@types:link()) -> gleam@json:json(). encode_link(Link) -> telega@internal@utils:json_object_filter_nulls( [{<<"url"/utf8>>, gleam@json:string(erlang:element(2, Link))}] ). -file("src/telega/model/encoder.gleam", 5230). -spec encode_poll_media(telega@model@types:poll_media()) -> gleam@json:json(). encode_poll_media(Poll_media) -> telega@internal@utils:json_object_filter_nulls( [{<<"animation"/utf8>>, gleam@json:nullable( erlang:element(2, Poll_media), fun encode_animation/1 )}, {<<"audio"/utf8>>, gleam@json:nullable( erlang:element(3, Poll_media), fun encode_audio/1 )}, {<<"document"/utf8>>, gleam@json:nullable( erlang:element(4, Poll_media), fun encode_document/1 )}, {<<"link"/utf8>>, gleam@json:nullable( erlang:element(5, Poll_media), fun encode_link/1 )}, {<<"live_photo"/utf8>>, gleam@json:nullable( erlang:element(6, Poll_media), fun encode_live_photo/1 )}, {<<"location"/utf8>>, gleam@json:nullable( erlang:element(7, Poll_media), fun encode_location/1 )}, {<<"photo"/utf8>>, gleam@json:nullable( erlang:element(8, Poll_media), fun(_capture) -> gleam@json:array(_capture, fun encode_photo_size/1) end )}, {<<"sticker"/utf8>>, gleam@json:nullable( erlang:element(9, Poll_media), fun encode_sticker/1 )}, {<<"venue"/utf8>>, gleam@json:nullable( erlang:element(10, Poll_media), fun encode_venue/1 )}, {<<"video"/utf8>>, gleam@json:nullable( erlang:element(11, Poll_media), fun encode_video/1 )}] ). -file("src/telega/model/encoder.gleam", 5248). -spec encode_poll_option(telega@model@types:poll_option()) -> gleam@json:json(). encode_poll_option(Poll_option) -> telega@internal@utils:json_object_filter_nulls( [{<<"persistent_id"/utf8>>, gleam@json:string(erlang:element(2, Poll_option))}, {<<"text"/utf8>>, gleam@json:string(erlang:element(3, Poll_option))}, {<<"text_entities"/utf8>>, gleam@json:nullable( erlang:element(4, Poll_option), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"media"/utf8>>, gleam@json:nullable( erlang:element(5, Poll_option), fun encode_poll_media/1 )}, {<<"voter_count"/utf8>>, gleam@json:int(erlang:element(6, Poll_option))}, {<<"added_by_user"/utf8>>, gleam@json:nullable( erlang:element(7, Poll_option), fun encode_user/1 )}, {<<"added_by_chat"/utf8>>, gleam@json:nullable( erlang:element(8, Poll_option), fun encode_chat/1 )}, {<<"addition_date"/utf8>>, gleam@json:nullable( erlang:element(9, Poll_option), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 5167). -spec encode_poll(telega@model@types:poll()) -> gleam@json:json(). encode_poll(Poll) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Poll))}, {<<"question"/utf8>>, gleam@json:string(erlang:element(3, Poll))}, {<<"question_entities"/utf8>>, gleam@json:nullable( erlang:element(4, Poll), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"options"/utf8>>, gleam@json:array( erlang:element(5, Poll), fun encode_poll_option/1 )}, {<<"total_voter_count"/utf8>>, gleam@json:int(erlang:element(6, Poll))}, {<<"is_closed"/utf8>>, gleam@json:bool(erlang:element(7, Poll))}, {<<"is_anonymous"/utf8>>, gleam@json:bool(erlang:element(8, Poll))}, {<<"type"/utf8>>, gleam@json:string(erlang:element(9, Poll))}, {<<"allows_multiple_answers"/utf8>>, gleam@json:bool(erlang:element(10, Poll))}, {<<"allows_revoting"/utf8>>, gleam@json:bool(erlang:element(11, Poll))}, {<<"members_only"/utf8>>, gleam@json:bool(erlang:element(12, Poll))}, {<<"country_codes"/utf8>>, gleam@json:nullable( erlang:element(13, Poll), fun(_capture@1) -> gleam@json:array(_capture@1, fun gleam@json:string/1) end )}, {<<"correct_option_ids"/utf8>>, gleam@json:nullable( erlang:element(14, Poll), fun(_capture@2) -> gleam@json:array(_capture@2, fun gleam@json:int/1) end )}, {<<"explanation"/utf8>>, gleam@json:nullable( erlang:element(15, Poll), fun gleam@json:string/1 )}, {<<"explanation_entities"/utf8>>, gleam@json:nullable( erlang:element(16, Poll), fun(_capture@3) -> gleam@json:array( _capture@3, fun encode_message_entity/1 ) end )}, {<<"explanation_media"/utf8>>, gleam@json:nullable( erlang:element(17, Poll), fun encode_poll_media/1 )}, {<<"open_period"/utf8>>, gleam@json:nullable( erlang:element(18, Poll), fun gleam@json:int/1 )}, {<<"close_date"/utf8>>, gleam@json:nullable( erlang:element(19, Poll), fun gleam@json:int/1 )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(20, Poll), fun gleam@json:string/1 )}, {<<"description_entities"/utf8>>, gleam@json:nullable( erlang:element(21, Poll), fun(_capture@4) -> gleam@json:array( _capture@4, fun encode_message_entity/1 ) end )}, {<<"media"/utf8>>, gleam@json:nullable( erlang:element(22, Poll), fun encode_poll_media/1 )}] ). -file("src/telega/model/encoder.gleam", 1836). -spec encode_game(telega@model@types:game()) -> gleam@json:json(). encode_game(Game) -> telega@internal@utils:json_object_filter_nulls( [{<<"title"/utf8>>, gleam@json:string(erlang:element(2, Game))}, {<<"description"/utf8>>, gleam@json:string(erlang:element(3, Game))}, {<<"photo"/utf8>>, gleam@json:array( erlang:element(4, Game), fun encode_photo_size/1 )}, {<<"text"/utf8>>, gleam@json:nullable( erlang:element(5, Game), fun gleam@json:string/1 )}, {<<"text_entities"/utf8>>, gleam@json:nullable( erlang:element(6, Game), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"animation"/utf8>>, gleam@json:nullable( erlang:element(7, Game), fun encode_animation/1 )}] ). -file("src/telega/model/encoder.gleam", 1596). -spec encode_dice(telega@model@types:dice()) -> gleam@json:json(). encode_dice(Dice) -> telega@internal@utils:json_object_filter_nulls( [{<<"emoji"/utf8>>, gleam@json:string(erlang:element(2, Dice))}, {<<"value"/utf8>>, gleam@json:int(erlang:element(3, Dice))}] ). -file("src/telega/model/encoder.gleam", 1580). -spec encode_contact(telega@model@types:contact()) -> gleam@json:json(). encode_contact(Contact) -> telega@internal@utils:json_object_filter_nulls( [{<<"phone_number"/utf8>>, gleam@json:string(erlang:element(2, Contact))}, {<<"first_name"/utf8>>, gleam@json:string(erlang:element(3, Contact))}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(4, Contact), fun gleam@json:string/1 )}, {<<"user_id"/utf8>>, gleam@json:nullable( erlang:element(5, Contact), fun gleam@json:int/1 )}, {<<"vcard"/utf8>>, gleam@json:nullable( erlang:element(6, Contact), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 1456). -spec encode_checklist(telega@model@types:checklist()) -> gleam@json:json(). encode_checklist(Checklist) -> telega@internal@utils:json_object_filter_nulls( [{<<"title"/utf8>>, gleam@json:string(erlang:element(2, Checklist))}, {<<"title_entities"/utf8>>, gleam@json:nullable( erlang:element(3, Checklist), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"tasks"/utf8>>, gleam@json:array( erlang:element(4, Checklist), fun encode_checklist_task/1 )}, {<<"others_can_add_tasks"/utf8>>, gleam@json:nullable( erlang:element(5, Checklist), fun gleam@json:bool/1 )}, {<<"others_can_mark_tasks_as_done"/utf8>>, gleam@json:nullable( erlang:element(6, Checklist), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 6949). -spec encode_voice(telega@model@types:voice()) -> gleam@json:json(). encode_voice(Voice) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Voice))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Voice))}, {<<"duration"/utf8>>, gleam@json:int(erlang:element(4, Voice))}, {<<"mime_type"/utf8>>, gleam@json:nullable( erlang:element(5, Voice), fun gleam@json:string/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(6, Voice), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 6927). -spec encode_video_note(telega@model@types:video_note()) -> gleam@json:json(). encode_video_note(Video_note) -> telega@internal@utils:json_object_filter_nulls( [{<<"file_id"/utf8>>, gleam@json:string(erlang:element(2, Video_note))}, {<<"file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Video_note))}, {<<"length"/utf8>>, gleam@json:int(erlang:element(4, Video_note))}, {<<"duration"/utf8>>, gleam@json:int(erlang:element(5, Video_note))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(6, Video_note), fun encode_photo_size/1 )}, {<<"file_size"/utf8>>, gleam@json:nullable( erlang:element(7, Video_note), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 6159). -spec encode_story(telega@model@types:story()) -> gleam@json:json(). encode_story(Story) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Story))}, {<<"id"/utf8>>, gleam@json:int(erlang:element(3, Story))}] ). -file("src/telega/model/encoder.gleam", 5006). -spec encode_paid_media_video(telega@model@types:paid_media_video()) -> gleam@json:json(). encode_paid_media_video(Paid_media_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Paid_media_video))}, {<<"video"/utf8>>, encode_video(erlang:element(3, Paid_media_video))}] ). -file("src/telega/model/encoder.gleam", 4985). -spec encode_paid_media_preview(telega@model@types:paid_media_preview()) -> gleam@json:json(). encode_paid_media_preview(Paid_media_preview) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Paid_media_preview))}, {<<"width"/utf8>>, gleam@json:nullable( erlang:element(3, Paid_media_preview), fun gleam@json:int/1 )}, {<<"height"/utf8>>, gleam@json:nullable( erlang:element(4, Paid_media_preview), fun gleam@json:int/1 )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(5, Paid_media_preview), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 4978). -spec encode_paid_media_photo(telega@model@types:paid_media_photo()) -> gleam@json:json(). encode_paid_media_photo(Paid_media_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Paid_media_photo))}, {<<"photo"/utf8>>, gleam@json:array( erlang:element(3, Paid_media_photo), fun encode_photo_size/1 )}] ). -file("src/telega/model/encoder.gleam", 4969). -spec encode_paid_media_live_photo(telega@model@types:paid_media_live_photo()) -> gleam@json:json(). encode_paid_media_live_photo(Paid_media_live_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Paid_media_live_photo))}, {<<"live_photo"/utf8>>, encode_live_photo(erlang:element(3, Paid_media_live_photo))}] ). -file("src/telega/model/encoder.gleam", 7308). -spec encode_paid_media(telega@model@types:paid_media()) -> gleam@json:json(). encode_paid_media(Value) -> case Value of {paid_media_live_photo_paid_media, Inner_value} -> encode_paid_media_live_photo(Inner_value); {paid_media_photo_paid_media, Inner_value@1} -> encode_paid_media_photo(Inner_value@1); {paid_media_preview_paid_media, Inner_value@2} -> encode_paid_media_preview(Inner_value@2); {paid_media_video_paid_media, Inner_value@3} -> encode_paid_media_video(Inner_value@3) end. -file("src/telega/model/encoder.gleam", 4959). -spec encode_paid_media_info(telega@model@types:paid_media_info()) -> gleam@json:json(). encode_paid_media_info(Paid_media_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"star_count"/utf8>>, gleam@json:int(erlang:element(2, Paid_media_info))}, {<<"paid_media"/utf8>>, gleam@json:array( erlang:element(3, Paid_media_info), fun encode_paid_media/1 )}] ). -file("src/telega/model/encoder.gleam", 5803). -spec encode_rich_text_anchor(telega@model@types:rich_text_anchor()) -> gleam@json:json(). encode_rich_text_anchor(Rich_text_anchor) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_anchor))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Rich_text_anchor))}] ). -file("src/telega/model/encoder.gleam", 5918). -spec encode_rich_text_mathematical_expression( telega@model@types:rich_text_mathematical_expression() ) -> gleam@json:json(). encode_rich_text_mathematical_expression(Rich_text_mathematical_expression) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Rich_text_mathematical_expression) )}, {<<"expression"/utf8>>, gleam@json:string( erlang:element(3, Rich_text_mathematical_expression) )}] ). -file("src/telega/model/encoder.gleam", 5865). -spec encode_rich_text_custom_emoji(telega@model@types:rich_text_custom_emoji()) -> gleam@json:json(). encode_rich_text_custom_emoji(Rich_text_custom_emoji) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_custom_emoji))}, {<<"custom_emoji_id"/utf8>>, gleam@json:string(erlang:element(3, Rich_text_custom_emoji))}, {<<"alternative_text"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_custom_emoji))}] ). -file("src/telega/model/encoder.gleam", 5955). -spec encode_rich_text_reference_link( telega@model@types:rich_text_reference_link() ) -> gleam@json:json(). encode_rich_text_reference_link(Rich_text_reference_link) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_reference_link))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_reference_link))}, {<<"reference_name"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_reference_link))}] ). -file("src/telega/model/encoder.gleam", 5945). -spec encode_rich_text_reference(telega@model@types:rich_text_reference()) -> gleam@json:json(). encode_rich_text_reference(Rich_text_reference) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_reference))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_reference))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_reference))}] ). -file("src/telega/model/encoder.gleam", 5810). -spec encode_rich_text_anchor_link(telega@model@types:rich_text_anchor_link()) -> gleam@json:json(). encode_rich_text_anchor_link(Rich_text_anchor_link) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_anchor_link))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_anchor_link))}, {<<"anchor_name"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_anchor_link))}] ). -file("src/telega/model/encoder.gleam", 5840). -spec encode_rich_text_bot_command(telega@model@types:rich_text_bot_command()) -> gleam@json:json(). encode_rich_text_bot_command(Rich_text_bot_command) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_bot_command))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_bot_command))}, {<<"bot_command"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_bot_command))}] ). -file("src/telega/model/encoder.gleam", 5850). -spec encode_rich_text_cashtag(telega@model@types:rich_text_cashtag()) -> gleam@json:json(). encode_rich_text_cashtag(Rich_text_cashtag) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_cashtag))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_cashtag))}, {<<"cashtag"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_cashtag))}] ). -file("src/telega/model/encoder.gleam", 5896). -spec encode_rich_text_hashtag(telega@model@types:rich_text_hashtag()) -> gleam@json:json(). encode_rich_text_hashtag(Rich_text_hashtag) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_hashtag))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_hashtag))}, {<<"hashtag"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_hashtag))}] ). -file("src/telega/model/encoder.gleam", 5927). -spec encode_rich_text_mention(telega@model@types:rich_text_mention()) -> gleam@json:json(). encode_rich_text_mention(Rich_text_mention) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_mention))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_mention))}, {<<"username"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_mention))}] ). -file("src/telega/model/encoder.gleam", 5820). -spec encode_rich_text_bank_card_number( telega@model@types:rich_text_bank_card_number() ) -> gleam@json:json(). encode_rich_text_bank_card_number(Rich_text_bank_card_number) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_bank_card_number))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_bank_card_number))}, {<<"bank_card_number"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_bank_card_number))}] ). -file("src/telega/model/encoder.gleam", 5935). -spec encode_rich_text_phone_number(telega@model@types:rich_text_phone_number()) -> gleam@json:json(). encode_rich_text_phone_number(Rich_text_phone_number) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_phone_number))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_phone_number))}, {<<"phone_number"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_phone_number))}] ). -file("src/telega/model/encoder.gleam", 5886). -spec encode_rich_text_email_address( telega@model@types:rich_text_email_address() ) -> gleam@json:json(). encode_rich_text_email_address(Rich_text_email_address) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_email_address))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_email_address))}, {<<"email_address"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_email_address))}] ). -file("src/telega/model/encoder.gleam", 6018). -spec encode_rich_text_url(telega@model@types:rich_text_url()) -> gleam@json:json(). encode_rich_text_url(Rich_text_url) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_url))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_url))}, {<<"url"/utf8>>, gleam@json:string(erlang:element(4, Rich_text_url))}] ). -file("src/telega/model/encoder.gleam", 5858). -spec encode_rich_text_code(telega@model@types:rich_text_code()) -> gleam@json:json(). encode_rich_text_code(Rich_text_code) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_code))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_code))}] ). -file("src/telega/model/encoder.gleam", 5911). -spec encode_rich_text_marked(telega@model@types:rich_text_marked()) -> gleam@json:json(). encode_rich_text_marked(Rich_text_marked) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_marked))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_marked))}] ). -file("src/telega/model/encoder.gleam", 5990). -spec encode_rich_text_superscript(telega@model@types:rich_text_superscript()) -> gleam@json:json(). encode_rich_text_superscript(Rich_text_superscript) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_superscript))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_superscript))}] ). -file("src/telega/model/encoder.gleam", 5981). -spec encode_rich_text_subscript(telega@model@types:rich_text_subscript()) -> gleam@json:json(). encode_rich_text_subscript(Rich_text_subscript) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_subscript))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_subscript))}] ). -file("src/telega/model/encoder.gleam", 5999). -spec encode_rich_text_text_mention(telega@model@types:rich_text_text_mention()) -> gleam@json:json(). encode_rich_text_text_mention(Rich_text_text_mention) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_text_mention))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_text_mention))}, {<<"user"/utf8>>, encode_user(erlang:element(4, Rich_text_text_mention))}] ). -file("src/telega/model/encoder.gleam", 5875). -spec encode_rich_text_date_time(telega@model@types:rich_text_date_time()) -> gleam@json:json(). encode_rich_text_date_time(Rich_text_date_time) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_date_time))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_date_time))}, {<<"unix_time"/utf8>>, gleam@json:int(erlang:element(4, Rich_text_date_time))}, {<<"date_time_format"/utf8>>, gleam@json:string(erlang:element(5, Rich_text_date_time))}] ). -file("src/telega/model/encoder.gleam", 5965). -spec encode_rich_text_spoiler(telega@model@types:rich_text_spoiler()) -> gleam@json:json(). encode_rich_text_spoiler(Rich_text_spoiler) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_spoiler))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_spoiler))}] ). -file("src/telega/model/encoder.gleam", 5972). -spec encode_rich_text_strikethrough( telega@model@types:rich_text_strikethrough() ) -> gleam@json:json(). encode_rich_text_strikethrough(Rich_text_strikethrough) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_strikethrough))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_strikethrough))}] ). -file("src/telega/model/encoder.gleam", 6009). -spec encode_rich_text_underline(telega@model@types:rich_text_underline()) -> gleam@json:json(). encode_rich_text_underline(Rich_text_underline) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_underline))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_underline))}] ). -file("src/telega/model/encoder.gleam", 5904). -spec encode_rich_text_italic(telega@model@types:rich_text_italic()) -> gleam@json:json(). encode_rich_text_italic(Rich_text_italic) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_italic))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_italic))}] ). -file("src/telega/model/encoder.gleam", 5833). -spec encode_rich_text_bold(telega@model@types:rich_text_bold()) -> gleam@json:json(). encode_rich_text_bold(Rich_text_bold) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_text_bold))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_text_bold))}] ). -file("src/telega/model/encoder.gleam", 7405). -spec encode_rich_text(telega@model@types:rich_text()) -> gleam@json:json(). encode_rich_text(Value) -> case Value of {string_rich_text, Inner_value} -> gleam@json:string(Inner_value); {list_rich_text, Inner_value@1} -> gleam@json:array(Inner_value@1, fun encode_rich_text/1); {rich_text_bold_rich_text, Inner_value@2} -> encode_rich_text_bold(Inner_value@2); {rich_text_italic_rich_text, Inner_value@3} -> encode_rich_text_italic(Inner_value@3); {rich_text_underline_rich_text, Inner_value@4} -> encode_rich_text_underline(Inner_value@4); {rich_text_strikethrough_rich_text, Inner_value@5} -> encode_rich_text_strikethrough(Inner_value@5); {rich_text_spoiler_rich_text, Inner_value@6} -> encode_rich_text_spoiler(Inner_value@6); {rich_text_date_time_rich_text, Inner_value@7} -> encode_rich_text_date_time(Inner_value@7); {rich_text_text_mention_rich_text, Inner_value@8} -> encode_rich_text_text_mention(Inner_value@8); {rich_text_subscript_rich_text, Inner_value@9} -> encode_rich_text_subscript(Inner_value@9); {rich_text_superscript_rich_text, Inner_value@10} -> encode_rich_text_superscript(Inner_value@10); {rich_text_marked_rich_text, Inner_value@11} -> encode_rich_text_marked(Inner_value@11); {rich_text_code_rich_text, Inner_value@12} -> encode_rich_text_code(Inner_value@12); {rich_text_custom_emoji_rich_text, Inner_value@13} -> encode_rich_text_custom_emoji(Inner_value@13); {rich_text_mathematical_expression_rich_text, Inner_value@14} -> encode_rich_text_mathematical_expression(Inner_value@14); {rich_text_url_rich_text, Inner_value@15} -> encode_rich_text_url(Inner_value@15); {rich_text_email_address_rich_text, Inner_value@16} -> encode_rich_text_email_address(Inner_value@16); {rich_text_phone_number_rich_text, Inner_value@17} -> encode_rich_text_phone_number(Inner_value@17); {rich_text_bank_card_number_rich_text, Inner_value@18} -> encode_rich_text_bank_card_number(Inner_value@18); {rich_text_mention_rich_text, Inner_value@19} -> encode_rich_text_mention(Inner_value@19); {rich_text_hashtag_rich_text, Inner_value@20} -> encode_rich_text_hashtag(Inner_value@20); {rich_text_cashtag_rich_text, Inner_value@21} -> encode_rich_text_cashtag(Inner_value@21); {rich_text_bot_command_rich_text, Inner_value@22} -> encode_rich_text_bot_command(Inner_value@22); {rich_text_anchor_rich_text, Inner_value@23} -> encode_rich_text_anchor(Inner_value@23); {rich_text_anchor_link_rich_text, Inner_value@24} -> encode_rich_text_anchor_link(Inner_value@24); {rich_text_reference_rich_text, Inner_value@25} -> encode_rich_text_reference(Inner_value@25); {rich_text_reference_link_rich_text, Inner_value@26} -> encode_rich_text_reference_link(Inner_value@26) end. -file("src/telega/model/encoder.gleam", 5762). -spec encode_rich_block_thinking(telega@model@types:rich_block_thinking()) -> gleam@json:json(). encode_rich_block_thinking(Rich_block_thinking) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_thinking))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_block_thinking))}] ). -file("src/telega/model/encoder.gleam", 5576). -spec encode_rich_block_caption(telega@model@types:rich_block_caption()) -> gleam@json:json(). encode_rich_block_caption(Rich_block_caption) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, encode_rich_text(erlang:element(2, Rich_block_caption))}, {<<"credit"/utf8>>, gleam@json:nullable( erlang:element(3, Rich_block_caption), fun encode_rich_text/1 )}] ). -file("src/telega/model/encoder.gleam", 5783). -spec encode_rich_block_voice_note(telega@model@types:rich_block_voice_note()) -> gleam@json:json(). encode_rich_block_voice_note(Rich_block_voice_note) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_voice_note))}, {<<"voice_note"/utf8>>, encode_voice(erlang:element(3, Rich_block_voice_note))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_voice_note), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5771). -spec encode_rich_block_video(telega@model@types:rich_block_video()) -> gleam@json:json(). encode_rich_block_video(Rich_block_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_video))}, {<<"video"/utf8>>, encode_video(erlang:element(3, Rich_block_video))}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_video), fun gleam@json:bool/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Rich_block_video), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5674). -spec encode_rich_block_photo(telega@model@types:rich_block_photo()) -> gleam@json:json(). encode_rich_block_photo(Rich_block_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_photo))}, {<<"photo"/utf8>>, gleam@json:array( erlang:element(3, Rich_block_photo), fun encode_photo_size/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_photo), fun gleam@json:bool/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Rich_block_photo), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5549). -spec encode_rich_block_audio(telega@model@types:rich_block_audio()) -> gleam@json:json(). encode_rich_block_audio(Rich_block_audio) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_audio))}, {<<"audio"/utf8>>, encode_audio(erlang:element(3, Rich_block_audio))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_audio), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5535). -spec encode_rich_block_animation(telega@model@types:rich_block_animation()) -> gleam@json:json(). encode_rich_block_animation(Rich_block_animation) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_animation))}, {<<"animation"/utf8>>, encode_animation(erlang:element(3, Rich_block_animation))}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_animation), fun gleam@json:bool/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Rich_block_animation), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5642). -spec encode_rich_block_map(telega@model@types:rich_block_map()) -> gleam@json:json(). encode_rich_block_map(Rich_block_map) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_map))}, {<<"location"/utf8>>, encode_location(erlang:element(3, Rich_block_map))}, {<<"zoom"/utf8>>, gleam@json:int(erlang:element(4, Rich_block_map))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(5, Rich_block_map))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(6, Rich_block_map))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Rich_block_map), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5749). -spec encode_rich_block_table_cell(telega@model@types:rich_block_table_cell()) -> gleam@json:json(). encode_rich_block_table_cell(Rich_block_table_cell) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, gleam@json:nullable( erlang:element(2, Rich_block_table_cell), fun encode_rich_text/1 )}, {<<"is_header"/utf8>>, gleam@json:nullable( erlang:element(3, Rich_block_table_cell), fun gleam@json:bool/1 )}, {<<"colspan"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_table_cell), fun gleam@json:int/1 )}, {<<"rowspan"/utf8>>, gleam@json:nullable( erlang:element(5, Rich_block_table_cell), fun gleam@json:int/1 )}, {<<"align"/utf8>>, gleam@json:string(erlang:element(6, Rich_block_table_cell))}, {<<"valign"/utf8>>, gleam@json:string(erlang:element(7, Rich_block_table_cell))}] ). -file("src/telega/model/encoder.gleam", 5732). -spec encode_rich_block_table(telega@model@types:rich_block_table()) -> gleam@json:json(). encode_rich_block_table(Rich_block_table) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_table))}, {<<"cells"/utf8>>, (fun(Rows) -> gleam@json:array( Rows, fun(Row) -> gleam@json:array( Row, fun encode_rich_block_table_cell/1 ) end ) end)(erlang:element(3, Rich_block_table))}, {<<"is_bordered"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_table), fun gleam@json:bool/1 )}, {<<"is_striped"/utf8>>, gleam@json:nullable( erlang:element(5, Rich_block_table), fun gleam@json:bool/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Rich_block_table), fun encode_rich_text/1 )}] ). -file("src/telega/model/encoder.gleam", 5696). -spec encode_rich_block_pull_quotation( telega@model@types:rich_block_pull_quotation() ) -> gleam@json:json(). encode_rich_block_pull_quotation(Rich_block_pull_quotation) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_pull_quotation))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_block_pull_quotation))}, {<<"credit"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_pull_quotation), fun encode_rich_text/1 )}] ). -file("src/telega/model/encoder.gleam", 5528). -spec encode_rich_block_anchor(telega@model@types:rich_block_anchor()) -> gleam@json:json(). encode_rich_block_anchor(Rich_block_anchor) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_anchor))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Rich_block_anchor))}] ). -file("src/telega/model/encoder.gleam", 5656). -spec encode_rich_block_mathematical_expression( telega@model@types:rich_block_mathematical_expression() ) -> gleam@json:json(). encode_rich_block_mathematical_expression(Rich_block_mathematical_expression) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Rich_block_mathematical_expression) )}, {<<"expression"/utf8>>, gleam@json:string( erlang:element(3, Rich_block_mathematical_expression) )}] ). -file("src/telega/model/encoder.gleam", 5603). -spec encode_rich_block_divider(telega@model@types:rich_block_divider()) -> gleam@json:json(). encode_rich_block_divider(Rich_block_divider) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_divider))}] ). -file("src/telega/model/encoder.gleam", 5609). -spec encode_rich_block_footer(telega@model@types:rich_block_footer()) -> gleam@json:json(). encode_rich_block_footer(Rich_block_footer) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_footer))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_block_footer))}] ). -file("src/telega/model/encoder.gleam", 5686). -spec encode_rich_block_preformatted( telega@model@types:rich_block_preformatted() ) -> gleam@json:json(). encode_rich_block_preformatted(Rich_block_preformatted) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_preformatted))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_block_preformatted))}, {<<"language"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_preformatted), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 5709). -spec encode_rich_block_section_heading( telega@model@types:rich_block_section_heading() ) -> gleam@json:json(). encode_rich_block_section_heading(Rich_block_section_heading) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_section_heading))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_block_section_heading))}, {<<"size"/utf8>>, gleam@json:int(erlang:element(4, Rich_block_section_heading))}] ). -file("src/telega/model/encoder.gleam", 5665). -spec encode_rich_block_paragraph(telega@model@types:rich_block_paragraph()) -> gleam@json:json(). encode_rich_block_paragraph(Rich_block_paragraph) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_paragraph))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Rich_block_paragraph))}] ). -file("src/telega/model/encoder.gleam", 5594). -spec encode_rich_block_details(telega@model@types:rich_block_details()) -> gleam@json:json(). encode_rich_block_details(Rich_block_details) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_details))}, {<<"summary"/utf8>>, encode_rich_text(erlang:element(3, Rich_block_details))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(4, Rich_block_details), fun encode_rich_block/1 )}, {<<"is_open"/utf8>>, gleam@json:nullable( erlang:element(5, Rich_block_details), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 5719). -spec encode_rich_block_slideshow(telega@model@types:rich_block_slideshow()) -> gleam@json:json(). encode_rich_block_slideshow(Rich_block_slideshow) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_slideshow))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(3, Rich_block_slideshow), fun encode_rich_block/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_slideshow), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5583). -spec encode_rich_block_collage(telega@model@types:rich_block_collage()) -> gleam@json:json(). encode_rich_block_collage(Rich_block_collage) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_collage))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(3, Rich_block_collage), fun encode_rich_block/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_collage), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 5560). -spec encode_rich_block_block_quotation( telega@model@types:rich_block_block_quotation() ) -> gleam@json:json(). encode_rich_block_block_quotation(Rich_block_block_quotation) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_block_quotation))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(3, Rich_block_block_quotation), fun encode_rich_block/1 )}, {<<"credit"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_block_quotation), fun encode_rich_text/1 )}] ). -file("src/telega/model/encoder.gleam", 5626). -spec encode_rich_block_list_item(telega@model@types:rich_block_list_item()) -> gleam@json:json(). encode_rich_block_list_item(Rich_block_list_item) -> telega@internal@utils:json_object_filter_nulls( [{<<"label"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_list_item))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(3, Rich_block_list_item), fun encode_rich_block/1 )}, {<<"has_checkbox"/utf8>>, gleam@json:nullable( erlang:element(4, Rich_block_list_item), fun gleam@json:bool/1 )}, {<<"is_checked"/utf8>>, gleam@json:nullable( erlang:element(5, Rich_block_list_item), fun gleam@json:bool/1 )}, {<<"value"/utf8>>, gleam@json:nullable( erlang:element(6, Rich_block_list_item), fun gleam@json:int/1 )}, {<<"type"/utf8>>, gleam@json:nullable( erlang:element(7, Rich_block_list_item), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 5616). -spec encode_rich_block_list(telega@model@types:rich_block_list()) -> gleam@json:json(). encode_rich_block_list(Rich_block_list) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Rich_block_list))}, {<<"items"/utf8>>, gleam@json:array( erlang:element(3, Rich_block_list), fun encode_rich_block_list_item/1 )}] ). -file("src/telega/model/encoder.gleam", 7364). -spec encode_rich_block(telega@model@types:rich_block()) -> gleam@json:json(). encode_rich_block(Value) -> case Value of {rich_block_paragraph_rich_block, Inner_value} -> encode_rich_block_paragraph(Inner_value); {rich_block_section_heading_rich_block, Inner_value@1} -> encode_rich_block_section_heading(Inner_value@1); {rich_block_preformatted_rich_block, Inner_value@2} -> encode_rich_block_preformatted(Inner_value@2); {rich_block_footer_rich_block, Inner_value@3} -> encode_rich_block_footer(Inner_value@3); {rich_block_divider_rich_block, Inner_value@4} -> encode_rich_block_divider(Inner_value@4); {rich_block_mathematical_expression_rich_block, Inner_value@5} -> encode_rich_block_mathematical_expression(Inner_value@5); {rich_block_anchor_rich_block, Inner_value@6} -> encode_rich_block_anchor(Inner_value@6); {rich_block_list_rich_block, Inner_value@7} -> encode_rich_block_list(Inner_value@7); {rich_block_block_quotation_rich_block, Inner_value@8} -> encode_rich_block_block_quotation(Inner_value@8); {rich_block_pull_quotation_rich_block, Inner_value@9} -> encode_rich_block_pull_quotation(Inner_value@9); {rich_block_collage_rich_block, Inner_value@10} -> encode_rich_block_collage(Inner_value@10); {rich_block_slideshow_rich_block, Inner_value@11} -> encode_rich_block_slideshow(Inner_value@11); {rich_block_table_rich_block, Inner_value@12} -> encode_rich_block_table(Inner_value@12); {rich_block_details_rich_block, Inner_value@13} -> encode_rich_block_details(Inner_value@13); {rich_block_map_rich_block, Inner_value@14} -> encode_rich_block_map(Inner_value@14); {rich_block_animation_rich_block, Inner_value@15} -> encode_rich_block_animation(Inner_value@15); {rich_block_audio_rich_block, Inner_value@16} -> encode_rich_block_audio(Inner_value@16); {rich_block_photo_rich_block, Inner_value@17} -> encode_rich_block_photo(Inner_value@17); {rich_block_video_rich_block, Inner_value@18} -> encode_rich_block_video(Inner_value@18); {rich_block_voice_note_rich_block, Inner_value@19} -> encode_rich_block_voice_note(Inner_value@19); {rich_block_thinking_rich_block, Inner_value@20} -> encode_rich_block_thinking(Inner_value@20) end. -file("src/telega/model/encoder.gleam", 5796). -spec encode_rich_message(telega@model@types:rich_message()) -> gleam@json:json(). encode_rich_message(Rich_message) -> telega@internal@utils:json_object_filter_nulls( [{<<"blocks"/utf8>>, gleam@json:array( erlang:element(2, Rich_message), fun encode_rich_block/1 )}, {<<"is_rtl"/utf8>>, gleam@json:nullable( erlang:element(3, Rich_message), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 6339). -spec encode_suggested_post_info(telega@model@types:suggested_post_info()) -> gleam@json:json(). encode_suggested_post_info(Suggested_post_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"state"/utf8>>, gleam@json:string(erlang:element(2, Suggested_post_info))}, {<<"price"/utf8>>, gleam@json:nullable( erlang:element(3, Suggested_post_info), fun encode_suggested_post_price/1 )}, {<<"send_date"/utf8>>, gleam@json:nullable( erlang:element(4, Suggested_post_info), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 4253). -spec encode_link_preview_options(telega@model@types:link_preview_options()) -> gleam@json:json(). encode_link_preview_options(Link_preview_options) -> telega@internal@utils:json_object_filter_nulls( [{<<"is_disabled"/utf8>>, gleam@json:nullable( erlang:element(2, Link_preview_options), fun gleam@json:bool/1 )}, {<<"url"/utf8>>, gleam@json:nullable( erlang:element(3, Link_preview_options), fun gleam@json:string/1 )}, {<<"prefer_small_media"/utf8>>, gleam@json:nullable( erlang:element(4, Link_preview_options), fun gleam@json:bool/1 )}, {<<"prefer_large_media"/utf8>>, gleam@json:nullable( erlang:element(5, Link_preview_options), fun gleam@json:bool/1 )}, {<<"show_above_text"/utf8>>, gleam@json:nullable( erlang:element(6, Link_preview_options), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 6441). -spec encode_text_quote(telega@model@types:text_quote()) -> gleam@json:json(). encode_text_quote(Text_quote) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, gleam@json:string(erlang:element(2, Text_quote))}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(3, Text_quote), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"position"/utf8>>, gleam@json:int(erlang:element(4, Text_quote))}, {<<"is_manual"/utf8>>, gleam@json:nullable( erlang:element(5, Text_quote), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 4778). -spec encode_message_origin_channel(telega@model@types:message_origin_channel()) -> gleam@json:json(). encode_message_origin_channel(Message_origin_channel) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Message_origin_channel))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(3, Message_origin_channel))}, {<<"chat"/utf8>>, encode_chat(erlang:element(4, Message_origin_channel))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(5, Message_origin_channel))}, {<<"author_signature"/utf8>>, gleam@json:nullable( erlang:element(6, Message_origin_channel), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 4793). -spec encode_message_origin_chat(telega@model@types:message_origin_chat()) -> gleam@json:json(). encode_message_origin_chat(Message_origin_chat) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Message_origin_chat))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(3, Message_origin_chat))}, {<<"sender_chat"/utf8>>, encode_chat(erlang:element(4, Message_origin_chat))}, {<<"author_signature"/utf8>>, gleam@json:nullable( erlang:element(5, Message_origin_chat), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 4807). -spec encode_message_origin_hidden_user( telega@model@types:message_origin_hidden_user() ) -> gleam@json:json(). encode_message_origin_hidden_user(Message_origin_hidden_user) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Message_origin_hidden_user))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(3, Message_origin_hidden_user))}, {<<"sender_user_name"/utf8>>, gleam@json:string(erlang:element(4, Message_origin_hidden_user))}] ). -file("src/telega/model/encoder.gleam", 4820). -spec encode_message_origin_user(telega@model@types:message_origin_user()) -> gleam@json:json(). encode_message_origin_user(Message_origin_user) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Message_origin_user))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(3, Message_origin_user))}, {<<"sender_user"/utf8>>, encode_user(erlang:element(4, Message_origin_user))}] ). -file("src/telega/model/encoder.gleam", 7286). -spec encode_message_origin(telega@model@types:message_origin()) -> gleam@json:json(). encode_message_origin(Value) -> case Value of {message_origin_user_message_origin, Inner_value} -> encode_message_origin_user(Inner_value); {message_origin_hidden_user_message_origin, Inner_value@1} -> encode_message_origin_hidden_user(Inner_value@1); {message_origin_chat_message_origin, Inner_value@2} -> encode_message_origin_chat(Inner_value@2); {message_origin_channel_message_origin, Inner_value@3} -> encode_message_origin_channel(Inner_value@3) end. -file("src/telega/model/encoder.gleam", 1695). -spec encode_external_reply_info(telega@model@types:external_reply_info()) -> gleam@json:json(). encode_external_reply_info(External_reply_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"origin"/utf8>>, encode_message_origin(erlang:element(2, External_reply_info))}, {<<"chat"/utf8>>, gleam@json:nullable( erlang:element(3, External_reply_info), fun encode_chat/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(4, External_reply_info), fun gleam@json:int/1 )}, {<<"link_preview_options"/utf8>>, gleam@json:nullable( erlang:element(5, External_reply_info), fun encode_link_preview_options/1 )}, {<<"animation"/utf8>>, gleam@json:nullable( erlang:element(6, External_reply_info), fun encode_animation/1 )}, {<<"audio"/utf8>>, gleam@json:nullable( erlang:element(7, External_reply_info), fun encode_audio/1 )}, {<<"document"/utf8>>, gleam@json:nullable( erlang:element(8, External_reply_info), fun encode_document/1 )}, {<<"live_photo"/utf8>>, gleam@json:nullable( erlang:element(9, External_reply_info), fun encode_live_photo/1 )}, {<<"paid_media"/utf8>>, gleam@json:nullable( erlang:element(10, External_reply_info), fun encode_paid_media_info/1 )}, {<<"photo"/utf8>>, gleam@json:nullable( erlang:element(11, External_reply_info), fun(_capture) -> gleam@json:array(_capture, fun encode_photo_size/1) end )}, {<<"sticker"/utf8>>, gleam@json:nullable( erlang:element(12, External_reply_info), fun encode_sticker/1 )}, {<<"story"/utf8>>, gleam@json:nullable( erlang:element(13, External_reply_info), fun encode_story/1 )}, {<<"video"/utf8>>, gleam@json:nullable( erlang:element(14, External_reply_info), fun encode_video/1 )}, {<<"video_note"/utf8>>, gleam@json:nullable( erlang:element(15, External_reply_info), fun encode_video_note/1 )}, {<<"voice"/utf8>>, gleam@json:nullable( erlang:element(16, External_reply_info), fun encode_voice/1 )}, {<<"has_media_spoiler"/utf8>>, gleam@json:nullable( erlang:element(17, External_reply_info), fun gleam@json:bool/1 )}, {<<"checklist"/utf8>>, gleam@json:nullable( erlang:element(18, External_reply_info), fun encode_checklist/1 )}, {<<"contact"/utf8>>, gleam@json:nullable( erlang:element(19, External_reply_info), fun encode_contact/1 )}, {<<"dice"/utf8>>, gleam@json:nullable( erlang:element(20, External_reply_info), fun encode_dice/1 )}, {<<"game"/utf8>>, gleam@json:nullable( erlang:element(21, External_reply_info), fun encode_game/1 )}, {<<"giveaway"/utf8>>, gleam@json:nullable( erlang:element(22, External_reply_info), fun encode_giveaway/1 )}, {<<"giveaway_winners"/utf8>>, gleam@json:nullable( erlang:element(23, External_reply_info), fun encode_giveaway_winners/1 )}, {<<"invoice"/utf8>>, gleam@json:nullable( erlang:element(24, External_reply_info), fun encode_invoice/1 )}, {<<"location"/utf8>>, gleam@json:nullable( erlang:element(25, External_reply_info), fun encode_location/1 )}, {<<"poll"/utf8>>, gleam@json:nullable( erlang:element(26, External_reply_info), fun encode_poll/1 )}, {<<"venue"/utf8>>, gleam@json:nullable( erlang:element(27, External_reply_info), fun encode_venue/1 )}] ). -file("src/telega/model/encoder.gleam", 1621). -spec encode_direct_messages_topic(telega@model@types:direct_messages_topic()) -> gleam@json:json(). encode_direct_messages_topic(Direct_messages_topic) -> telega@internal@utils:json_object_filter_nulls( [{<<"topic_id"/utf8>>, gleam@json:int(erlang:element(2, Direct_messages_topic))}, {<<"user"/utf8>>, gleam@json:nullable( erlang:element(3, Direct_messages_topic), fun encode_user/1 )}] ). -file("src/telega/model/encoder.gleam", 6393). -spec encode_suggested_post_refunded( telega@model@types:suggested_post_refunded() ) -> gleam@json:json(). encode_suggested_post_refunded(Suggested_post_refunded) -> telega@internal@utils:json_object_filter_nulls( [{<<"suggested_post_message"/utf8>>, gleam@json:nullable( erlang:element(2, Suggested_post_refunded), fun encode_message/1 )}, {<<"reason"/utf8>>, gleam@json:string(erlang:element(3, Suggested_post_refunded))}] ). -file("src/telega/model/encoder.gleam", 6352). -spec encode_suggested_post_paid(telega@model@types:suggested_post_paid()) -> gleam@json:json(). encode_suggested_post_paid(Suggested_post_paid) -> telega@internal@utils:json_object_filter_nulls( [{<<"suggested_post_message"/utf8>>, gleam@json:nullable( erlang:element(2, Suggested_post_paid), fun encode_message/1 )}, {<<"currency"/utf8>>, gleam@json:string(erlang:element(3, Suggested_post_paid))}, {<<"amount"/utf8>>, gleam@json:nullable( erlang:element(4, Suggested_post_paid), fun gleam@json:int/1 )}, {<<"star_amount"/utf8>>, gleam@json:nullable( erlang:element(5, Suggested_post_paid), fun encode_star_amount/1 )}] ). -file("src/telega/model/encoder.gleam", 6324). -spec encode_suggested_post_declined( telega@model@types:suggested_post_declined() ) -> gleam@json:json(). encode_suggested_post_declined(Suggested_post_declined) -> telega@internal@utils:json_object_filter_nulls( [{<<"suggested_post_message"/utf8>>, gleam@json:nullable( erlang:element(2, Suggested_post_declined), fun encode_message/1 )}, {<<"comment"/utf8>>, gleam@json:nullable( erlang:element(3, Suggested_post_declined), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 6287). -spec encode_suggested_post_approval_failed( telega@model@types:suggested_post_approval_failed() ) -> gleam@json:json(). encode_suggested_post_approval_failed(Suggested_post_approval_failed) -> telega@internal@utils:json_object_filter_nulls( [{<<"suggested_post_message"/utf8>>, gleam@json:nullable( erlang:element(2, Suggested_post_approval_failed), fun encode_message/1 )}, {<<"price"/utf8>>, encode_suggested_post_price( erlang:element(3, Suggested_post_approval_failed) )}] ). -file("src/telega/model/encoder.gleam", 6305). -spec encode_suggested_post_approved( telega@model@types:suggested_post_approved() ) -> gleam@json:json(). encode_suggested_post_approved(Suggested_post_approved) -> telega@internal@utils:json_object_filter_nulls( [{<<"suggested_post_message"/utf8>>, gleam@json:nullable( erlang:element(2, Suggested_post_approved), fun encode_message/1 )}, {<<"price"/utf8>>, gleam@json:nullable( erlang:element(3, Suggested_post_approved), fun encode_suggested_post_price/1 )}, {<<"send_date"/utf8>>, gleam@json:int(erlang:element(4, Suggested_post_approved))}] ). -file("src/telega/model/encoder.gleam", 5291). -spec encode_poll_option_deleted(telega@model@types:poll_option_deleted()) -> gleam@json:json(). encode_poll_option_deleted(Poll_option_deleted) -> telega@internal@utils:json_object_filter_nulls( [{<<"poll_message"/utf8>>, gleam@json:nullable( erlang:element(2, Poll_option_deleted), fun encode_maybe_inaccessible_message/1 )}, {<<"option_persistent_id"/utf8>>, gleam@json:string(erlang:element(3, Poll_option_deleted))}, {<<"option_text"/utf8>>, gleam@json:string(erlang:element(4, Poll_option_deleted))}, {<<"option_text_entities"/utf8>>, gleam@json:nullable( erlang:element(5, Poll_option_deleted), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}] ). -file("src/telega/model/encoder.gleam", 5267). -spec encode_poll_option_added(telega@model@types:poll_option_added()) -> gleam@json:json(). encode_poll_option_added(Poll_option_added) -> telega@internal@utils:json_object_filter_nulls( [{<<"poll_message"/utf8>>, gleam@json:nullable( erlang:element(2, Poll_option_added), fun encode_maybe_inaccessible_message/1 )}, {<<"option_persistent_id"/utf8>>, gleam@json:string(erlang:element(3, Poll_option_added))}, {<<"option_text"/utf8>>, gleam@json:string(erlang:element(4, Poll_option_added))}, {<<"option_text_entities"/utf8>>, gleam@json:nullable( erlang:element(5, Poll_option_added), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}] ). -file("src/telega/model/encoder.gleam", 1967). -spec encode_giveaway_completed(telega@model@types:giveaway_completed()) -> gleam@json:json(). encode_giveaway_completed(Giveaway_completed) -> telega@internal@utils:json_object_filter_nulls( [{<<"winner_count"/utf8>>, gleam@json:int(erlang:element(2, Giveaway_completed))}, {<<"unclaimed_prize_count"/utf8>>, gleam@json:nullable( erlang:element(3, Giveaway_completed), fun gleam@json:int/1 )}, {<<"giveaway_message"/utf8>>, gleam@json:nullable( erlang:element(4, Giveaway_completed), fun encode_message/1 )}, {<<"is_star_giveaway"/utf8>>, gleam@json:nullable( erlang:element(5, Giveaway_completed), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 1504). -spec encode_checklist_tasks_added(telega@model@types:checklist_tasks_added()) -> gleam@json:json(). encode_checklist_tasks_added(Checklist_tasks_added) -> telega@internal@utils:json_object_filter_nulls( [{<<"checklist_message"/utf8>>, gleam@json:nullable( erlang:element(2, Checklist_tasks_added), fun encode_message/1 )}, {<<"tasks"/utf8>>, gleam@json:array( erlang:element(3, Checklist_tasks_added), fun encode_checklist_task/1 )}] ). -file("src/telega/model/encoder.gleam", 1519). -spec encode_checklist_tasks_done(telega@model@types:checklist_tasks_done()) -> gleam@json:json(). encode_checklist_tasks_done(Checklist_tasks_done) -> telega@internal@utils:json_object_filter_nulls( [{<<"checklist_message"/utf8>>, gleam@json:nullable( erlang:element(2, Checklist_tasks_done), fun encode_message/1 )}, {<<"marked_as_done_task_ids"/utf8>>, gleam@json:nullable( erlang:element(3, Checklist_tasks_done), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:int/1) end )}, {<<"marked_as_not_done_task_ids"/utf8>>, gleam@json:nullable( erlang:element(4, Checklist_tasks_done), fun(_capture@1) -> gleam@json:array(_capture@1, fun gleam@json:int/1) end )}] ). -file("src/telega/model/encoder.gleam", 4380). -spec encode_message(telega@model@types:message()) -> gleam@json:json(). encode_message(Message) -> telega@internal@utils:json_object_filter_nulls( [{<<"message_id"/utf8>>, gleam@json:int(erlang:element(2, Message))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(3, Message), fun gleam@json:int/1 )}, {<<"direct_messages_topic"/utf8>>, gleam@json:nullable( erlang:element(4, Message), fun encode_direct_messages_topic/1 )}, {<<"from"/utf8>>, gleam@json:nullable( erlang:element(5, Message), fun encode_user/1 )}, {<<"sender_chat"/utf8>>, gleam@json:nullable( erlang:element(6, Message), fun encode_chat/1 )}, {<<"sender_boost_count"/utf8>>, gleam@json:nullable( erlang:element(7, Message), fun gleam@json:int/1 )}, {<<"sender_business_bot"/utf8>>, gleam@json:nullable( erlang:element(8, Message), fun encode_user/1 )}, {<<"sender_tag"/utf8>>, gleam@json:nullable( erlang:element(9, Message), fun gleam@json:string/1 )}, {<<"receiver_user"/utf8>>, gleam@json:nullable( erlang:element(10, Message), fun encode_user/1 )}, {<<"ephemeral_message_id"/utf8>>, gleam@json:nullable( erlang:element(11, Message), fun gleam@json:int/1 )}, {<<"date"/utf8>>, gleam@json:int(erlang:element(12, Message))}, {<<"guest_query_id"/utf8>>, gleam@json:nullable( erlang:element(13, Message), fun gleam@json:string/1 )}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(14, Message), fun gleam@json:string/1 )}, {<<"chat"/utf8>>, encode_chat(erlang:element(15, Message))}, {<<"forward_origin"/utf8>>, gleam@json:nullable( erlang:element(16, Message), fun encode_message_origin/1 )}, {<<"is_topic_message"/utf8>>, gleam@json:nullable( erlang:element(17, Message), fun gleam@json:bool/1 )}, {<<"is_automatic_forward"/utf8>>, gleam@json:nullable( erlang:element(18, Message), fun gleam@json:bool/1 )}, {<<"reply_to_message"/utf8>>, gleam@json:nullable( erlang:element(19, Message), fun encode_message/1 )}, {<<"external_reply"/utf8>>, gleam@json:nullable( erlang:element(20, Message), fun encode_external_reply_info/1 )}, {<<"quote"/utf8>>, gleam@json:nullable( erlang:element(21, Message), fun encode_text_quote/1 )}, {<<"reply_to_story"/utf8>>, gleam@json:nullable( erlang:element(22, Message), fun encode_story/1 )}, {<<"reply_to_checklist_task_id"/utf8>>, gleam@json:nullable( erlang:element(23, Message), fun gleam@json:int/1 )}, {<<"reply_to_poll_option_id"/utf8>>, gleam@json:nullable( erlang:element(24, Message), fun gleam@json:string/1 )}, {<<"via_bot"/utf8>>, gleam@json:nullable( erlang:element(25, Message), fun encode_user/1 )}, {<<"guest_bot_caller_user"/utf8>>, gleam@json:nullable( erlang:element(26, Message), fun encode_user/1 )}, {<<"guest_bot_caller_chat"/utf8>>, gleam@json:nullable( erlang:element(27, Message), fun encode_chat/1 )}, {<<"edit_date"/utf8>>, gleam@json:nullable( erlang:element(28, Message), fun gleam@json:int/1 )}, {<<"has_protected_content"/utf8>>, gleam@json:nullable( erlang:element(29, Message), fun gleam@json:bool/1 )}, {<<"is_from_offline"/utf8>>, gleam@json:nullable( erlang:element(30, Message), fun gleam@json:bool/1 )}, {<<"is_paid_post"/utf8>>, gleam@json:nullable( erlang:element(31, Message), fun gleam@json:bool/1 )}, {<<"media_group_id"/utf8>>, gleam@json:nullable( erlang:element(32, Message), fun gleam@json:string/1 )}, {<<"author_signature"/utf8>>, gleam@json:nullable( erlang:element(33, Message), fun gleam@json:string/1 )}, {<<"paid_star_count"/utf8>>, gleam@json:nullable( erlang:element(34, Message), fun gleam@json:int/1 )}, {<<"text"/utf8>>, gleam@json:nullable( erlang:element(35, Message), fun gleam@json:string/1 )}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(36, Message), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"link_preview_options"/utf8>>, gleam@json:nullable( erlang:element(37, Message), fun encode_link_preview_options/1 )}, {<<"suggested_post_info"/utf8>>, gleam@json:nullable( erlang:element(38, Message), fun encode_suggested_post_info/1 )}, {<<"effect_id"/utf8>>, gleam@json:nullable( erlang:element(39, Message), fun gleam@json:string/1 )}, {<<"rich_message"/utf8>>, gleam@json:nullable( erlang:element(40, Message), fun encode_rich_message/1 )}, {<<"animation"/utf8>>, gleam@json:nullable( erlang:element(41, Message), fun encode_animation/1 )}, {<<"audio"/utf8>>, gleam@json:nullable( erlang:element(42, Message), fun encode_audio/1 )}, {<<"document"/utf8>>, gleam@json:nullable( erlang:element(43, Message), fun encode_document/1 )}, {<<"live_photo"/utf8>>, gleam@json:nullable( erlang:element(44, Message), fun encode_live_photo/1 )}, {<<"paid_media"/utf8>>, gleam@json:nullable( erlang:element(45, Message), fun encode_paid_media_info/1 )}, {<<"photo"/utf8>>, gleam@json:nullable( erlang:element(46, Message), fun(_capture@1) -> gleam@json:array(_capture@1, fun encode_photo_size/1) end )}, {<<"sticker"/utf8>>, gleam@json:nullable( erlang:element(47, Message), fun encode_sticker/1 )}, {<<"story"/utf8>>, gleam@json:nullable( erlang:element(48, Message), fun encode_story/1 )}, {<<"video"/utf8>>, gleam@json:nullable( erlang:element(49, Message), fun encode_video/1 )}, {<<"video_note"/utf8>>, gleam@json:nullable( erlang:element(50, Message), fun encode_video_note/1 )}, {<<"voice"/utf8>>, gleam@json:nullable( erlang:element(51, Message), fun encode_voice/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(52, Message), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(53, Message), fun(_capture@2) -> gleam@json:array( _capture@2, fun encode_message_entity/1 ) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(54, Message), fun gleam@json:bool/1 )}, {<<"has_media_spoiler"/utf8>>, gleam@json:nullable( erlang:element(55, Message), fun gleam@json:bool/1 )}, {<<"checklist"/utf8>>, gleam@json:nullable( erlang:element(56, Message), fun encode_checklist/1 )}, {<<"contact"/utf8>>, gleam@json:nullable( erlang:element(57, Message), fun encode_contact/1 )}, {<<"dice"/utf8>>, gleam@json:nullable( erlang:element(58, Message), fun encode_dice/1 )}, {<<"game"/utf8>>, gleam@json:nullable( erlang:element(59, Message), fun encode_game/1 )}, {<<"poll"/utf8>>, gleam@json:nullable( erlang:element(60, Message), fun encode_poll/1 )}, {<<"venue"/utf8>>, gleam@json:nullable( erlang:element(61, Message), fun encode_venue/1 )}, {<<"location"/utf8>>, gleam@json:nullable( erlang:element(62, Message), fun encode_location/1 )}, {<<"new_chat_members"/utf8>>, gleam@json:nullable( erlang:element(63, Message), fun(_capture@3) -> gleam@json:array(_capture@3, fun encode_user/1) end )}, {<<"left_chat_member"/utf8>>, gleam@json:nullable( erlang:element(64, Message), fun encode_user/1 )}, {<<"chat_owner_left"/utf8>>, gleam@json:nullable( erlang:element(65, Message), fun encode_chat_owner_left/1 )}, {<<"chat_owner_changed"/utf8>>, gleam@json:nullable( erlang:element(66, Message), fun encode_chat_owner_changed/1 )}, {<<"new_chat_title"/utf8>>, gleam@json:nullable( erlang:element(67, Message), fun gleam@json:string/1 )}, {<<"new_chat_photo"/utf8>>, gleam@json:nullable( erlang:element(68, Message), fun(_capture@4) -> gleam@json:array(_capture@4, fun encode_photo_size/1) end )}, {<<"delete_chat_photo"/utf8>>, gleam@json:nullable( erlang:element(69, Message), fun gleam@json:bool/1 )}, {<<"group_chat_created"/utf8>>, gleam@json:nullable( erlang:element(70, Message), fun gleam@json:bool/1 )}, {<<"supergroup_chat_created"/utf8>>, gleam@json:nullable( erlang:element(71, Message), fun gleam@json:bool/1 )}, {<<"channel_chat_created"/utf8>>, gleam@json:nullable( erlang:element(72, Message), fun gleam@json:bool/1 )}, {<<"message_auto_delete_timer_changed"/utf8>>, gleam@json:nullable( erlang:element(73, Message), fun encode_message_auto_delete_timer_changed/1 )}, {<<"migrate_to_chat_id"/utf8>>, gleam@json:nullable( erlang:element(74, Message), fun gleam@json:int/1 )}, {<<"migrate_from_chat_id"/utf8>>, gleam@json:nullable( erlang:element(75, Message), fun gleam@json:int/1 )}, {<<"pinned_message"/utf8>>, gleam@json:nullable( erlang:element(76, Message), fun encode_maybe_inaccessible_message/1 )}, {<<"invoice"/utf8>>, gleam@json:nullable( erlang:element(77, Message), fun encode_invoice/1 )}, {<<"successful_payment"/utf8>>, gleam@json:nullable( erlang:element(78, Message), fun encode_successful_payment/1 )}, {<<"refunded_payment"/utf8>>, gleam@json:nullable( erlang:element(79, Message), fun encode_refunded_payment/1 )}, {<<"users_shared"/utf8>>, gleam@json:nullable( erlang:element(80, Message), fun encode_users_shared/1 )}, {<<"chat_shared"/utf8>>, gleam@json:nullable( erlang:element(81, Message), fun encode_chat_shared/1 )}, {<<"gift"/utf8>>, gleam@json:nullable( erlang:element(82, Message), fun encode_gift_info/1 )}, {<<"unique_gift"/utf8>>, gleam@json:nullable( erlang:element(83, Message), fun encode_unique_gift_info/1 )}, {<<"gift_upgrade_sent"/utf8>>, gleam@json:nullable( erlang:element(84, Message), fun encode_gift_info/1 )}, {<<"connected_website"/utf8>>, gleam@json:nullable( erlang:element(85, Message), fun gleam@json:string/1 )}, {<<"write_access_allowed"/utf8>>, gleam@json:nullable( erlang:element(86, Message), fun encode_write_access_allowed/1 )}, {<<"passport_data"/utf8>>, gleam@json:nullable( erlang:element(87, Message), fun encode_passport_data/1 )}, {<<"proximity_alert_triggered"/utf8>>, gleam@json:nullable( erlang:element(88, Message), fun encode_proximity_alert_triggered/1 )}, {<<"boost_added"/utf8>>, gleam@json:nullable( erlang:element(89, Message), fun encode_chat_boost_added/1 )}, {<<"chat_background_set"/utf8>>, gleam@json:nullable( erlang:element(90, Message), fun encode_chat_background/1 )}, {<<"checklist_tasks_done"/utf8>>, gleam@json:nullable( erlang:element(91, Message), fun encode_checklist_tasks_done/1 )}, {<<"checklist_tasks_added"/utf8>>, gleam@json:nullable( erlang:element(92, Message), fun encode_checklist_tasks_added/1 )}, {<<"community_chat_added"/utf8>>, gleam@json:nullable( erlang:element(93, Message), fun encode_community_chat_added/1 )}, {<<"community_chat_removed"/utf8>>, gleam@json:nullable( erlang:element(94, Message), fun encode_community_chat_removed/1 )}, {<<"direct_message_price_changed"/utf8>>, gleam@json:nullable( erlang:element(95, Message), fun encode_direct_message_price_changed/1 )}, {<<"forum_topic_created"/utf8>>, gleam@json:nullable( erlang:element(96, Message), fun encode_forum_topic_created/1 )}, {<<"forum_topic_edited"/utf8>>, gleam@json:nullable( erlang:element(97, Message), fun encode_forum_topic_edited/1 )}, {<<"forum_topic_closed"/utf8>>, gleam@json:nullable( erlang:element(98, Message), fun encode_forum_topic_closed/1 )}, {<<"forum_topic_reopened"/utf8>>, gleam@json:nullable( erlang:element(99, Message), fun encode_forum_topic_reopened/1 )}, {<<"general_forum_topic_hidden"/utf8>>, gleam@json:nullable( erlang:element(100, Message), fun encode_general_forum_topic_hidden/1 )}, {<<"general_forum_topic_unhidden"/utf8>>, gleam@json:nullable( erlang:element(101, Message), fun encode_general_forum_topic_unhidden/1 )}, {<<"giveaway_created"/utf8>>, gleam@json:nullable( erlang:element(102, Message), fun encode_giveaway_created/1 )}, {<<"giveaway"/utf8>>, gleam@json:nullable( erlang:element(103, Message), fun encode_giveaway/1 )}, {<<"giveaway_winners"/utf8>>, gleam@json:nullable( erlang:element(104, Message), fun encode_giveaway_winners/1 )}, {<<"giveaway_completed"/utf8>>, gleam@json:nullable( erlang:element(105, Message), fun encode_giveaway_completed/1 )}, {<<"managed_bot_created"/utf8>>, gleam@json:nullable( erlang:element(106, Message), fun encode_managed_bot_created/1 )}, {<<"paid_message_price_changed"/utf8>>, gleam@json:nullable( erlang:element(107, Message), fun encode_paid_message_price_changed/1 )}, {<<"poll_option_added"/utf8>>, gleam@json:nullable( erlang:element(108, Message), fun encode_poll_option_added/1 )}, {<<"poll_option_deleted"/utf8>>, gleam@json:nullable( erlang:element(109, Message), fun encode_poll_option_deleted/1 )}, {<<"suggested_post_approved"/utf8>>, gleam@json:nullable( erlang:element(110, Message), fun encode_suggested_post_approved/1 )}, {<<"suggested_post_approval_failed"/utf8>>, gleam@json:nullable( erlang:element(111, Message), fun encode_suggested_post_approval_failed/1 )}, {<<"suggested_post_declined"/utf8>>, gleam@json:nullable( erlang:element(112, Message), fun encode_suggested_post_declined/1 )}, {<<"suggested_post_paid"/utf8>>, gleam@json:nullable( erlang:element(113, Message), fun encode_suggested_post_paid/1 )}, {<<"suggested_post_refunded"/utf8>>, gleam@json:nullable( erlang:element(114, Message), fun encode_suggested_post_refunded/1 )}, {<<"video_chat_scheduled"/utf8>>, gleam@json:nullable( erlang:element(115, Message), fun encode_video_chat_scheduled/1 )}, {<<"video_chat_started"/utf8>>, gleam@json:nullable( erlang:element(116, Message), fun encode_video_chat_started/1 )}, {<<"video_chat_ended"/utf8>>, gleam@json:nullable( erlang:element(117, Message), fun encode_video_chat_ended/1 )}, {<<"video_chat_participants_invited"/utf8>>, gleam@json:nullable( erlang:element(118, Message), fun encode_video_chat_participants_invited/1 )}, {<<"web_app_data"/utf8>>, gleam@json:nullable( erlang:element(119, Message), fun encode_web_app_data/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(120, Message), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 7265). -spec encode_maybe_inaccessible_message( telega@model@types:maybe_inaccessible_message() ) -> gleam@json:json(). encode_maybe_inaccessible_message(Value) -> case Value of {message_maybe_inaccessible_message, Inner_value} -> encode_message(Inner_value); {inaccessible_message_maybe_inaccessible_message, Inner_value@1} -> encode_inaccessible_message(Inner_value@1) end. -file("src/telega/model/encoder.gleam", 791). -spec encode_callback_query(telega@model@types:callback_query()) -> gleam@json:json(). encode_callback_query(Callback_query) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Callback_query))}, {<<"from"/utf8>>, encode_user(erlang:element(3, Callback_query))}, {<<"message"/utf8>>, gleam@json:nullable( erlang:element(4, Callback_query), fun encode_maybe_inaccessible_message/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Callback_query), fun gleam@json:string/1 )}, {<<"chat_instance"/utf8>>, gleam@json:string(erlang:element(6, Callback_query))}, {<<"data"/utf8>>, gleam@json:nullable( erlang:element(7, Callback_query), fun gleam@json:string/1 )}, {<<"game_short_name"/utf8>>, gleam@json:nullable( erlang:element(8, Callback_query), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 825). -spec encode_chat_administrator_rights( telega@model@types:chat_administrator_rights() ) -> gleam@json:json(). encode_chat_administrator_rights(Chat_administrator_rights) -> telega@internal@utils:json_object_filter_nulls( [{<<"is_anonymous"/utf8>>, gleam@json:bool(erlang:element(2, Chat_administrator_rights))}, {<<"can_manage_chat"/utf8>>, gleam@json:bool(erlang:element(3, Chat_administrator_rights))}, {<<"can_delete_messages"/utf8>>, gleam@json:bool(erlang:element(4, Chat_administrator_rights))}, {<<"can_manage_video_chats"/utf8>>, gleam@json:bool(erlang:element(5, Chat_administrator_rights))}, {<<"can_restrict_members"/utf8>>, gleam@json:bool(erlang:element(6, Chat_administrator_rights))}, {<<"can_promote_members"/utf8>>, gleam@json:bool(erlang:element(7, Chat_administrator_rights))}, {<<"can_change_info"/utf8>>, gleam@json:bool(erlang:element(8, Chat_administrator_rights))}, {<<"can_invite_users"/utf8>>, gleam@json:bool(erlang:element(9, Chat_administrator_rights))}, {<<"can_post_stories"/utf8>>, gleam@json:bool(erlang:element(10, Chat_administrator_rights))}, {<<"can_edit_stories"/utf8>>, gleam@json:bool(erlang:element(11, Chat_administrator_rights))}, {<<"can_delete_stories"/utf8>>, gleam@json:bool(erlang:element(12, Chat_administrator_rights))}, {<<"can_post_messages"/utf8>>, gleam@json:nullable( erlang:element(13, Chat_administrator_rights), fun gleam@json:bool/1 )}, {<<"can_edit_messages"/utf8>>, gleam@json:nullable( erlang:element(14, Chat_administrator_rights), fun gleam@json:bool/1 )}, {<<"can_pin_messages"/utf8>>, gleam@json:nullable( erlang:element(15, Chat_administrator_rights), fun gleam@json:bool/1 )}, {<<"can_manage_topics"/utf8>>, gleam@json:nullable( erlang:element(16, Chat_administrator_rights), fun gleam@json:bool/1 )}, {<<"can_manage_direct_messages"/utf8>>, gleam@json:nullable( erlang:element(17, Chat_administrator_rights), fun gleam@json:bool/1 )}, {<<"can_manage_tags"/utf8>>, gleam@json:nullable( erlang:element(18, Chat_administrator_rights), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 924). -spec encode_chat_boost_source_giveaway( telega@model@types:chat_boost_source_giveaway() ) -> gleam@json:json(). encode_chat_boost_source_giveaway(Chat_boost_source_giveaway) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string(erlang:element(2, Chat_boost_source_giveaway))}, {<<"giveaway_message_id"/utf8>>, gleam@json:int(erlang:element(3, Chat_boost_source_giveaway))}, {<<"user"/utf8>>, gleam@json:nullable( erlang:element(4, Chat_boost_source_giveaway), fun encode_user/1 )}, {<<"prize_star_count"/utf8>>, gleam@json:nullable( erlang:element(5, Chat_boost_source_giveaway), fun gleam@json:int/1 )}, {<<"is_unclaimed"/utf8>>, gleam@json:nullable( erlang:element(6, Chat_boost_source_giveaway), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 915). -spec encode_chat_boost_source_gift_code( telega@model@types:chat_boost_source_gift_code() ) -> gleam@json:json(). encode_chat_boost_source_gift_code(Chat_boost_source_gift_code) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Chat_boost_source_gift_code) )}, {<<"user"/utf8>>, encode_user(erlang:element(3, Chat_boost_source_gift_code))}] ). -file("src/telega/model/encoder.gleam", 945). -spec encode_chat_boost_source_premium( telega@model@types:chat_boost_source_premium() ) -> gleam@json:json(). encode_chat_boost_source_premium(Chat_boost_source_premium) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string(erlang:element(2, Chat_boost_source_premium))}, {<<"user"/utf8>>, encode_user(erlang:element(3, Chat_boost_source_premium))}] ). -file("src/telega/model/encoder.gleam", 7057). -spec encode_chat_boost_source(telega@model@types:chat_boost_source()) -> gleam@json:json(). encode_chat_boost_source(Value) -> case Value of {chat_boost_source_premium_chat_boost_source, Inner_value} -> encode_chat_boost_source_premium(Inner_value); {chat_boost_source_gift_code_chat_boost_source, Inner_value@1} -> encode_chat_boost_source_gift_code(Inner_value@1); {chat_boost_source_giveaway_chat_boost_source, Inner_value@2} -> encode_chat_boost_source_giveaway(Inner_value@2) end. -file("src/telega/model/encoder.gleam", 891). -spec encode_chat_boost(telega@model@types:chat_boost()) -> gleam@json:json(). encode_chat_boost(Chat_boost) -> telega@internal@utils:json_object_filter_nulls( [{<<"boost_id"/utf8>>, gleam@json:string(erlang:element(2, Chat_boost))}, {<<"add_date"/utf8>>, gleam@json:int(erlang:element(3, Chat_boost))}, {<<"expiration_date"/utf8>>, gleam@json:int(erlang:element(4, Chat_boost))}, {<<"source"/utf8>>, encode_chat_boost_source(erlang:element(5, Chat_boost))}] ). -file("src/telega/model/encoder.gleam", 906). -spec encode_chat_boost_removed(telega@model@types:chat_boost_removed()) -> gleam@json:json(). encode_chat_boost_removed(Chat_boost_removed) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Chat_boost_removed))}, {<<"boost_id"/utf8>>, gleam@json:string(erlang:element(3, Chat_boost_removed))}, {<<"remove_date"/utf8>>, gleam@json:int(erlang:element(4, Chat_boost_removed))}, {<<"source"/utf8>>, encode_chat_boost_source(erlang:element(5, Chat_boost_removed))}] ). -file("src/telega/model/encoder.gleam", 954). -spec encode_chat_boost_updated(telega@model@types:chat_boost_updated()) -> gleam@json:json(). encode_chat_boost_updated(Chat_boost_updated) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Chat_boost_updated))}, {<<"boost"/utf8>>, encode_chat_boost(erlang:element(3, Chat_boost_updated))}] ). -file("src/telega/model/encoder.gleam", 6845). -spec encode_user_rating(telega@model@types:user_rating()) -> gleam@json:json(). encode_user_rating(User_rating) -> telega@internal@utils:json_object_filter_nulls( [{<<"level"/utf8>>, gleam@json:int(erlang:element(2, User_rating))}, {<<"rating"/utf8>>, gleam@json:int(erlang:element(3, User_rating))}, {<<"current_level_rating"/utf8>>, gleam@json:int(erlang:element(4, User_rating))}, {<<"next_level_rating"/utf8>>, gleam@json:nullable( erlang:element(5, User_rating), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 1170). -spec encode_chat_location(telega@model@types:chat_location()) -> gleam@json:json(). encode_chat_location(Chat_location) -> telega@internal@utils:json_object_filter_nulls( [{<<"location"/utf8>>, encode_location(erlang:element(2, Chat_location))}, {<<"address"/utf8>>, gleam@json:string(erlang:element(3, Chat_location))}] ). -file("src/telega/model/encoder.gleam", 1368). -spec encode_chat_permissions(telega@model@types:chat_permissions()) -> gleam@json:json(). encode_chat_permissions(Chat_permissions) -> telega@internal@utils:json_object_filter_nulls( [{<<"can_send_messages"/utf8>>, gleam@json:nullable( erlang:element(2, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_audios"/utf8>>, gleam@json:nullable( erlang:element(3, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_documents"/utf8>>, gleam@json:nullable( erlang:element(4, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_photos"/utf8>>, gleam@json:nullable( erlang:element(5, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_videos"/utf8>>, gleam@json:nullable( erlang:element(6, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_video_notes"/utf8>>, gleam@json:nullable( erlang:element(7, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_voice_notes"/utf8>>, gleam@json:nullable( erlang:element(8, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_polls"/utf8>>, gleam@json:nullable( erlang:element(9, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_send_other_messages"/utf8>>, gleam@json:nullable( erlang:element(10, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_add_web_page_previews"/utf8>>, gleam@json:nullable( erlang:element(11, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_react_to_messages"/utf8>>, gleam@json:nullable( erlang:element(12, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_edit_tag"/utf8>>, gleam@json:nullable( erlang:element(13, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_change_info"/utf8>>, gleam@json:nullable( erlang:element(14, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_invite_users"/utf8>>, gleam@json:nullable( erlang:element(15, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_pin_messages"/utf8>>, gleam@json:nullable( erlang:element(16, Chat_permissions), fun gleam@json:bool/1 )}, {<<"can_manage_topics"/utf8>>, gleam@json:nullable( erlang:element(17, Chat_permissions), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 5390). -spec encode_reaction_type_paid(telega@model@types:reaction_type_paid()) -> gleam@json:json(). encode_reaction_type_paid(Reaction_type_paid) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Reaction_type_paid))}] ). -file("src/telega/model/encoder.gleam", 5369). -spec encode_reaction_type_custom_emoji( telega@model@types:reaction_type_custom_emoji() ) -> gleam@json:json(). encode_reaction_type_custom_emoji(Reaction_type_custom_emoji) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Reaction_type_custom_emoji))}, {<<"custom_emoji_id"/utf8>>, gleam@json:string(erlang:element(3, Reaction_type_custom_emoji))}] ). -file("src/telega/model/encoder.gleam", 5381). -spec encode_reaction_type_emoji(telega@model@types:reaction_type_emoji()) -> gleam@json:json(). encode_reaction_type_emoji(Reaction_type_emoji) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Reaction_type_emoji))}, {<<"emoji"/utf8>>, gleam@json:string(erlang:element(3, Reaction_type_emoji))}] ). -file("src/telega/model/encoder.gleam", 7342). -spec encode_reaction_type(telega@model@types:reaction_type()) -> gleam@json:json(). encode_reaction_type(Value) -> case Value of {reaction_type_emoji_reaction_type, Inner_value} -> encode_reaction_type_emoji(Inner_value); {reaction_type_custom_emoji_reaction_type, Inner_value@1} -> encode_reaction_type_custom_emoji(Inner_value@1); {reaction_type_paid_reaction_type, Inner_value@2} -> encode_reaction_type_paid(Inner_value@2) end. -file("src/telega/model/encoder.gleam", 1434). -spec encode_chat_photo(telega@model@types:chat_photo()) -> gleam@json:json(). encode_chat_photo(Chat_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"small_file_id"/utf8>>, gleam@json:string(erlang:element(2, Chat_photo))}, {<<"small_file_unique_id"/utf8>>, gleam@json:string(erlang:element(3, Chat_photo))}, {<<"big_file_id"/utf8>>, gleam@json:string(erlang:element(4, Chat_photo))}, {<<"big_file_unique_id"/utf8>>, gleam@json:string(erlang:element(5, Chat_photo))}] ). -file("src/telega/model/encoder.gleam", 961). -spec encode_chat_full_info(telega@model@types:chat_full_info()) -> gleam@json:json(). encode_chat_full_info(Chat_full_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:int(erlang:element(2, Chat_full_info))}, {<<"type"/utf8>>, gleam@json:string(erlang:element(3, Chat_full_info))}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(4, Chat_full_info), fun gleam@json:string/1 )}, {<<"username"/utf8>>, gleam@json:nullable( erlang:element(5, Chat_full_info), fun gleam@json:string/1 )}, {<<"first_name"/utf8>>, gleam@json:nullable( erlang:element(6, Chat_full_info), fun gleam@json:string/1 )}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(7, Chat_full_info), fun gleam@json:string/1 )}, {<<"is_forum"/utf8>>, gleam@json:nullable( erlang:element(8, Chat_full_info), fun gleam@json:bool/1 )}, {<<"is_direct_messages"/utf8>>, gleam@json:nullable( erlang:element(9, Chat_full_info), fun gleam@json:bool/1 )}, {<<"accent_color_id"/utf8>>, gleam@json:int(erlang:element(10, Chat_full_info))}, {<<"max_reaction_count"/utf8>>, gleam@json:int(erlang:element(11, Chat_full_info))}, {<<"photo"/utf8>>, gleam@json:nullable( erlang:element(12, Chat_full_info), fun encode_chat_photo/1 )}, {<<"active_usernames"/utf8>>, gleam@json:nullable( erlang:element(13, Chat_full_info), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:string/1) end )}, {<<"birthdate"/utf8>>, gleam@json:nullable( erlang:element(14, Chat_full_info), fun encode_birthdate/1 )}, {<<"business_intro"/utf8>>, gleam@json:nullable( erlang:element(15, Chat_full_info), fun encode_business_intro/1 )}, {<<"business_location"/utf8>>, gleam@json:nullable( erlang:element(16, Chat_full_info), fun encode_business_location/1 )}, {<<"business_opening_hours"/utf8>>, gleam@json:nullable( erlang:element(17, Chat_full_info), fun encode_business_opening_hours/1 )}, {<<"personal_chat"/utf8>>, gleam@json:nullable( erlang:element(18, Chat_full_info), fun encode_chat/1 )}, {<<"parent_chat"/utf8>>, gleam@json:nullable( erlang:element(19, Chat_full_info), fun encode_chat/1 )}, {<<"available_reactions"/utf8>>, gleam@json:nullable( erlang:element(20, Chat_full_info), fun(_capture@1) -> gleam@json:array(_capture@1, fun encode_reaction_type/1) end )}, {<<"background_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(21, Chat_full_info), fun gleam@json:string/1 )}, {<<"profile_accent_color_id"/utf8>>, gleam@json:nullable( erlang:element(22, Chat_full_info), fun gleam@json:int/1 )}, {<<"profile_background_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(23, Chat_full_info), fun gleam@json:string/1 )}, {<<"emoji_status_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(24, Chat_full_info), fun gleam@json:string/1 )}, {<<"emoji_status_expiration_date"/utf8>>, gleam@json:nullable( erlang:element(25, Chat_full_info), fun gleam@json:int/1 )}, {<<"bio"/utf8>>, gleam@json:nullable( erlang:element(26, Chat_full_info), fun gleam@json:string/1 )}, {<<"has_private_forwards"/utf8>>, gleam@json:nullable( erlang:element(27, Chat_full_info), fun gleam@json:bool/1 )}, {<<"has_restricted_voice_and_video_messages"/utf8>>, gleam@json:nullable( erlang:element(28, Chat_full_info), fun gleam@json:bool/1 )}, {<<"join_to_send_messages"/utf8>>, gleam@json:nullable( erlang:element(29, Chat_full_info), fun gleam@json:bool/1 )}, {<<"join_by_request"/utf8>>, gleam@json:nullable( erlang:element(30, Chat_full_info), fun gleam@json:bool/1 )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(31, Chat_full_info), fun gleam@json:string/1 )}, {<<"invite_link"/utf8>>, gleam@json:nullable( erlang:element(32, Chat_full_info), fun gleam@json:string/1 )}, {<<"pinned_message"/utf8>>, gleam@json:nullable( erlang:element(33, Chat_full_info), fun encode_message/1 )}, {<<"permissions"/utf8>>, gleam@json:nullable( erlang:element(34, Chat_full_info), fun encode_chat_permissions/1 )}, {<<"accepted_gift_types"/utf8>>, encode_accepted_gift_types(erlang:element(35, Chat_full_info))}, {<<"can_send_paid_media"/utf8>>, gleam@json:nullable( erlang:element(36, Chat_full_info), fun gleam@json:bool/1 )}, {<<"slow_mode_delay"/utf8>>, gleam@json:nullable( erlang:element(37, Chat_full_info), fun gleam@json:int/1 )}, {<<"unrestrict_boost_count"/utf8>>, gleam@json:nullable( erlang:element(38, Chat_full_info), fun gleam@json:int/1 )}, {<<"message_auto_delete_time"/utf8>>, gleam@json:nullable( erlang:element(39, Chat_full_info), fun gleam@json:int/1 )}, {<<"has_aggressive_anti_spam_enabled"/utf8>>, gleam@json:nullable( erlang:element(40, Chat_full_info), fun gleam@json:bool/1 )}, {<<"has_hidden_members"/utf8>>, gleam@json:nullable( erlang:element(41, Chat_full_info), fun gleam@json:bool/1 )}, {<<"has_protected_content"/utf8>>, gleam@json:nullable( erlang:element(42, Chat_full_info), fun gleam@json:bool/1 )}, {<<"has_visible_history"/utf8>>, gleam@json:nullable( erlang:element(43, Chat_full_info), fun gleam@json:bool/1 )}, {<<"sticker_set_name"/utf8>>, gleam@json:nullable( erlang:element(44, Chat_full_info), fun gleam@json:string/1 )}, {<<"can_set_sticker_set"/utf8>>, gleam@json:nullable( erlang:element(45, Chat_full_info), fun gleam@json:bool/1 )}, {<<"custom_emoji_sticker_set_name"/utf8>>, gleam@json:nullable( erlang:element(46, Chat_full_info), fun gleam@json:string/1 )}, {<<"linked_chat_id"/utf8>>, gleam@json:nullable( erlang:element(47, Chat_full_info), fun gleam@json:int/1 )}, {<<"location"/utf8>>, gleam@json:nullable( erlang:element(48, Chat_full_info), fun encode_chat_location/1 )}, {<<"rating"/utf8>>, gleam@json:nullable( erlang:element(49, Chat_full_info), fun encode_user_rating/1 )}, {<<"first_profile_audio"/utf8>>, gleam@json:nullable( erlang:element(50, Chat_full_info), fun encode_audio/1 )}, {<<"unique_gift_colors"/utf8>>, gleam@json:nullable( erlang:element(51, Chat_full_info), fun encode_unique_gift_colors/1 )}, {<<"paid_message_star_count"/utf8>>, gleam@json:nullable( erlang:element(52, Chat_full_info), fun gleam@json:int/1 )}, {<<"guard_bot"/utf8>>, gleam@json:nullable( erlang:element(53, Chat_full_info), fun encode_user/1 )}, {<<"community"/utf8>>, gleam@json:nullable( erlang:element(54, Chat_full_info), fun encode_community/1 )}] ). -file("src/telega/model/encoder.gleam", 1130). -spec encode_chat_invite_link(telega@model@types:chat_invite_link()) -> gleam@json:json(). encode_chat_invite_link(Chat_invite_link) -> telega@internal@utils:json_object_filter_nulls( [{<<"invite_link"/utf8>>, gleam@json:string(erlang:element(2, Chat_invite_link))}, {<<"creator"/utf8>>, encode_user(erlang:element(3, Chat_invite_link))}, {<<"creates_join_request"/utf8>>, gleam@json:bool(erlang:element(4, Chat_invite_link))}, {<<"is_primary"/utf8>>, gleam@json:bool(erlang:element(5, Chat_invite_link))}, {<<"is_revoked"/utf8>>, gleam@json:bool(erlang:element(6, Chat_invite_link))}, {<<"name"/utf8>>, gleam@json:nullable( erlang:element(7, Chat_invite_link), fun gleam@json:string/1 )}, {<<"expire_date"/utf8>>, gleam@json:nullable( erlang:element(8, Chat_invite_link), fun gleam@json:int/1 )}, {<<"member_limit"/utf8>>, gleam@json:nullable( erlang:element(9, Chat_invite_link), fun gleam@json:int/1 )}, {<<"pending_join_request_count"/utf8>>, gleam@json:nullable( erlang:element(10, Chat_invite_link), fun gleam@json:int/1 )}, {<<"subscription_period"/utf8>>, gleam@json:nullable( erlang:element(11, Chat_invite_link), fun gleam@json:int/1 )}, {<<"subscription_price"/utf8>>, gleam@json:nullable( erlang:element(12, Chat_invite_link), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 1155). -spec encode_chat_join_request(telega@model@types:chat_join_request()) -> gleam@json:json(). encode_chat_join_request(Chat_join_request) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Chat_join_request))}, {<<"from"/utf8>>, encode_user(erlang:element(3, Chat_join_request))}, {<<"user_chat_id"/utf8>>, gleam@json:int(erlang:element(4, Chat_join_request))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(5, Chat_join_request))}, {<<"bio"/utf8>>, gleam@json:nullable( erlang:element(6, Chat_join_request), fun gleam@json:string/1 )}, {<<"invite_link"/utf8>>, gleam@json:nullable( erlang:element(7, Chat_join_request), fun encode_chat_invite_link/1 )}, {<<"query_id"/utf8>>, gleam@json:nullable( erlang:element(8, Chat_join_request), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 1177). -spec encode_chat_member_administrator( telega@model@types:chat_member_administrator() ) -> gleam@json:json(). encode_chat_member_administrator(Chat_member_administrator) -> telega@internal@utils:json_object_filter_nulls( [{<<"status"/utf8>>, gleam@json:string(erlang:element(2, Chat_member_administrator))}, {<<"user"/utf8>>, encode_user(erlang:element(3, Chat_member_administrator))}, {<<"can_be_edited"/utf8>>, gleam@json:bool(erlang:element(4, Chat_member_administrator))}, {<<"is_anonymous"/utf8>>, gleam@json:bool(erlang:element(5, Chat_member_administrator))}, {<<"can_manage_chat"/utf8>>, gleam@json:bool(erlang:element(6, Chat_member_administrator))}, {<<"can_delete_messages"/utf8>>, gleam@json:bool(erlang:element(7, Chat_member_administrator))}, {<<"can_manage_video_chats"/utf8>>, gleam@json:bool(erlang:element(8, Chat_member_administrator))}, {<<"can_restrict_members"/utf8>>, gleam@json:bool(erlang:element(9, Chat_member_administrator))}, {<<"can_promote_members"/utf8>>, gleam@json:bool(erlang:element(10, Chat_member_administrator))}, {<<"can_change_info"/utf8>>, gleam@json:bool(erlang:element(11, Chat_member_administrator))}, {<<"can_invite_users"/utf8>>, gleam@json:bool(erlang:element(12, Chat_member_administrator))}, {<<"can_post_stories"/utf8>>, gleam@json:bool(erlang:element(13, Chat_member_administrator))}, {<<"can_edit_stories"/utf8>>, gleam@json:bool(erlang:element(14, Chat_member_administrator))}, {<<"can_delete_stories"/utf8>>, gleam@json:bool(erlang:element(15, Chat_member_administrator))}, {<<"can_post_messages"/utf8>>, gleam@json:nullable( erlang:element(16, Chat_member_administrator), fun gleam@json:bool/1 )}, {<<"can_edit_messages"/utf8>>, gleam@json:nullable( erlang:element(17, Chat_member_administrator), fun gleam@json:bool/1 )}, {<<"can_pin_messages"/utf8>>, gleam@json:nullable( erlang:element(18, Chat_member_administrator), fun gleam@json:bool/1 )}, {<<"can_manage_topics"/utf8>>, gleam@json:nullable( erlang:element(19, Chat_member_administrator), fun gleam@json:bool/1 )}, {<<"can_manage_direct_messages"/utf8>>, gleam@json:nullable( erlang:element(20, Chat_member_administrator), fun gleam@json:bool/1 )}, {<<"can_manage_tags"/utf8>>, gleam@json:nullable( erlang:element(21, Chat_member_administrator), fun gleam@json:bool/1 )}, {<<"custom_title"/utf8>>, gleam@json:nullable( erlang:element(22, Chat_member_administrator), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 1244). -spec encode_chat_member_banned(telega@model@types:chat_member_banned()) -> gleam@json:json(). encode_chat_member_banned(Chat_member_banned) -> telega@internal@utils:json_object_filter_nulls( [{<<"status"/utf8>>, gleam@json:string(erlang:element(2, Chat_member_banned))}, {<<"user"/utf8>>, encode_user(erlang:element(3, Chat_member_banned))}, {<<"until_date"/utf8>>, gleam@json:int(erlang:element(4, Chat_member_banned))}] ). -file("src/telega/model/encoder.gleam", 1252). -spec encode_chat_member_left(telega@model@types:chat_member_left()) -> gleam@json:json(). encode_chat_member_left(Chat_member_left) -> telega@internal@utils:json_object_filter_nulls( [{<<"status"/utf8>>, gleam@json:string(erlang:element(2, Chat_member_left))}, {<<"user"/utf8>>, encode_user(erlang:element(3, Chat_member_left))}] ). -file("src/telega/model/encoder.gleam", 1259). -spec encode_chat_member_member(telega@model@types:chat_member_member()) -> gleam@json:json(). encode_chat_member_member(Chat_member_member) -> telega@internal@utils:json_object_filter_nulls( [{<<"status"/utf8>>, gleam@json:string(erlang:element(2, Chat_member_member))}, {<<"tag"/utf8>>, gleam@json:nullable( erlang:element(3, Chat_member_member), fun gleam@json:string/1 )}, {<<"user"/utf8>>, encode_user(erlang:element(4, Chat_member_member))}, {<<"until_date"/utf8>>, gleam@json:nullable( erlang:element(5, Chat_member_member), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 1268). -spec encode_chat_member_owner(telega@model@types:chat_member_owner()) -> gleam@json:json(). encode_chat_member_owner(Chat_member_owner) -> telega@internal@utils:json_object_filter_nulls( [{<<"status"/utf8>>, gleam@json:string(erlang:element(2, Chat_member_owner))}, {<<"user"/utf8>>, encode_user(erlang:element(3, Chat_member_owner))}, {<<"is_anonymous"/utf8>>, gleam@json:bool(erlang:element(4, Chat_member_owner))}, {<<"custom_title"/utf8>>, gleam@json:nullable( erlang:element(5, Chat_member_owner), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 1280). -spec encode_chat_member_restricted(telega@model@types:chat_member_restricted()) -> gleam@json:json(). encode_chat_member_restricted(Chat_member_restricted) -> telega@internal@utils:json_object_filter_nulls( [{<<"status"/utf8>>, gleam@json:string(erlang:element(2, Chat_member_restricted))}, {<<"tag"/utf8>>, gleam@json:nullable( erlang:element(3, Chat_member_restricted), fun gleam@json:string/1 )}, {<<"user"/utf8>>, encode_user(erlang:element(4, Chat_member_restricted))}, {<<"is_member"/utf8>>, gleam@json:bool(erlang:element(5, Chat_member_restricted))}, {<<"can_send_messages"/utf8>>, gleam@json:bool(erlang:element(6, Chat_member_restricted))}, {<<"can_send_audios"/utf8>>, gleam@json:bool(erlang:element(7, Chat_member_restricted))}, {<<"can_send_documents"/utf8>>, gleam@json:bool(erlang:element(8, Chat_member_restricted))}, {<<"can_send_photos"/utf8>>, gleam@json:bool(erlang:element(9, Chat_member_restricted))}, {<<"can_send_videos"/utf8>>, gleam@json:bool(erlang:element(10, Chat_member_restricted))}, {<<"can_send_video_notes"/utf8>>, gleam@json:bool(erlang:element(11, Chat_member_restricted))}, {<<"can_send_voice_notes"/utf8>>, gleam@json:bool(erlang:element(12, Chat_member_restricted))}, {<<"can_send_polls"/utf8>>, gleam@json:bool(erlang:element(13, Chat_member_restricted))}, {<<"can_send_other_messages"/utf8>>, gleam@json:bool(erlang:element(14, Chat_member_restricted))}, {<<"can_add_web_page_previews"/utf8>>, gleam@json:bool(erlang:element(15, Chat_member_restricted))}, {<<"can_react_to_messages"/utf8>>, gleam@json:bool(erlang:element(16, Chat_member_restricted))}, {<<"can_edit_tag"/utf8>>, gleam@json:bool(erlang:element(17, Chat_member_restricted))}, {<<"can_change_info"/utf8>>, gleam@json:bool(erlang:element(18, Chat_member_restricted))}, {<<"can_invite_users"/utf8>>, gleam@json:bool(erlang:element(19, Chat_member_restricted))}, {<<"can_pin_messages"/utf8>>, gleam@json:bool(erlang:element(20, Chat_member_restricted))}, {<<"can_manage_topics"/utf8>>, gleam@json:bool(erlang:element(21, Chat_member_restricted))}, {<<"until_date"/utf8>>, gleam@json:int(erlang:element(22, Chat_member_restricted))}] ). -file("src/telega/model/encoder.gleam", 7068). -spec encode_chat_member(telega@model@types:chat_member()) -> gleam@json:json(). encode_chat_member(Value) -> case Value of {chat_member_owner_chat_member, Inner_value} -> encode_chat_member_owner(Inner_value); {chat_member_administrator_chat_member, Inner_value@1} -> encode_chat_member_administrator(Inner_value@1); {chat_member_member_chat_member, Inner_value@2} -> encode_chat_member_member(Inner_value@2); {chat_member_restricted_chat_member, Inner_value@3} -> encode_chat_member_restricted(Inner_value@3); {chat_member_left_chat_member, Inner_value@4} -> encode_chat_member_left(Inner_value@4); {chat_member_banned_chat_member, Inner_value@5} -> encode_chat_member_banned(Inner_value@5) end. -file("src/telega/model/encoder.gleam", 1326). -spec encode_chat_member_updated(telega@model@types:chat_member_updated()) -> gleam@json:json(). encode_chat_member_updated(Chat_member_updated) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Chat_member_updated))}, {<<"from"/utf8>>, encode_user(erlang:element(3, Chat_member_updated))}, {<<"date"/utf8>>, gleam@json:int(erlang:element(4, Chat_member_updated))}, {<<"old_chat_member"/utf8>>, encode_chat_member(erlang:element(5, Chat_member_updated))}, {<<"new_chat_member"/utf8>>, encode_chat_member(erlang:element(6, Chat_member_updated))}, {<<"invite_link"/utf8>>, gleam@json:nullable( erlang:element(7, Chat_member_updated), fun encode_chat_invite_link/1 )}, {<<"via_join_request"/utf8>>, gleam@json:nullable( erlang:element(8, Chat_member_updated), fun gleam@json:bool/1 )}, {<<"via_chat_folder_invite_link"/utf8>>, gleam@json:nullable( erlang:element(9, Chat_member_updated), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 1544). -spec encode_chosen_inline_result(telega@model@types:chosen_inline_result()) -> gleam@json:json(). encode_chosen_inline_result(Chosen_inline_result) -> telega@internal@utils:json_object_filter_nulls( [{<<"result_id"/utf8>>, gleam@json:string(erlang:element(2, Chosen_inline_result))}, {<<"from"/utf8>>, encode_user(erlang:element(3, Chosen_inline_result))}, {<<"location"/utf8>>, gleam@json:nullable( erlang:element(4, Chosen_inline_result), fun encode_location/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Chosen_inline_result), fun gleam@json:string/1 )}, {<<"query"/utf8>>, gleam@json:string(erlang:element(6, Chosen_inline_result))}] ). -file("src/telega/model/encoder.gleam", 1770). -spec encode_force_reply(telega@model@types:force_reply()) -> gleam@json:json(). encode_force_reply(Force_reply) -> telega@internal@utils:json_object_filter_nulls( [{<<"force_reply"/utf8>>, gleam@json:bool(erlang:element(2, Force_reply))}, {<<"input_field_placeholder"/utf8>>, gleam@json:nullable( erlang:element(3, Force_reply), fun gleam@json:string/1 )}, {<<"selective"/utf8>>, gleam@json:nullable( erlang:element(4, Force_reply), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 1781). -spec encode_forum_topic(telega@model@types:forum_topic()) -> gleam@json:json(). encode_forum_topic(Forum_topic) -> telega@internal@utils:json_object_filter_nulls( [{<<"message_thread_id"/utf8>>, gleam@json:int(erlang:element(2, Forum_topic))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Forum_topic))}, {<<"icon_color"/utf8>>, gleam@json:int(erlang:element(4, Forum_topic))}, {<<"icon_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(5, Forum_topic), fun gleam@json:string/1 )}, {<<"is_name_implicit"/utf8>>, gleam@json:nullable( erlang:element(6, Forum_topic), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 1850). -spec encode_game_high_score(telega@model@types:game_high_score()) -> gleam@json:json(). encode_game_high_score(Game_high_score) -> telega@internal@utils:json_object_filter_nulls( [{<<"position"/utf8>>, gleam@json:int(erlang:element(2, Game_high_score))}, {<<"user"/utf8>>, encode_user(erlang:element(3, Game_high_score))}, {<<"score"/utf8>>, gleam@json:int(erlang:element(4, Game_high_score))}] ). -file("src/telega/model/encoder.gleam", 1935). -spec encode_gifts(telega@model@types:gifts()) -> gleam@json:json(). encode_gifts(Gifts) -> telega@internal@utils:json_object_filter_nulls( [{<<"gifts"/utf8>>, gleam@json:array(erlang:element(2, Gifts), fun encode_gift/1)}] ). -file("src/telega/model/encoder.gleam", 2112). -spec encode_inline_query(telega@model@types:inline_query()) -> gleam@json:json(). encode_inline_query(Inline_query) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Inline_query))}, {<<"from"/utf8>>, encode_user(erlang:element(3, Inline_query))}, {<<"query"/utf8>>, gleam@json:string(erlang:element(4, Inline_query))}, {<<"offset"/utf8>>, gleam@json:string(erlang:element(5, Inline_query))}, {<<"chat_type"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query), fun gleam@json:string/1 )}, {<<"location"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query), fun encode_location/1 )}] ). -file("src/telega/model/encoder.gleam", 4240). -spec encode_labeled_price(telega@model@types:labeled_price()) -> gleam@json:json(). encode_labeled_price(Labeled_price) -> telega@internal@utils:json_object_filter_nulls( [{<<"label"/utf8>>, gleam@json:string(erlang:element(2, Labeled_price))}, {<<"amount"/utf8>>, gleam@json:int(erlang:element(3, Labeled_price))}] ). -file("src/telega/model/encoder.gleam", 3164). -spec encode_input_invoice_message_content( telega@model@types:input_invoice_message_content() ) -> gleam@json:json(). encode_input_invoice_message_content(Input_invoice_message_content) -> telega@internal@utils:json_object_filter_nulls( [{<<"title"/utf8>>, gleam@json:string( erlang:element(2, Input_invoice_message_content) )}, {<<"description"/utf8>>, gleam@json:string( erlang:element(3, Input_invoice_message_content) )}, {<<"payload"/utf8>>, gleam@json:string( erlang:element(4, Input_invoice_message_content) )}, {<<"provider_token"/utf8>>, gleam@json:nullable( erlang:element(5, Input_invoice_message_content), fun gleam@json:string/1 )}, {<<"currency"/utf8>>, gleam@json:string( erlang:element(6, Input_invoice_message_content) )}, {<<"prices"/utf8>>, gleam@json:array( erlang:element(7, Input_invoice_message_content), fun encode_labeled_price/1 )}, {<<"max_tip_amount"/utf8>>, gleam@json:nullable( erlang:element(8, Input_invoice_message_content), fun gleam@json:int/1 )}, {<<"suggested_tip_amounts"/utf8>>, gleam@json:nullable( erlang:element(9, Input_invoice_message_content), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:int/1) end )}, {<<"provider_data"/utf8>>, gleam@json:nullable( erlang:element(10, Input_invoice_message_content), fun gleam@json:string/1 )}, {<<"photo_url"/utf8>>, gleam@json:nullable( erlang:element(11, Input_invoice_message_content), fun gleam@json:string/1 )}, {<<"photo_size"/utf8>>, gleam@json:nullable( erlang:element(12, Input_invoice_message_content), fun gleam@json:int/1 )}, {<<"photo_width"/utf8>>, gleam@json:nullable( erlang:element(13, Input_invoice_message_content), fun gleam@json:int/1 )}, {<<"photo_height"/utf8>>, gleam@json:nullable( erlang:element(14, Input_invoice_message_content), fun gleam@json:int/1 )}, {<<"need_name"/utf8>>, gleam@json:nullable( erlang:element(15, Input_invoice_message_content), fun gleam@json:bool/1 )}, {<<"need_phone_number"/utf8>>, gleam@json:nullable( erlang:element(16, Input_invoice_message_content), fun gleam@json:bool/1 )}, {<<"need_email"/utf8>>, gleam@json:nullable( erlang:element(17, Input_invoice_message_content), fun gleam@json:bool/1 )}, {<<"need_shipping_address"/utf8>>, gleam@json:nullable( erlang:element(18, Input_invoice_message_content), fun gleam@json:bool/1 )}, {<<"send_phone_number_to_provider"/utf8>>, gleam@json:nullable( erlang:element(19, Input_invoice_message_content), fun gleam@json:bool/1 )}, {<<"send_email_to_provider"/utf8>>, gleam@json:nullable( erlang:element(20, Input_invoice_message_content), fun gleam@json:bool/1 )}, {<<"is_flexible"/utf8>>, gleam@json:nullable( erlang:element(21, Input_invoice_message_content), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3150). -spec encode_input_contact_message_content( telega@model@types:input_contact_message_content() ) -> gleam@json:json(). encode_input_contact_message_content(Input_contact_message_content) -> telega@internal@utils:json_object_filter_nulls( [{<<"phone_number"/utf8>>, gleam@json:string( erlang:element(2, Input_contact_message_content) )}, {<<"first_name"/utf8>>, gleam@json:string( erlang:element(3, Input_contact_message_content) )}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(4, Input_contact_message_content), fun gleam@json:string/1 )}, {<<"vcard"/utf8>>, gleam@json:nullable( erlang:element(5, Input_contact_message_content), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 4039). -spec encode_input_venue_message_content( telega@model@types:input_venue_message_content() ) -> gleam@json:json(). encode_input_venue_message_content(Input_venue_message_content) -> telega@internal@utils:json_object_filter_nulls( [{<<"latitude"/utf8>>, gleam@json:float(erlang:element(2, Input_venue_message_content))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(3, Input_venue_message_content))}, {<<"title"/utf8>>, gleam@json:string( erlang:element(4, Input_venue_message_content) )}, {<<"address"/utf8>>, gleam@json:string( erlang:element(5, Input_venue_message_content) )}, {<<"foursquare_id"/utf8>>, gleam@json:nullable( erlang:element(6, Input_venue_message_content), fun gleam@json:string/1 )}, {<<"foursquare_type"/utf8>>, gleam@json:nullable( erlang:element(7, Input_venue_message_content), fun gleam@json:string/1 )}, {<<"google_place_id"/utf8>>, gleam@json:nullable( erlang:element(8, Input_venue_message_content), fun gleam@json:string/1 )}, {<<"google_place_type"/utf8>>, gleam@json:nullable( erlang:element(9, Input_venue_message_content), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 3251). -spec encode_input_location_message_content( telega@model@types:input_location_message_content() ) -> gleam@json:json(). encode_input_location_message_content(Input_location_message_content) -> telega@internal@utils:json_object_filter_nulls( [{<<"latitude"/utf8>>, gleam@json:float( erlang:element(2, Input_location_message_content) )}, {<<"longitude"/utf8>>, gleam@json:float( erlang:element(3, Input_location_message_content) )}, {<<"horizontal_accuracy"/utf8>>, gleam@json:nullable( erlang:element(4, Input_location_message_content), fun gleam@json:float/1 )}, {<<"live_period"/utf8>>, gleam@json:nullable( erlang:element(5, Input_location_message_content), fun gleam@json:int/1 )}, {<<"heading"/utf8>>, gleam@json:nullable( erlang:element(6, Input_location_message_content), fun gleam@json:int/1 )}, {<<"proximity_alert_radius"/utf8>>, gleam@json:nullable( erlang:element(7, Input_location_message_content), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 3282). -spec encode_input_media_animation(telega@model@types:input_media_animation()) -> gleam@json:json(). encode_input_media_animation(Input_media_animation) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_animation))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_animation))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(4, Input_media_animation), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_animation), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Input_media_animation), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_animation), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(8, Input_media_animation), fun gleam@json:bool/1 )}, {<<"width"/utf8>>, gleam@json:nullable( erlang:element(9, Input_media_animation), fun gleam@json:int/1 )}, {<<"height"/utf8>>, gleam@json:nullable( erlang:element(10, Input_media_animation), fun gleam@json:int/1 )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(11, Input_media_animation), fun gleam@json:int/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(12, Input_media_animation), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3961). -spec encode_input_rich_message_media( telega@model@types:input_rich_message_media() ) -> gleam@json:json(). encode_input_rich_message_media(Input_rich_message_media) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_message_media))}, {<<"media"/utf8>>, encode_input_media_animation( erlang:element(3, Input_rich_message_media) )}] ). -file("src/telega/model/encoder.gleam", 3883). -spec encode_input_rich_block_thinking( telega@model@types:input_rich_block_thinking() ) -> gleam@json:json(). encode_input_rich_block_thinking(Input_rich_block_thinking) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_thinking))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Input_rich_block_thinking))}] ). -file("src/telega/model/encoder.gleam", 3503). -spec encode_input_media_voice_note(telega@model@types:input_media_voice_note()) -> gleam@json:json(). encode_input_media_voice_note(Input_media_voice_note) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_voice_note))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_voice_note))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_media_voice_note), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_voice_note), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(6, Input_media_voice_note), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_voice_note), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 3905). -spec encode_input_rich_block_voice_note( telega@model@types:input_rich_block_voice_note() ) -> gleam@json:json(). encode_input_rich_block_voice_note(Input_rich_block_voice_note) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_rich_block_voice_note) )}, {<<"voice_note"/utf8>>, encode_input_media_voice_note( erlang:element(3, Input_rich_block_voice_note) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_voice_note), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3469). -spec encode_input_media_video(telega@model@types:input_media_video()) -> gleam@json:json(). encode_input_media_video(Input_media_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_video))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_video))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(4, Input_media_video), fun gleam@json:string/1 )}, {<<"cover"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_video), fun gleam@json:string/1 )}, {<<"start_timestamp"/utf8>>, gleam@json:nullable( erlang:element(6, Input_media_video), fun gleam@json:int/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_video), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(8, Input_media_video), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(9, Input_media_video), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(10, Input_media_video), fun gleam@json:bool/1 )}, {<<"width"/utf8>>, gleam@json:nullable( erlang:element(11, Input_media_video), fun gleam@json:int/1 )}, {<<"height"/utf8>>, gleam@json:nullable( erlang:element(12, Input_media_video), fun gleam@json:int/1 )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(13, Input_media_video), fun gleam@json:int/1 )}, {<<"supports_streaming"/utf8>>, gleam@json:nullable( erlang:element(14, Input_media_video), fun gleam@json:bool/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(15, Input_media_video), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3892). -spec encode_input_rich_block_video(telega@model@types:input_rich_block_video()) -> gleam@json:json(). encode_input_rich_block_video(Input_rich_block_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_video))}, {<<"video"/utf8>>, encode_input_media_video( erlang:element(3, Input_rich_block_video) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_video), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3412). -spec encode_input_media_photo(telega@model@types:input_media_photo()) -> gleam@json:json(). encode_input_media_photo(Input_media_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_photo))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_photo))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_media_photo), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_photo), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(6, Input_media_photo), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_photo), fun gleam@json:bool/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(8, Input_media_photo), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3790). -spec encode_input_rich_block_photo(telega@model@types:input_rich_block_photo()) -> gleam@json:json(). encode_input_rich_block_photo(Input_rich_block_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_photo))}, {<<"photo"/utf8>>, encode_input_media_photo( erlang:element(3, Input_rich_block_photo) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_photo), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3315). -spec encode_input_media_audio(telega@model@types:input_media_audio()) -> gleam@json:json(). encode_input_media_audio(Input_media_audio) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_audio))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_audio))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(4, Input_media_audio), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_audio), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Input_media_audio), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_audio), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(8, Input_media_audio), fun gleam@json:int/1 )}, {<<"performer"/utf8>>, gleam@json:nullable( erlang:element(9, Input_media_audio), fun gleam@json:string/1 )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(10, Input_media_audio), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 3640). -spec encode_input_rich_block_audio(telega@model@types:input_rich_block_audio()) -> gleam@json:json(). encode_input_rich_block_audio(Input_rich_block_audio) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_audio))}, {<<"audio"/utf8>>, encode_input_media_audio( erlang:element(3, Input_rich_block_audio) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_audio), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3621). -spec encode_input_rich_block_animation( telega@model@types:input_rich_block_animation() ) -> gleam@json:json(). encode_input_rich_block_animation(Input_rich_block_animation) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_animation))}, {<<"animation"/utf8>>, encode_input_media_animation( erlang:element(3, Input_rich_block_animation) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_animation), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3753). -spec encode_input_rich_block_map(telega@model@types:input_rich_block_map()) -> gleam@json:json(). encode_input_rich_block_map(Input_rich_block_map) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_map))}, {<<"location"/utf8>>, encode_location(erlang:element(3, Input_rich_block_map))}, {<<"zoom"/utf8>>, gleam@json:int(erlang:element(4, Input_rich_block_map))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(5, Input_rich_block_map))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(6, Input_rich_block_map))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Input_rich_block_map), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3858). -spec encode_input_rich_block_table(telega@model@types:input_rich_block_table()) -> gleam@json:json(). encode_input_rich_block_table(Input_rich_block_table) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_table))}, {<<"cells"/utf8>>, (fun(Rows) -> gleam@json:array( Rows, fun(Row) -> gleam@json:array( Row, fun encode_rich_block_table_cell/1 ) end ) end)(erlang:element(3, Input_rich_block_table))}, {<<"is_bordered"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_table), fun gleam@json:bool/1 )}, {<<"is_striped"/utf8>>, gleam@json:nullable( erlang:element(5, Input_rich_block_table), fun gleam@json:bool/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Input_rich_block_table), fun encode_rich_text/1 )}] ). -file("src/telega/model/encoder.gleam", 3816). -spec encode_input_rich_block_pull_quotation( telega@model@types:input_rich_block_pull_quotation() ) -> gleam@json:json(). encode_input_rich_block_pull_quotation(Input_rich_block_pull_quotation) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_rich_block_pull_quotation) )}, {<<"text"/utf8>>, encode_rich_text( erlang:element(3, Input_rich_block_pull_quotation) )}, {<<"credit"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_pull_quotation), fun encode_rich_text/1 )}] ). -file("src/telega/model/encoder.gleam", 3612). -spec encode_input_rich_block_anchor( telega@model@types:input_rich_block_anchor() ) -> gleam@json:json(). encode_input_rich_block_anchor(Input_rich_block_anchor) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_anchor))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Input_rich_block_anchor))}] ). -file("src/telega/model/encoder.gleam", 3769). -spec encode_input_rich_block_mathematical_expression( telega@model@types:input_rich_block_mathematical_expression() ) -> gleam@json:json(). encode_input_rich_block_mathematical_expression( Input_rich_block_mathematical_expression ) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_rich_block_mathematical_expression) )}, {<<"expression"/utf8>>, gleam@json:string( erlang:element(3, Input_rich_block_mathematical_expression) )}] ). -file("src/telega/model/encoder.gleam", 3701). -spec encode_input_rich_block_divider( telega@model@types:input_rich_block_divider() ) -> gleam@json:json(). encode_input_rich_block_divider(Input_rich_block_divider) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_divider))}] ). -file("src/telega/model/encoder.gleam", 3709). -spec encode_input_rich_block_footer( telega@model@types:input_rich_block_footer() ) -> gleam@json:json(). encode_input_rich_block_footer(Input_rich_block_footer) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_footer))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Input_rich_block_footer))}] ). -file("src/telega/model/encoder.gleam", 3803). -spec encode_input_rich_block_preformatted( telega@model@types:input_rich_block_preformatted() ) -> gleam@json:json(). encode_input_rich_block_preformatted(Input_rich_block_preformatted) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_rich_block_preformatted) )}, {<<"text"/utf8>>, encode_rich_text( erlang:element(3, Input_rich_block_preformatted) )}, {<<"language"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_preformatted), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 3829). -spec encode_input_rich_block_section_heading( telega@model@types:input_rich_block_section_heading() ) -> gleam@json:json(). encode_input_rich_block_section_heading(Input_rich_block_section_heading) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_rich_block_section_heading) )}, {<<"text"/utf8>>, encode_rich_text( erlang:element(3, Input_rich_block_section_heading) )}, {<<"size"/utf8>>, gleam@json:int( erlang:element(4, Input_rich_block_section_heading) )}] ). -file("src/telega/model/encoder.gleam", 3781). -spec encode_input_rich_block_paragraph( telega@model@types:input_rich_block_paragraph() ) -> gleam@json:json(). encode_input_rich_block_paragraph(Input_rich_block_paragraph) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_paragraph))}, {<<"text"/utf8>>, encode_rich_text(erlang:element(3, Input_rich_block_paragraph))}] ). -file("src/telega/model/encoder.gleam", 3687). -spec encode_input_rich_block_details( telega@model@types:input_rich_block_details() ) -> gleam@json:json(). encode_input_rich_block_details(Input_rich_block_details) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_details))}, {<<"summary"/utf8>>, encode_rich_text(erlang:element(3, Input_rich_block_details))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(4, Input_rich_block_details), fun encode_input_rich_block/1 )}, {<<"is_open"/utf8>>, gleam@json:nullable( erlang:element(5, Input_rich_block_details), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3839). -spec encode_input_rich_block_slideshow( telega@model@types:input_rich_block_slideshow() ) -> gleam@json:json(). encode_input_rich_block_slideshow(Input_rich_block_slideshow) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_slideshow))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(3, Input_rich_block_slideshow), fun encode_input_rich_block/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_slideshow), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3671). -spec encode_input_rich_block_collage( telega@model@types:input_rich_block_collage() ) -> gleam@json:json(). encode_input_rich_block_collage(Input_rich_block_collage) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_collage))}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(3, Input_rich_block_collage), fun encode_input_rich_block/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_collage), fun encode_rich_block_caption/1 )}] ). -file("src/telega/model/encoder.gleam", 3653). -spec encode_input_rich_block_block_quotation( telega@model@types:input_rich_block_block_quotation() ) -> gleam@json:json(). encode_input_rich_block_block_quotation(Input_rich_block_block_quotation) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_rich_block_block_quotation) )}, {<<"blocks"/utf8>>, gleam@json:array( erlang:element(3, Input_rich_block_block_quotation), fun encode_input_rich_block/1 )}, {<<"credit"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_block_quotation), fun encode_rich_text/1 )}] ). -file("src/telega/model/encoder.gleam", 3732). -spec encode_input_rich_block_list_item( telega@model@types:input_rich_block_list_item() ) -> gleam@json:json(). encode_input_rich_block_list_item(Input_rich_block_list_item) -> telega@internal@utils:json_object_filter_nulls( [{<<"blocks"/utf8>>, gleam@json:array( erlang:element(2, Input_rich_block_list_item), fun encode_input_rich_block/1 )}, {<<"has_checkbox"/utf8>>, gleam@json:nullable( erlang:element(3, Input_rich_block_list_item), fun gleam@json:bool/1 )}, {<<"is_checked"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_block_list_item), fun gleam@json:bool/1 )}, {<<"value"/utf8>>, gleam@json:nullable( erlang:element(5, Input_rich_block_list_item), fun gleam@json:int/1 )}, {<<"type"/utf8>>, gleam@json:nullable( erlang:element(6, Input_rich_block_list_item), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 3718). -spec encode_input_rich_block_list(telega@model@types:input_rich_block_list()) -> gleam@json:json(). encode_input_rich_block_list(Input_rich_block_list) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_rich_block_list))}, {<<"items"/utf8>>, gleam@json:array( erlang:element(3, Input_rich_block_list), fun encode_input_rich_block_list_item/1 )}] ). -file("src/telega/model/encoder.gleam", 7209). -spec encode_input_rich_block(telega@model@types:input_rich_block()) -> gleam@json:json(). encode_input_rich_block(Value) -> case Value of {input_rich_block_paragraph_input_rich_block, Inner_value} -> encode_input_rich_block_paragraph(Inner_value); {input_rich_block_section_heading_input_rich_block, Inner_value@1} -> encode_input_rich_block_section_heading(Inner_value@1); {input_rich_block_preformatted_input_rich_block, Inner_value@2} -> encode_input_rich_block_preformatted(Inner_value@2); {input_rich_block_footer_input_rich_block, Inner_value@3} -> encode_input_rich_block_footer(Inner_value@3); {input_rich_block_divider_input_rich_block, Inner_value@4} -> encode_input_rich_block_divider(Inner_value@4); {input_rich_block_mathematical_expression_input_rich_block, Inner_value@5} -> encode_input_rich_block_mathematical_expression(Inner_value@5); {input_rich_block_anchor_input_rich_block, Inner_value@6} -> encode_input_rich_block_anchor(Inner_value@6); {input_rich_block_list_input_rich_block, Inner_value@7} -> encode_input_rich_block_list(Inner_value@7); {input_rich_block_block_quotation_input_rich_block, Inner_value@8} -> encode_input_rich_block_block_quotation(Inner_value@8); {input_rich_block_pull_quotation_input_rich_block, Inner_value@9} -> encode_input_rich_block_pull_quotation(Inner_value@9); {input_rich_block_collage_input_rich_block, Inner_value@10} -> encode_input_rich_block_collage(Inner_value@10); {input_rich_block_slideshow_input_rich_block, Inner_value@11} -> encode_input_rich_block_slideshow(Inner_value@11); {input_rich_block_table_input_rich_block, Inner_value@12} -> encode_input_rich_block_table(Inner_value@12); {input_rich_block_details_input_rich_block, Inner_value@13} -> encode_input_rich_block_details(Inner_value@13); {input_rich_block_map_input_rich_block, Inner_value@14} -> encode_input_rich_block_map(Inner_value@14); {input_rich_block_animation_input_rich_block, Inner_value@15} -> encode_input_rich_block_animation(Inner_value@15); {input_rich_block_audio_input_rich_block, Inner_value@16} -> encode_input_rich_block_audio(Inner_value@16); {input_rich_block_photo_input_rich_block, Inner_value@17} -> encode_input_rich_block_photo(Inner_value@17); {input_rich_block_video_input_rich_block, Inner_value@18} -> encode_input_rich_block_video(Inner_value@18); {input_rich_block_voice_note_input_rich_block, Inner_value@19} -> encode_input_rich_block_voice_note(Inner_value@19); {input_rich_block_thinking_input_rich_block, Inner_value@20} -> encode_input_rich_block_thinking(Inner_value@20) end. -file("src/telega/model/encoder.gleam", 3924). -spec encode_input_rich_message(telega@model@types:input_rich_message()) -> gleam@json:json(). encode_input_rich_message(Input_rich_message) -> telega@internal@utils:json_object_filter_nulls( [{<<"blocks"/utf8>>, gleam@json:nullable( erlang:element(2, Input_rich_message), fun(_capture) -> gleam@json:array( _capture, fun encode_input_rich_block/1 ) end )}, {<<"html"/utf8>>, gleam@json:nullable( erlang:element(3, Input_rich_message), fun gleam@json:string/1 )}, {<<"markdown"/utf8>>, gleam@json:nullable( erlang:element(4, Input_rich_message), fun gleam@json:string/1 )}, {<<"media"/utf8>>, gleam@json:nullable( erlang:element(5, Input_rich_message), fun(_capture@1) -> gleam@json:array( _capture@1, fun encode_input_rich_message_media/1 ) end )}, {<<"is_rtl"/utf8>>, gleam@json:nullable( erlang:element(6, Input_rich_message), fun gleam@json:bool/1 )}, {<<"skip_entity_detection"/utf8>>, gleam@json:nullable( erlang:element(7, Input_rich_message), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3950). -spec encode_input_rich_message_content( telega@model@types:input_rich_message_content() ) -> gleam@json:json(). encode_input_rich_message_content(Input_rich_message_content) -> telega@internal@utils:json_object_filter_nulls( [{<<"rich_message"/utf8>>, encode_input_rich_message( erlang:element(2, Input_rich_message_content) )}] ). -file("src/telega/model/encoder.gleam", 4013). -spec encode_input_text_message_content( telega@model@types:input_text_message_content() ) -> gleam@json:json(). encode_input_text_message_content(Input_text_message_content) -> telega@internal@utils:json_object_filter_nulls( [{<<"message_text"/utf8>>, gleam@json:string(erlang:element(2, Input_text_message_content))}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(3, Input_text_message_content), fun gleam@json:string/1 )}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(4, Input_text_message_content), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"link_preview_options"/utf8>>, gleam@json:nullable( erlang:element(5, Input_text_message_content), fun encode_link_preview_options/1 )}] ). -file("src/telega/model/encoder.gleam", 7130). -spec encode_input_message_content(telega@model@types:input_message_content()) -> gleam@json:json(). encode_input_message_content(Value) -> case Value of {input_text_message_content_input_message_content, Inner_value} -> encode_input_text_message_content(Inner_value); {input_rich_message_content_input_message_content, Inner_value@1} -> encode_input_rich_message_content(Inner_value@1); {input_location_message_content_input_message_content, Inner_value@2} -> encode_input_location_message_content(Inner_value@2); {input_venue_message_content_input_message_content, Inner_value@3} -> encode_input_venue_message_content(Inner_value@3); {input_contact_message_content_input_message_content, Inner_value@4} -> encode_input_contact_message_content(Inner_value@4); {input_invoice_message_content_input_message_content, Inner_value@5} -> encode_input_invoice_message_content(Inner_value@5) end. -file("src/telega/model/encoder.gleam", 2123). -spec encode_inline_query_result_article( telega@model@types:inline_query_result_article() ) -> gleam@json:json(). encode_inline_query_result_article(Inline_query_result_article) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_article) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_article) )}, {<<"title"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_article) )}, {<<"input_message_content"/utf8>>, encode_input_message_content( erlang:element(5, Inline_query_result_article) )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_article), fun encode_inline_keyboard_markup/1 )}, {<<"url"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_article), fun gleam@json:string/1 )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_article), fun gleam@json:string/1 )}, {<<"thumbnail_url"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_article), fun gleam@json:string/1 )}, {<<"thumbnail_width"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_article), fun gleam@json:int/1 )}, {<<"thumbnail_height"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_article), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 2163). -spec encode_inline_query_result_audio( telega@model@types:inline_query_result_audio() ) -> gleam@json:json(). encode_inline_query_result_audio(Inline_query_result_audio) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Inline_query_result_audio))}, {<<"id"/utf8>>, gleam@json:string(erlang:element(3, Inline_query_result_audio))}, {<<"audio_url"/utf8>>, gleam@json:string(erlang:element(4, Inline_query_result_audio))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(5, Inline_query_result_audio))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_audio), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_audio), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_audio), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"performer"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_audio), fun gleam@json:string/1 )}, {<<"audio_duration"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_audio), fun gleam@json:int/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_audio), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_audio), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2208). -spec encode_inline_query_result_cached_audio( telega@model@types:inline_query_result_cached_audio() ) -> gleam@json:json(). encode_inline_query_result_cached_audio(Inline_query_result_cached_audio) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_audio) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_audio) )}, {<<"audio_file_id"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_audio) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_cached_audio), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_audio), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_cached_audio), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_cached_audio), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_cached_audio), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2250). -spec encode_inline_query_result_cached_document( telega@model@types:inline_query_result_cached_document() ) -> gleam@json:json(). encode_inline_query_result_cached_document(Inline_query_result_cached_document) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_document) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_document) )}, {<<"title"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_document) )}, {<<"document_file_id"/utf8>>, gleam@json:string( erlang:element(5, Inline_query_result_cached_document) )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_document), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_cached_document), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_cached_document), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_cached_document), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_cached_document), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_cached_document), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2300). -spec encode_inline_query_result_cached_gif( telega@model@types:inline_query_result_cached_gif() ) -> gleam@json:json(). encode_inline_query_result_cached_gif(Inline_query_result_cached_gif) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_gif) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_gif) )}, {<<"gif_file_id"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_gif) )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_cached_gif), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_gif), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_cached_gif), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_cached_gif), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_cached_gif), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_cached_gif), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_cached_gif), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2347). -spec encode_inline_query_result_cached_mpeg4_gif( telega@model@types:inline_query_result_cached_mpeg4_gif() ) -> gleam@json:json(). encode_inline_query_result_cached_mpeg4_gif( Inline_query_result_cached_mpeg4_gif ) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_mpeg4_gif) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_mpeg4_gif) )}, {<<"mpeg4_file_id"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_mpeg4_gif) )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_cached_mpeg4_gif), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_mpeg4_gif), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_cached_mpeg4_gif), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_cached_mpeg4_gif), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_cached_mpeg4_gif), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_cached_mpeg4_gif), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_cached_mpeg4_gif), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2403). -spec encode_inline_query_result_cached_photo( telega@model@types:inline_query_result_cached_photo() ) -> gleam@json:json(). encode_inline_query_result_cached_photo(Inline_query_result_cached_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_photo) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_photo) )}, {<<"photo_file_id"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_photo) )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_cached_photo), fun gleam@json:string/1 )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_photo), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_cached_photo), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_cached_photo), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_cached_photo), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_cached_photo), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_cached_photo), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_cached_photo), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2460). -spec encode_inline_query_result_cached_sticker( telega@model@types:inline_query_result_cached_sticker() ) -> gleam@json:json(). encode_inline_query_result_cached_sticker(Inline_query_result_cached_sticker) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_sticker) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_sticker) )}, {<<"sticker_file_id"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_sticker) )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_cached_sticker), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_sticker), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2487). -spec encode_inline_query_result_cached_video( telega@model@types:inline_query_result_cached_video() ) -> gleam@json:json(). encode_inline_query_result_cached_video(Inline_query_result_cached_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_video) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_video) )}, {<<"video_file_id"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_video) )}, {<<"title"/utf8>>, gleam@json:string( erlang:element(5, Inline_query_result_cached_video) )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_video), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_cached_video), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_cached_video), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_cached_video), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_cached_video), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_cached_video), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_cached_video), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2541). -spec encode_inline_query_result_cached_voice( telega@model@types:inline_query_result_cached_voice() ) -> gleam@json:json(). encode_inline_query_result_cached_voice(Inline_query_result_cached_voice) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_cached_voice) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_cached_voice) )}, {<<"voice_file_id"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_cached_voice) )}, {<<"title"/utf8>>, gleam@json:string( erlang:element(5, Inline_query_result_cached_voice) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_cached_voice), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_cached_voice), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_cached_voice), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_cached_voice), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_cached_voice), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2584). -spec encode_inline_query_result_contact( telega@model@types:inline_query_result_contact() ) -> gleam@json:json(). encode_inline_query_result_contact(Inline_query_result_contact) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_contact) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_contact) )}, {<<"phone_number"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_contact) )}, {<<"first_name"/utf8>>, gleam@json:string( erlang:element(5, Inline_query_result_contact) )}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_contact), fun gleam@json:string/1 )}, {<<"vcard"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_contact), fun gleam@json:string/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_contact), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_contact), fun encode_input_message_content/1 )}, {<<"thumbnail_url"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_contact), fun gleam@json:string/1 )}, {<<"thumbnail_width"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_contact), fun gleam@json:int/1 )}, {<<"thumbnail_height"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_contact), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 2626). -spec encode_inline_query_result_document( telega@model@types:inline_query_result_document() ) -> gleam@json:json(). encode_inline_query_result_document(Inline_query_result_document) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_document) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_document) )}, {<<"title"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_document) )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_document), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_document), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_document), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"document_url"/utf8>>, gleam@json:string( erlang:element(8, Inline_query_result_document) )}, {<<"mime_type"/utf8>>, gleam@json:string( erlang:element(9, Inline_query_result_document) )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_document), fun gleam@json:string/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_document), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_document), fun encode_input_message_content/1 )}, {<<"thumbnail_url"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_query_result_document), fun gleam@json:string/1 )}, {<<"thumbnail_width"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_query_result_document), fun gleam@json:int/1 )}, {<<"thumbnail_height"/utf8>>, gleam@json:nullable( erlang:element(15, Inline_query_result_document), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 2683). -spec encode_inline_query_result_game( telega@model@types:inline_query_result_game() ) -> gleam@json:json(). encode_inline_query_result_game(Inline_query_result_game) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Inline_query_result_game))}, {<<"id"/utf8>>, gleam@json:string(erlang:element(3, Inline_query_result_game))}, {<<"game_short_name"/utf8>>, gleam@json:string(erlang:element(4, Inline_query_result_game))}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_game), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 2700). -spec encode_inline_query_result_gif( telega@model@types:inline_query_result_gif() ) -> gleam@json:json(). encode_inline_query_result_gif(Inline_query_result_gif) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Inline_query_result_gif))}, {<<"id"/utf8>>, gleam@json:string(erlang:element(3, Inline_query_result_gif))}, {<<"gif_url"/utf8>>, gleam@json:string(erlang:element(4, Inline_query_result_gif))}, {<<"gif_width"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_gif), fun gleam@json:int/1 )}, {<<"gif_height"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_gif), fun gleam@json:int/1 )}, {<<"gif_duration"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_gif), fun gleam@json:int/1 )}, {<<"thumbnail_url"/utf8>>, gleam@json:string(erlang:element(8, Inline_query_result_gif))}, {<<"thumbnail_mime_type"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_gif), fun gleam@json:string/1 )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_gif), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_gif), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_gif), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_query_result_gif), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_query_result_gif), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(15, Inline_query_result_gif), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(16, Inline_query_result_gif), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2752). -spec encode_inline_query_result_location( telega@model@types:inline_query_result_location() ) -> gleam@json:json(). encode_inline_query_result_location(Inline_query_result_location) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_location) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_location) )}, {<<"latitude"/utf8>>, gleam@json:float( erlang:element(4, Inline_query_result_location) )}, {<<"longitude"/utf8>>, gleam@json:float( erlang:element(5, Inline_query_result_location) )}, {<<"title"/utf8>>, gleam@json:string( erlang:element(6, Inline_query_result_location) )}, {<<"horizontal_accuracy"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_location), fun gleam@json:float/1 )}, {<<"live_period"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_location), fun gleam@json:int/1 )}, {<<"heading"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_location), fun gleam@json:int/1 )}, {<<"proximity_alert_radius"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_location), fun gleam@json:int/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_location), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_location), fun encode_input_message_content/1 )}, {<<"thumbnail_url"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_query_result_location), fun gleam@json:string/1 )}, {<<"thumbnail_width"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_query_result_location), fun gleam@json:int/1 )}, {<<"thumbnail_height"/utf8>>, gleam@json:nullable( erlang:element(15, Inline_query_result_location), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 2809). -spec encode_inline_query_result_mpeg4_gif( telega@model@types:inline_query_result_mpeg4_gif() ) -> gleam@json:json(). encode_inline_query_result_mpeg4_gif(Inline_query_result_mpeg4_gif) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_result_mpeg4_gif) )}, {<<"id"/utf8>>, gleam@json:string( erlang:element(3, Inline_query_result_mpeg4_gif) )}, {<<"mpeg4_url"/utf8>>, gleam@json:string( erlang:element(4, Inline_query_result_mpeg4_gif) )}, {<<"mpeg4_width"/utf8>>, gleam@json:nullable( erlang:element(5, Inline_query_result_mpeg4_gif), fun gleam@json:int/1 )}, {<<"mpeg4_height"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_mpeg4_gif), fun gleam@json:int/1 )}, {<<"mpeg4_duration"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_mpeg4_gif), fun gleam@json:int/1 )}, {<<"thumbnail_url"/utf8>>, gleam@json:string( erlang:element(8, Inline_query_result_mpeg4_gif) )}, {<<"thumbnail_mime_type"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_mpeg4_gif), fun gleam@json:string/1 )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_mpeg4_gif), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_mpeg4_gif), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_mpeg4_gif), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_query_result_mpeg4_gif), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_query_result_mpeg4_gif), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(15, Inline_query_result_mpeg4_gif), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(16, Inline_query_result_mpeg4_gif), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2876). -spec encode_inline_query_result_photo( telega@model@types:inline_query_result_photo() ) -> gleam@json:json(). encode_inline_query_result_photo(Inline_query_result_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Inline_query_result_photo))}, {<<"id"/utf8>>, gleam@json:string(erlang:element(3, Inline_query_result_photo))}, {<<"photo_url"/utf8>>, gleam@json:string(erlang:element(4, Inline_query_result_photo))}, {<<"thumbnail_url"/utf8>>, gleam@json:string(erlang:element(5, Inline_query_result_photo))}, {<<"photo_width"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_photo), fun gleam@json:int/1 )}, {<<"photo_height"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_photo), fun gleam@json:int/1 )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_photo), fun gleam@json:string/1 )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_photo), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_photo), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_photo), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_photo), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_query_result_photo), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_query_result_photo), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(15, Inline_query_result_photo), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 2933). -spec encode_inline_query_result_venue( telega@model@types:inline_query_result_venue() ) -> gleam@json:json(). encode_inline_query_result_venue(Inline_query_result_venue) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Inline_query_result_venue))}, {<<"id"/utf8>>, gleam@json:string(erlang:element(3, Inline_query_result_venue))}, {<<"latitude"/utf8>>, gleam@json:float(erlang:element(4, Inline_query_result_venue))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(5, Inline_query_result_venue))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(6, Inline_query_result_venue))}, {<<"address"/utf8>>, gleam@json:string(erlang:element(7, Inline_query_result_venue))}, {<<"foursquare_id"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_venue), fun gleam@json:string/1 )}, {<<"foursquare_type"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_venue), fun gleam@json:string/1 )}, {<<"google_place_id"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_venue), fun gleam@json:string/1 )}, {<<"google_place_type"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_venue), fun gleam@json:string/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_venue), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_query_result_venue), fun encode_input_message_content/1 )}, {<<"thumbnail_url"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_query_result_venue), fun gleam@json:string/1 )}, {<<"thumbnail_width"/utf8>>, gleam@json:nullable( erlang:element(15, Inline_query_result_venue), fun gleam@json:int/1 )}, {<<"thumbnail_height"/utf8>>, gleam@json:nullable( erlang:element(16, Inline_query_result_venue), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 2988). -spec encode_inline_query_result_video( telega@model@types:inline_query_result_video() ) -> gleam@json:json(). encode_inline_query_result_video(Inline_query_result_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Inline_query_result_video))}, {<<"id"/utf8>>, gleam@json:string(erlang:element(3, Inline_query_result_video))}, {<<"video_url"/utf8>>, gleam@json:string(erlang:element(4, Inline_query_result_video))}, {<<"mime_type"/utf8>>, gleam@json:string(erlang:element(5, Inline_query_result_video))}, {<<"thumbnail_url"/utf8>>, gleam@json:string(erlang:element(6, Inline_query_result_video))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(7, Inline_query_result_video))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_video), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_video), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_video), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_video), fun gleam@json:bool/1 )}, {<<"video_width"/utf8>>, gleam@json:nullable( erlang:element(12, Inline_query_result_video), fun gleam@json:int/1 )}, {<<"video_height"/utf8>>, gleam@json:nullable( erlang:element(13, Inline_query_result_video), fun gleam@json:int/1 )}, {<<"video_duration"/utf8>>, gleam@json:nullable( erlang:element(14, Inline_query_result_video), fun gleam@json:int/1 )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(15, Inline_query_result_video), fun gleam@json:string/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(16, Inline_query_result_video), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(17, Inline_query_result_video), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 3050). -spec encode_inline_query_result_voice( telega@model@types:inline_query_result_voice() ) -> gleam@json:json(). encode_inline_query_result_voice(Inline_query_result_voice) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Inline_query_result_voice))}, {<<"id"/utf8>>, gleam@json:string(erlang:element(3, Inline_query_result_voice))}, {<<"voice_url"/utf8>>, gleam@json:string(erlang:element(4, Inline_query_result_voice))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(5, Inline_query_result_voice))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Inline_query_result_voice), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Inline_query_result_voice), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Inline_query_result_voice), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"voice_duration"/utf8>>, gleam@json:nullable( erlang:element(9, Inline_query_result_voice), fun gleam@json:int/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(10, Inline_query_result_voice), fun encode_inline_keyboard_markup/1 )}, {<<"input_message_content"/utf8>>, gleam@json:nullable( erlang:element(11, Inline_query_result_voice), fun encode_input_message_content/1 )}] ). -file("src/telega/model/encoder.gleam", 3091). -spec encode_inline_query_results_button( telega@model@types:inline_query_results_button() ) -> gleam@json:json(). encode_inline_query_results_button(Inline_query_results_button) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, gleam@json:string( erlang:element(2, Inline_query_results_button) )}, {<<"web_app"/utf8>>, gleam@json:nullable( erlang:element(3, Inline_query_results_button), fun encode_web_app_info/1 )}, {<<"start_parameter"/utf8>>, gleam@json:nullable( erlang:element(4, Inline_query_results_button), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 3133). -spec encode_input_checklist_task(telega@model@types:input_checklist_task()) -> gleam@json:json(). encode_input_checklist_task(Input_checklist_task) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:int(erlang:element(2, Input_checklist_task))}, {<<"text"/utf8>>, gleam@json:string(erlang:element(3, Input_checklist_task))}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(4, Input_checklist_task), fun gleam@json:string/1 )}, {<<"text_entities"/utf8>>, gleam@json:nullable( erlang:element(5, Input_checklist_task), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}] ). -file("src/telega/model/encoder.gleam", 3107). -spec encode_input_checklist(telega@model@types:input_checklist()) -> gleam@json:json(). encode_input_checklist(Input_checklist) -> telega@internal@utils:json_object_filter_nulls( [{<<"title"/utf8>>, gleam@json:string(erlang:element(2, Input_checklist))}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(3, Input_checklist), fun gleam@json:string/1 )}, {<<"title_entities"/utf8>>, gleam@json:nullable( erlang:element(4, Input_checklist), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"tasks"/utf8>>, gleam@json:array( erlang:element(5, Input_checklist), fun encode_input_checklist_task/1 )}, {<<"others_can_add_tasks"/utf8>>, gleam@json:nullable( erlang:element(6, Input_checklist), fun gleam@json:bool/1 )}, {<<"others_can_mark_tasks_as_done"/utf8>>, gleam@json:nullable( erlang:element(7, Input_checklist), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3335). -spec encode_input_media_document(telega@model@types:input_media_document()) -> gleam@json:json(). encode_input_media_document(Input_media_document) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_document))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_document))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(4, Input_media_document), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_document), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Input_media_document), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_document), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"disable_content_type_detection"/utf8>>, gleam@json:nullable( erlang:element(8, Input_media_document), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3361). -spec encode_input_media_link(telega@model@types:input_media_link()) -> gleam@json:json(). encode_input_media_link(Input_media_link) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_link))}, {<<"url"/utf8>>, gleam@json:string(erlang:element(3, Input_media_link))}] ). -file("src/telega/model/encoder.gleam", 3368). -spec encode_input_media_live_photo(telega@model@types:input_media_live_photo()) -> gleam@json:json(). encode_input_media_live_photo(Input_media_live_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_live_photo))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_live_photo))}, {<<"photo"/utf8>>, gleam@json:string(erlang:element(4, Input_media_live_photo))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_live_photo), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Input_media_live_photo), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_live_photo), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(8, Input_media_live_photo), fun gleam@json:bool/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(9, Input_media_live_photo), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 3398). -spec encode_input_media_location(telega@model@types:input_media_location()) -> gleam@json:json(). encode_input_media_location(Input_media_location) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_location))}, {<<"latitude"/utf8>>, gleam@json:float(erlang:element(3, Input_media_location))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(4, Input_media_location))}, {<<"horizontal_accuracy"/utf8>>, gleam@json:nullable( erlang:element(5, Input_media_location), fun gleam@json:float/1 )}] ). -file("src/telega/model/encoder.gleam", 3433). -spec encode_input_media_sticker(telega@model@types:input_media_sticker()) -> gleam@json:json(). encode_input_media_sticker(Input_media_sticker) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_sticker))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_media_sticker))}, {<<"emoji"/utf8>>, gleam@json:nullable( erlang:element(4, Input_media_sticker), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 3443). -spec encode_input_media_venue(telega@model@types:input_media_venue()) -> gleam@json:json(). encode_input_media_venue(Input_media_venue) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_media_venue))}, {<<"latitude"/utf8>>, gleam@json:float(erlang:element(3, Input_media_venue))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(4, Input_media_venue))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(5, Input_media_venue))}, {<<"address"/utf8>>, gleam@json:string(erlang:element(6, Input_media_venue))}, {<<"foursquare_id"/utf8>>, gleam@json:nullable( erlang:element(7, Input_media_venue), fun gleam@json:string/1 )}, {<<"foursquare_type"/utf8>>, gleam@json:nullable( erlang:element(8, Input_media_venue), fun gleam@json:string/1 )}, {<<"google_place_id"/utf8>>, gleam@json:nullable( erlang:element(9, Input_media_venue), fun gleam@json:string/1 )}, {<<"google_place_type"/utf8>>, gleam@json:nullable( erlang:element(10, Input_media_venue), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 3525). -spec encode_input_paid_media_live_photo( telega@model@types:input_paid_media_live_photo() ) -> gleam@json:json(). encode_input_paid_media_live_photo(Input_paid_media_live_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_paid_media_live_photo) )}, {<<"media"/utf8>>, gleam@json:string( erlang:element(3, Input_paid_media_live_photo) )}, {<<"photo"/utf8>>, gleam@json:string( erlang:element(4, Input_paid_media_live_photo) )}] ). -file("src/telega/model/encoder.gleam", 3535). -spec encode_input_paid_media_photo(telega@model@types:input_paid_media_photo()) -> gleam@json:json(). encode_input_paid_media_photo(Input_paid_media_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_paid_media_photo))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_paid_media_photo))}] ). -file("src/telega/model/encoder.gleam", 3544). -spec encode_input_paid_media_video(telega@model@types:input_paid_media_video()) -> gleam@json:json(). encode_input_paid_media_video(Input_paid_media_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_paid_media_video))}, {<<"media"/utf8>>, gleam@json:string(erlang:element(3, Input_paid_media_video))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(4, Input_paid_media_video), fun gleam@json:string/1 )}, {<<"cover"/utf8>>, gleam@json:nullable( erlang:element(5, Input_paid_media_video), fun gleam@json:string/1 )}, {<<"start_timestamp"/utf8>>, gleam@json:nullable( erlang:element(6, Input_paid_media_video), fun gleam@json:int/1 )}, {<<"width"/utf8>>, gleam@json:nullable( erlang:element(7, Input_paid_media_video), fun gleam@json:int/1 )}, {<<"height"/utf8>>, gleam@json:nullable( erlang:element(8, Input_paid_media_video), fun gleam@json:int/1 )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(9, Input_paid_media_video), fun gleam@json:int/1 )}, {<<"supports_streaming"/utf8>>, gleam@json:nullable( erlang:element(10, Input_paid_media_video), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 7179). -spec encode_input_poll_option_media( telega@model@types:input_poll_option_media() ) -> gleam@json:json(). encode_input_poll_option_media(Value) -> case Value of {input_media_animation_input_poll_option_media, Inner_value} -> encode_input_media_animation(Inner_value); {input_media_link_input_poll_option_media, Inner_value@1} -> encode_input_media_link(Inner_value@1); {input_media_live_photo_input_poll_option_media, Inner_value@2} -> encode_input_media_live_photo(Inner_value@2); {input_media_location_input_poll_option_media, Inner_value@3} -> encode_input_media_location(Inner_value@3); {input_media_photo_input_poll_option_media, Inner_value@4} -> encode_input_media_photo(Inner_value@4); {input_media_sticker_input_poll_option_media, Inner_value@5} -> encode_input_media_sticker(Inner_value@5); {input_media_venue_input_poll_option_media, Inner_value@6} -> encode_input_media_venue(Inner_value@6); {input_media_video_input_poll_option_media, Inner_value@7} -> encode_input_media_video(Inner_value@7) end. -file("src/telega/model/encoder.gleam", 3566). -spec encode_input_poll_option(telega@model@types:input_poll_option()) -> gleam@json:json(). encode_input_poll_option(Input_poll_option) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, gleam@json:string(erlang:element(2, Input_poll_option))}, {<<"text_parse_mode"/utf8>>, gleam@json:nullable( erlang:element(3, Input_poll_option), fun gleam@json:string/1 )}, {<<"text_entities"/utf8>>, gleam@json:nullable( erlang:element(4, Input_poll_option), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"media"/utf8>>, gleam@json:nullable( erlang:element(5, Input_poll_option), fun encode_input_poll_option_media/1 )}] ). -file("src/telega/model/encoder.gleam", 3587). -spec encode_input_profile_photo_animated( telega@model@types:input_profile_photo_animated() ) -> gleam@json:json(). encode_input_profile_photo_animated(Input_profile_photo_animated) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Input_profile_photo_animated) )}, {<<"animation"/utf8>>, gleam@json:string( erlang:element(3, Input_profile_photo_animated) )}, {<<"main_frame_timestamp"/utf8>>, gleam@json:nullable( erlang:element(4, Input_profile_photo_animated), fun gleam@json:float/1 )}] ). -file("src/telega/model/encoder.gleam", 3603). -spec encode_input_profile_photo_static( telega@model@types:input_profile_photo_static() ) -> gleam@json:json(). encode_input_profile_photo_static(Input_profile_photo_static) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_profile_photo_static))}, {<<"photo"/utf8>>, gleam@json:string(erlang:element(3, Input_profile_photo_static))}] ). -file("src/telega/model/encoder.gleam", 3970). -spec encode_input_sticker(telega@model@types:input_sticker()) -> gleam@json:json(). encode_input_sticker(Input_sticker) -> telega@internal@utils:json_object_filter_nulls( [{<<"sticker"/utf8>>, gleam@json:string(erlang:element(2, Input_sticker))}, {<<"format"/utf8>>, gleam@json:string(erlang:element(3, Input_sticker))}, {<<"emoji_list"/utf8>>, gleam@json:array( erlang:element(4, Input_sticker), fun gleam@json:string/1 )}, {<<"mask_position"/utf8>>, gleam@json:nullable( erlang:element(5, Input_sticker), fun encode_mask_position/1 )}, {<<"keywords"/utf8>>, gleam@json:nullable( erlang:element(6, Input_sticker), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:string/1) end )}] ). -file("src/telega/model/encoder.gleam", 3986). -spec encode_input_story_content_photo( telega@model@types:input_story_content_photo() ) -> gleam@json:json(). encode_input_story_content_photo(Input_story_content_photo) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_story_content_photo))}, {<<"photo"/utf8>>, gleam@json:string(erlang:element(3, Input_story_content_photo))}] ). -file("src/telega/model/encoder.gleam", 3995). -spec encode_input_story_content_video( telega@model@types:input_story_content_video() ) -> gleam@json:json(). encode_input_story_content_video(Input_story_content_video) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Input_story_content_video))}, {<<"video"/utf8>>, gleam@json:string(erlang:element(3, Input_story_content_video))}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(4, Input_story_content_video), fun gleam@json:float/1 )}, {<<"cover_frame_timestamp"/utf8>>, gleam@json:nullable( erlang:element(5, Input_story_content_video), fun gleam@json:float/1 )}, {<<"is_animation"/utf8>>, gleam@json:nullable( erlang:element(6, Input_story_content_video), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 4124). -spec encode_keyboard_button_poll_type( telega@model@types:keyboard_button_poll_type() ) -> gleam@json:json(). encode_keyboard_button_poll_type(Keyboard_button_poll_type) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:nullable( erlang:element(2, Keyboard_button_poll_type), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 4186). -spec encode_keyboard_button_request_managed_bot( telega@model@types:keyboard_button_request_managed_bot() ) -> gleam@json:json(). encode_keyboard_button_request_managed_bot(Keyboard_button_request_managed_bot) -> telega@internal@utils:json_object_filter_nulls( [{<<"request_id"/utf8>>, gleam@json:int( erlang:element(2, Keyboard_button_request_managed_bot) )}, {<<"suggested_name"/utf8>>, gleam@json:nullable( erlang:element(3, Keyboard_button_request_managed_bot), fun gleam@json:string/1 )}, {<<"suggested_username"/utf8>>, gleam@json:nullable( erlang:element(4, Keyboard_button_request_managed_bot), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 4132). -spec encode_keyboard_button_request_chat( telega@model@types:keyboard_button_request_chat() ) -> gleam@json:json(). encode_keyboard_button_request_chat(Keyboard_button_request_chat) -> telega@internal@utils:json_object_filter_nulls( [{<<"request_id"/utf8>>, gleam@json:int(erlang:element(2, Keyboard_button_request_chat))}, {<<"chat_is_channel"/utf8>>, gleam@json:bool(erlang:element(3, Keyboard_button_request_chat))}, {<<"chat_is_forum"/utf8>>, gleam@json:nullable( erlang:element(4, Keyboard_button_request_chat), fun gleam@json:bool/1 )}, {<<"chat_has_username"/utf8>>, gleam@json:nullable( erlang:element(5, Keyboard_button_request_chat), fun gleam@json:bool/1 )}, {<<"chat_is_created"/utf8>>, gleam@json:nullable( erlang:element(6, Keyboard_button_request_chat), fun gleam@json:bool/1 )}, {<<"user_administrator_rights"/utf8>>, gleam@json:nullable( erlang:element(7, Keyboard_button_request_chat), fun encode_chat_administrator_rights/1 )}, {<<"bot_administrator_rights"/utf8>>, gleam@json:nullable( erlang:element(8, Keyboard_button_request_chat), fun encode_chat_administrator_rights/1 )}, {<<"bot_is_member"/utf8>>, gleam@json:nullable( erlang:element(9, Keyboard_button_request_chat), fun gleam@json:bool/1 )}, {<<"request_title"/utf8>>, gleam@json:nullable( erlang:element(10, Keyboard_button_request_chat), fun gleam@json:bool/1 )}, {<<"request_username"/utf8>>, gleam@json:nullable( erlang:element(11, Keyboard_button_request_chat), fun gleam@json:bool/1 )}, {<<"request_photo"/utf8>>, gleam@json:nullable( erlang:element(12, Keyboard_button_request_chat), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 4208). -spec encode_keyboard_button_request_users( telega@model@types:keyboard_button_request_users() ) -> gleam@json:json(). encode_keyboard_button_request_users(Keyboard_button_request_users) -> telega@internal@utils:json_object_filter_nulls( [{<<"request_id"/utf8>>, gleam@json:int(erlang:element(2, Keyboard_button_request_users))}, {<<"user_is_bot"/utf8>>, gleam@json:nullable( erlang:element(3, Keyboard_button_request_users), fun gleam@json:bool/1 )}, {<<"user_is_premium"/utf8>>, gleam@json:nullable( erlang:element(4, Keyboard_button_request_users), fun gleam@json:bool/1 )}, {<<"max_quantity"/utf8>>, gleam@json:nullable( erlang:element(5, Keyboard_button_request_users), fun gleam@json:int/1 )}, {<<"request_name"/utf8>>, gleam@json:nullable( erlang:element(6, Keyboard_button_request_users), fun gleam@json:bool/1 )}, {<<"request_username"/utf8>>, gleam@json:nullable( erlang:element(7, Keyboard_button_request_users), fun gleam@json:bool/1 )}, {<<"request_photo"/utf8>>, gleam@json:nullable( erlang:element(8, Keyboard_button_request_users), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 4076). -spec encode_keyboard_button(telega@model@types:keyboard_button()) -> gleam@json:json(). encode_keyboard_button(Keyboard_button) -> telega@internal@utils:json_object_filter_nulls( [{<<"text"/utf8>>, gleam@json:string(erlang:element(2, Keyboard_button))}, {<<"icon_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(3, Keyboard_button), fun gleam@json:string/1 )}, {<<"style"/utf8>>, gleam@json:nullable( erlang:element(4, Keyboard_button), fun gleam@json:string/1 )}, {<<"request_users"/utf8>>, gleam@json:nullable( erlang:element(5, Keyboard_button), fun encode_keyboard_button_request_users/1 )}, {<<"request_chat"/utf8>>, gleam@json:nullable( erlang:element(6, Keyboard_button), fun encode_keyboard_button_request_chat/1 )}, {<<"request_managed_bot"/utf8>>, gleam@json:nullable( erlang:element(7, Keyboard_button), fun encode_keyboard_button_request_managed_bot/1 )}, {<<"request_contact"/utf8>>, gleam@json:nullable( erlang:element(8, Keyboard_button), fun gleam@json:bool/1 )}, {<<"request_location"/utf8>>, gleam@json:nullable( erlang:element(9, Keyboard_button), fun gleam@json:bool/1 )}, {<<"request_poll"/utf8>>, gleam@json:nullable( erlang:element(10, Keyboard_button), fun encode_keyboard_button_poll_type/1 )}, {<<"web_app"/utf8>>, gleam@json:nullable( erlang:element(11, Keyboard_button), fun encode_web_app_info/1 )}] ). -file("src/telega/model/encoder.gleam", 4307). -spec encode_location_address(telega@model@types:location_address()) -> gleam@json:json(). encode_location_address(Location_address) -> telega@internal@utils:json_object_filter_nulls( [{<<"country_code"/utf8>>, gleam@json:string(erlang:element(2, Location_address))}, {<<"state"/utf8>>, gleam@json:nullable( erlang:element(3, Location_address), fun gleam@json:string/1 )}, {<<"city"/utf8>>, gleam@json:nullable( erlang:element(4, Location_address), fun gleam@json:string/1 )}, {<<"street"/utf8>>, gleam@json:nullable( erlang:element(5, Location_address), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 4336). -spec encode_managed_bot_updated(telega@model@types:managed_bot_updated()) -> gleam@json:json(). encode_managed_bot_updated(Managed_bot_updated) -> telega@internal@utils:json_object_filter_nulls( [{<<"user"/utf8>>, encode_user(erlang:element(2, Managed_bot_updated))}, {<<"bot"/utf8>>, encode_user(erlang:element(3, Managed_bot_updated))}] ). -file("src/telega/model/encoder.gleam", 4354). -spec encode_menu_button_commands(telega@model@types:menu_button_commands()) -> gleam@json:json(). encode_menu_button_commands(Menu_button_commands) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Menu_button_commands))}] ). -file("src/telega/model/encoder.gleam", 4362). -spec encode_menu_button_default(telega@model@types:menu_button_default()) -> gleam@json:json(). encode_menu_button_default(Menu_button_default) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Menu_button_default))}] ). -file("src/telega/model/encoder.gleam", 4370). -spec encode_menu_button_web_app(telega@model@types:menu_button_web_app()) -> gleam@json:json(). encode_menu_button_web_app(Menu_button_web_app) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Menu_button_web_app))}, {<<"text"/utf8>>, gleam@json:string(erlang:element(3, Menu_button_web_app))}, {<<"web_app"/utf8>>, encode_web_app_info(erlang:element(4, Menu_button_web_app))}] ). -file("src/telega/model/encoder.gleam", 4772). -spec encode_message_id(telega@model@types:message_id()) -> gleam@json:json(). encode_message_id(Message_id) -> telega@internal@utils:json_object_filter_nulls( [{<<"message_id"/utf8>>, gleam@json:int(erlang:element(2, Message_id))}] ). -file("src/telega/model/encoder.gleam", 5362). -spec encode_reaction_count(telega@model@types:reaction_count()) -> gleam@json:json(). encode_reaction_count(Reaction_count) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, encode_reaction_type(erlang:element(2, Reaction_count))}, {<<"total_count"/utf8>>, gleam@json:int(erlang:element(3, Reaction_count))}] ). -file("src/telega/model/encoder.gleam", 4830). -spec encode_message_reaction_count_updated( telega@model@types:message_reaction_count_updated() ) -> gleam@json:json(). encode_message_reaction_count_updated(Message_reaction_count_updated) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Message_reaction_count_updated))}, {<<"message_id"/utf8>>, gleam@json:int( erlang:element(3, Message_reaction_count_updated) )}, {<<"date"/utf8>>, gleam@json:int( erlang:element(4, Message_reaction_count_updated) )}, {<<"reactions"/utf8>>, gleam@json:array( erlang:element(5, Message_reaction_count_updated), fun encode_reaction_count/1 )}] ). -file("src/telega/model/encoder.gleam", 4846). -spec encode_message_reaction_updated( telega@model@types:message_reaction_updated() ) -> gleam@json:json(). encode_message_reaction_updated(Message_reaction_updated) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat"/utf8>>, encode_chat(erlang:element(2, Message_reaction_updated))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(3, Message_reaction_updated))}, {<<"user"/utf8>>, gleam@json:nullable( erlang:element(4, Message_reaction_updated), fun encode_user/1 )}, {<<"actor_chat"/utf8>>, gleam@json:nullable( erlang:element(5, Message_reaction_updated), fun encode_chat/1 )}, {<<"date"/utf8>>, gleam@json:int(erlang:element(6, Message_reaction_updated))}, {<<"old_reaction"/utf8>>, gleam@json:array( erlang:element(7, Message_reaction_updated), fun encode_reaction_type/1 )}, {<<"new_reaction"/utf8>>, gleam@json:array( erlang:element(8, Message_reaction_updated), fun encode_reaction_type/1 )}] ). -file("src/telega/model/encoder.gleam", 4881). -spec encode_owned_gift_regular(telega@model@types:owned_gift_regular()) -> gleam@json:json(). encode_owned_gift_regular(Owned_gift_regular) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Owned_gift_regular))}, {<<"gift"/utf8>>, encode_gift(erlang:element(3, Owned_gift_regular))}, {<<"owned_gift_id"/utf8>>, gleam@json:nullable( erlang:element(4, Owned_gift_regular), fun gleam@json:string/1 )}, {<<"sender_user"/utf8>>, gleam@json:nullable( erlang:element(5, Owned_gift_regular), fun encode_user/1 )}, {<<"send_date"/utf8>>, gleam@json:int(erlang:element(6, Owned_gift_regular))}, {<<"text"/utf8>>, gleam@json:nullable( erlang:element(7, Owned_gift_regular), fun gleam@json:string/1 )}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(8, Owned_gift_regular), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"is_private"/utf8>>, gleam@json:nullable( erlang:element(9, Owned_gift_regular), fun gleam@json:bool/1 )}, {<<"is_saved"/utf8>>, gleam@json:nullable( erlang:element(10, Owned_gift_regular), fun gleam@json:bool/1 )}, {<<"can_be_upgraded"/utf8>>, gleam@json:nullable( erlang:element(11, Owned_gift_regular), fun gleam@json:bool/1 )}, {<<"was_refunded"/utf8>>, gleam@json:nullable( erlang:element(12, Owned_gift_regular), fun gleam@json:bool/1 )}, {<<"convert_star_count"/utf8>>, gleam@json:nullable( erlang:element(13, Owned_gift_regular), fun gleam@json:int/1 )}, {<<"prepaid_upgrade_star_count"/utf8>>, gleam@json:nullable( erlang:element(14, Owned_gift_regular), fun gleam@json:int/1 )}, {<<"is_upgrade_separate"/utf8>>, gleam@json:nullable( erlang:element(15, Owned_gift_regular), fun gleam@json:bool/1 )}, {<<"unique_gift_number"/utf8>>, gleam@json:nullable( erlang:element(16, Owned_gift_regular), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 4925). -spec encode_owned_gift_unique(telega@model@types:owned_gift_unique()) -> gleam@json:json(). encode_owned_gift_unique(Owned_gift_unique) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Owned_gift_unique))}, {<<"gift"/utf8>>, encode_unique_gift(erlang:element(3, Owned_gift_unique))}, {<<"owned_gift_id"/utf8>>, gleam@json:nullable( erlang:element(4, Owned_gift_unique), fun gleam@json:string/1 )}, {<<"sender_user"/utf8>>, gleam@json:nullable( erlang:element(5, Owned_gift_unique), fun encode_user/1 )}, {<<"send_date"/utf8>>, gleam@json:int(erlang:element(6, Owned_gift_unique))}, {<<"is_saved"/utf8>>, gleam@json:nullable( erlang:element(7, Owned_gift_unique), fun gleam@json:bool/1 )}, {<<"can_be_transferred"/utf8>>, gleam@json:nullable( erlang:element(8, Owned_gift_unique), fun gleam@json:bool/1 )}, {<<"transfer_star_count"/utf8>>, gleam@json:nullable( erlang:element(9, Owned_gift_unique), fun gleam@json:int/1 )}, {<<"next_transfer_date"/utf8>>, gleam@json:nullable( erlang:element(10, Owned_gift_unique), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 7299). -spec encode_owned_gift(telega@model@types:owned_gift()) -> gleam@json:json(). encode_owned_gift(Value) -> case Value of {owned_gift_regular_owned_gift, Inner_value} -> encode_owned_gift_regular(Inner_value); {owned_gift_unique_owned_gift, Inner_value@1} -> encode_owned_gift_unique(Inner_value@1) end. -file("src/telega/model/encoder.gleam", 4951). -spec encode_owned_gifts(telega@model@types:owned_gifts()) -> gleam@json:json(). encode_owned_gifts(Owned_gifts) -> telega@internal@utils:json_object_filter_nulls( [{<<"total_count"/utf8>>, gleam@json:int(erlang:element(2, Owned_gifts))}, {<<"gifts"/utf8>>, gleam@json:array( erlang:element(3, Owned_gifts), fun encode_owned_gift/1 )}, {<<"next_offset"/utf8>>, gleam@json:nullable( erlang:element(4, Owned_gifts), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 4994). -spec encode_paid_media_purchased(telega@model@types:paid_media_purchased()) -> gleam@json:json(). encode_paid_media_purchased(Paid_media_purchased) -> telega@internal@utils:json_object_filter_nulls( [{<<"from"/utf8>>, encode_user(erlang:element(2, Paid_media_purchased))}, {<<"paid_media_payload"/utf8>>, gleam@json:string(erlang:element(3, Paid_media_purchased))}] ). -file("src/telega/model/encoder.gleam", 5034). -spec encode_passport_element_error_data_field( telega@model@types:passport_element_error_data_field() ) -> gleam@json:json(). encode_passport_element_error_data_field(Passport_element_error_data_field) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_data_field) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_data_field) )}, {<<"field_name"/utf8>>, gleam@json:string( erlang:element(4, Passport_element_error_data_field) )}, {<<"data_hash"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_data_field) )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(6, Passport_element_error_data_field) )}] ). -file("src/telega/model/encoder.gleam", 5046). -spec encode_passport_element_error_file( telega@model@types:passport_element_error_file() ) -> gleam@json:json(). encode_passport_element_error_file(Passport_element_error_file) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_file) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_file) )}, {<<"file_hash"/utf8>>, gleam@json:string( erlang:element(4, Passport_element_error_file) )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_file) )}] ). -file("src/telega/model/encoder.gleam", 5057). -spec encode_passport_element_error_files( telega@model@types:passport_element_error_files() ) -> gleam@json:json(). encode_passport_element_error_files(Passport_element_error_files) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_files) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_files) )}, {<<"file_hashes"/utf8>>, gleam@json:array( erlang:element(4, Passport_element_error_files), fun gleam@json:string/1 )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_files) )}] ). -file("src/telega/model/encoder.gleam", 5071). -spec encode_passport_element_error_front_side( telega@model@types:passport_element_error_front_side() ) -> gleam@json:json(). encode_passport_element_error_front_side(Passport_element_error_front_side) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_front_side) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_front_side) )}, {<<"file_hash"/utf8>>, gleam@json:string( erlang:element(4, Passport_element_error_front_side) )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_front_side) )}] ). -file("src/telega/model/encoder.gleam", 5082). -spec encode_passport_element_error_reverse_side( telega@model@types:passport_element_error_reverse_side() ) -> gleam@json:json(). encode_passport_element_error_reverse_side(Passport_element_error_reverse_side) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_reverse_side) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_reverse_side) )}, {<<"file_hash"/utf8>>, gleam@json:string( erlang:element(4, Passport_element_error_reverse_side) )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_reverse_side) )}] ). -file("src/telega/model/encoder.gleam", 5093). -spec encode_passport_element_error_selfie( telega@model@types:passport_element_error_selfie() ) -> gleam@json:json(). encode_passport_element_error_selfie(Passport_element_error_selfie) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_selfie) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_selfie) )}, {<<"file_hash"/utf8>>, gleam@json:string( erlang:element(4, Passport_element_error_selfie) )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_selfie) )}] ). -file("src/telega/model/encoder.gleam", 5104). -spec encode_passport_element_error_translation_file( telega@model@types:passport_element_error_translation_file() ) -> gleam@json:json(). encode_passport_element_error_translation_file( Passport_element_error_translation_file ) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_translation_file) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_translation_file) )}, {<<"file_hash"/utf8>>, gleam@json:string( erlang:element(4, Passport_element_error_translation_file) )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_translation_file) )}] ). -file("src/telega/model/encoder.gleam", 5118). -spec encode_passport_element_error_translation_files( telega@model@types:passport_element_error_translation_files() ) -> gleam@json:json(). encode_passport_element_error_translation_files( Passport_element_error_translation_files ) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_translation_files) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_translation_files) )}, {<<"file_hashes"/utf8>>, gleam@json:array( erlang:element(4, Passport_element_error_translation_files), fun gleam@json:string/1 )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_translation_files) )}] ). -file("src/telega/model/encoder.gleam", 5134). -spec encode_passport_element_error_unspecified( telega@model@types:passport_element_error_unspecified() ) -> gleam@json:json(). encode_passport_element_error_unspecified(Passport_element_error_unspecified) -> telega@internal@utils:json_object_filter_nulls( [{<<"source"/utf8>>, gleam@json:string( erlang:element(2, Passport_element_error_unspecified) )}, {<<"type"/utf8>>, gleam@json:string( erlang:element(3, Passport_element_error_unspecified) )}, {<<"element_hash"/utf8>>, gleam@json:string( erlang:element(4, Passport_element_error_unspecified) )}, {<<"message"/utf8>>, gleam@json:string( erlang:element(5, Passport_element_error_unspecified) )}] ). -file("src/telega/model/encoder.gleam", 5217). -spec encode_poll_answer(telega@model@types:poll_answer()) -> gleam@json:json(). encode_poll_answer(Poll_answer) -> telega@internal@utils:json_object_filter_nulls( [{<<"poll_id"/utf8>>, gleam@json:string(erlang:element(2, Poll_answer))}, {<<"voter_chat"/utf8>>, gleam@json:nullable( erlang:element(3, Poll_answer), fun encode_chat/1 )}, {<<"user"/utf8>>, gleam@json:nullable( erlang:element(4, Poll_answer), fun encode_user/1 )}, {<<"option_ids"/utf8>>, gleam@json:array( erlang:element(5, Poll_answer), fun gleam@json:int/1 )}, {<<"option_persistent_ids"/utf8>>, gleam@json:array( erlang:element(6, Poll_answer), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 5317). -spec encode_pre_checkout_query(telega@model@types:pre_checkout_query()) -> gleam@json:json(). encode_pre_checkout_query(Pre_checkout_query) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Pre_checkout_query))}, {<<"from"/utf8>>, encode_user(erlang:element(3, Pre_checkout_query))}, {<<"currency"/utf8>>, gleam@json:string(erlang:element(4, Pre_checkout_query))}, {<<"total_amount"/utf8>>, gleam@json:int(erlang:element(5, Pre_checkout_query))}, {<<"invoice_payload"/utf8>>, gleam@json:string(erlang:element(6, Pre_checkout_query))}, {<<"shipping_option_id"/utf8>>, gleam@json:nullable( erlang:element(7, Pre_checkout_query), fun gleam@json:string/1 )}, {<<"order_info"/utf8>>, gleam@json:nullable( erlang:element(8, Pre_checkout_query), fun encode_order_info/1 )}] ). -file("src/telega/model/encoder.gleam", 5335). -spec encode_prepared_inline_message( telega@model@types:prepared_inline_message() ) -> gleam@json:json(). encode_prepared_inline_message(Prepared_inline_message) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Prepared_inline_message))}, {<<"expiration_date"/utf8>>, gleam@json:int(erlang:element(3, Prepared_inline_message))}] ). -file("src/telega/model/encoder.gleam", 5344). -spec encode_prepared_keyboard_button( telega@model@types:prepared_keyboard_button() ) -> gleam@json:json(). encode_prepared_keyboard_button(Prepared_keyboard_button) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Prepared_keyboard_button))}] ). -file("src/telega/model/encoder.gleam", 5412). -spec encode_reply_keyboard_markup(telega@model@types:reply_keyboard_markup()) -> gleam@json:json(). encode_reply_keyboard_markup(Reply_keyboard_markup) -> telega@internal@utils:json_object_filter_nulls( [{<<"keyboard"/utf8>>, (fun(Rows) -> gleam@json:array( Rows, fun(Row) -> gleam@json:array(Row, fun encode_keyboard_button/1) end ) end)(erlang:element(2, Reply_keyboard_markup))}, {<<"is_persistent"/utf8>>, gleam@json:nullable( erlang:element(3, Reply_keyboard_markup), fun gleam@json:bool/1 )}, {<<"resize_keyboard"/utf8>>, gleam@json:nullable( erlang:element(4, Reply_keyboard_markup), fun gleam@json:bool/1 )}, {<<"one_time_keyboard"/utf8>>, gleam@json:nullable( erlang:element(5, Reply_keyboard_markup), fun gleam@json:bool/1 )}, {<<"input_field_placeholder"/utf8>>, gleam@json:nullable( erlang:element(6, Reply_keyboard_markup), fun gleam@json:string/1 )}, {<<"selective"/utf8>>, gleam@json:nullable( erlang:element(7, Reply_keyboard_markup), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 5442). -spec encode_reply_keyboard_remove(telega@model@types:reply_keyboard_remove()) -> gleam@json:json(). encode_reply_keyboard_remove(Reply_keyboard_remove) -> telega@internal@utils:json_object_filter_nulls( [{<<"remove_keyboard"/utf8>>, gleam@json:bool(erlang:element(2, Reply_keyboard_remove))}, {<<"selective"/utf8>>, gleam@json:nullable( erlang:element(3, Reply_keyboard_remove), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 5451). -spec encode_reply_parameters(telega@model@types:reply_parameters()) -> gleam@json:json(). encode_reply_parameters(Reply_parameters) -> telega@internal@utils:json_object_filter_nulls( [{<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(2, Reply_parameters), fun gleam@json:int/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Reply_parameters), fun encode_int_or_string/1 )}, {<<"ephemeral_message_id"/utf8>>, gleam@json:nullable( erlang:element(4, Reply_parameters), fun gleam@json:int/1 )}, {<<"allow_sending_without_reply"/utf8>>, gleam@json:nullable( erlang:element(5, Reply_parameters), fun gleam@json:bool/1 )}, {<<"quote"/utf8>>, gleam@json:nullable( erlang:element(6, Reply_parameters), fun gleam@json:string/1 )}, {<<"quote_parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Reply_parameters), fun gleam@json:string/1 )}, {<<"quote_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Reply_parameters), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"quote_position"/utf8>>, gleam@json:nullable( erlang:element(9, Reply_parameters), fun gleam@json:int/1 )}, {<<"checklist_task_id"/utf8>>, gleam@json:nullable( erlang:element(10, Reply_parameters), fun gleam@json:int/1 )}, {<<"poll_option_id"/utf8>>, gleam@json:nullable( erlang:element(11, Reply_parameters), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 5490). -spec encode_response_parameters(telega@model@types:response_parameters()) -> gleam@json:json(). encode_response_parameters(Response_parameters) -> telega@internal@utils:json_object_filter_nulls( [{<<"migrate_to_chat_id"/utf8>>, gleam@json:nullable( erlang:element(2, Response_parameters), fun gleam@json:int/1 )}, {<<"retry_after"/utf8>>, gleam@json:nullable( erlang:element(3, Response_parameters), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 5502). -spec encode_revenue_withdrawal_state_failed( telega@model@types:revenue_withdrawal_state_failed() ) -> gleam@json:json(). encode_revenue_withdrawal_state_failed(Revenue_withdrawal_state_failed) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Revenue_withdrawal_state_failed) )}] ). -file("src/telega/model/encoder.gleam", 5510). -spec encode_revenue_withdrawal_state_pending( telega@model@types:revenue_withdrawal_state_pending() ) -> gleam@json:json(). encode_revenue_withdrawal_state_pending(Revenue_withdrawal_state_pending) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Revenue_withdrawal_state_pending) )}] ). -file("src/telega/model/encoder.gleam", 5518). -spec encode_revenue_withdrawal_state_succeeded( telega@model@types:revenue_withdrawal_state_succeeded() ) -> gleam@json:json(). encode_revenue_withdrawal_state_succeeded(Revenue_withdrawal_state_succeeded) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Revenue_withdrawal_state_succeeded) )}, {<<"date"/utf8>>, gleam@json:int( erlang:element(3, Revenue_withdrawal_state_succeeded) )}, {<<"url"/utf8>>, gleam@json:string( erlang:element(4, Revenue_withdrawal_state_succeeded) )}] ). -file("src/telega/model/encoder.gleam", 6026). -spec encode_sent_guest_message(telega@model@types:sent_guest_message()) -> gleam@json:json(). encode_sent_guest_message(Sent_guest_message) -> telega@internal@utils:json_object_filter_nulls( [{<<"inline_message_id"/utf8>>, gleam@json:string(erlang:element(2, Sent_guest_message))}] ). -file("src/telega/model/encoder.gleam", 6032). -spec encode_sent_web_app_message(telega@model@types:sent_web_app_message()) -> gleam@json:json(). encode_sent_web_app_message(Sent_web_app_message) -> telega@internal@utils:json_object_filter_nulls( [{<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(2, Sent_web_app_message), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 6067). -spec encode_shipping_option(telega@model@types:shipping_option()) -> gleam@json:json(). encode_shipping_option(Shipping_option) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Shipping_option))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(3, Shipping_option))}, {<<"prices"/utf8>>, gleam@json:array( erlang:element(4, Shipping_option), fun encode_labeled_price/1 )}] ). -file("src/telega/model/encoder.gleam", 6075). -spec encode_shipping_query(telega@model@types:shipping_query()) -> gleam@json:json(). encode_shipping_query(Shipping_query) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Shipping_query))}, {<<"from"/utf8>>, encode_user(erlang:element(3, Shipping_query))}, {<<"invoice_payload"/utf8>>, gleam@json:string(erlang:element(4, Shipping_query))}, {<<"shipping_address"/utf8>>, encode_shipping_address(erlang:element(5, Shipping_query))}] ). -file("src/telega/model/encoder.gleam", 6497). -spec encode_transaction_partner_other( telega@model@types:transaction_partner_other() ) -> gleam@json:json(). encode_transaction_partner_other(Transaction_partner_other) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Transaction_partner_other))}] ). -file("src/telega/model/encoder.gleam", 6513). -spec encode_transaction_partner_telegram_api( telega@model@types:transaction_partner_telegram_api() ) -> gleam@json:json(). encode_transaction_partner_telegram_api(Transaction_partner_telegram_api) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Transaction_partner_telegram_api) )}, {<<"request_count"/utf8>>, gleam@json:int( erlang:element(3, Transaction_partner_telegram_api) )}] ). -file("src/telega/model/encoder.gleam", 6505). -spec encode_transaction_partner_telegram_ads( telega@model@types:transaction_partner_telegram_ads() ) -> gleam@json:json(). encode_transaction_partner_telegram_ads(Transaction_partner_telegram_ads) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Transaction_partner_telegram_ads) )}] ). -file("src/telega/model/encoder.gleam", 7353). -spec encode_revenue_withdrawal_state( telega@model@types:revenue_withdrawal_state() ) -> gleam@json:json(). encode_revenue_withdrawal_state(Value) -> case Value of {revenue_withdrawal_state_pending_revenue_withdrawal_state, Inner_value} -> encode_revenue_withdrawal_state_pending(Inner_value); {revenue_withdrawal_state_succeeded_revenue_withdrawal_state, Inner_value@1} -> encode_revenue_withdrawal_state_succeeded(Inner_value@1); {revenue_withdrawal_state_failed_revenue_withdrawal_state, Inner_value@2} -> encode_revenue_withdrawal_state_failed(Inner_value@2) end. -file("src/telega/model/encoder.gleam", 6482). -spec encode_transaction_partner_fragment( telega@model@types:transaction_partner_fragment() ) -> gleam@json:json(). encode_transaction_partner_fragment(Transaction_partner_fragment) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Transaction_partner_fragment) )}, {<<"withdrawal_state"/utf8>>, gleam@json:nullable( erlang:element(3, Transaction_partner_fragment), fun encode_revenue_withdrawal_state/1 )}] ). -file("src/telega/model/encoder.gleam", 6453). -spec encode_transaction_partner_affiliate_program( telega@model@types:transaction_partner_affiliate_program() ) -> gleam@json:json(). encode_transaction_partner_affiliate_program( Transaction_partner_affiliate_program ) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Transaction_partner_affiliate_program) )}, {<<"sponsor_user"/utf8>>, gleam@json:nullable( erlang:element(3, Transaction_partner_affiliate_program), fun encode_user/1 )}, {<<"commission_per_mille"/utf8>>, gleam@json:int( erlang:element(4, Transaction_partner_affiliate_program) )}] ). -file("src/telega/model/encoder.gleam", 6472). -spec encode_transaction_partner_chat( telega@model@types:transaction_partner_chat() ) -> gleam@json:json(). encode_transaction_partner_chat(Transaction_partner_chat) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Transaction_partner_chat))}, {<<"chat"/utf8>>, encode_chat(erlang:element(3, Transaction_partner_chat))}, {<<"gift"/utf8>>, gleam@json:nullable( erlang:element(4, Transaction_partner_chat), fun encode_gift/1 )}] ). -file("src/telega/model/encoder.gleam", 6522). -spec encode_transaction_partner_user( telega@model@types:transaction_partner_user() ) -> gleam@json:json(). encode_transaction_partner_user(Transaction_partner_user) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Transaction_partner_user))}, {<<"transaction_type"/utf8>>, gleam@json:string(erlang:element(3, Transaction_partner_user))}, {<<"user"/utf8>>, encode_user(erlang:element(4, Transaction_partner_user))}, {<<"affiliate"/utf8>>, gleam@json:nullable( erlang:element(5, Transaction_partner_user), fun encode_affiliate_info/1 )}, {<<"invoice_payload"/utf8>>, gleam@json:nullable( erlang:element(6, Transaction_partner_user), fun gleam@json:string/1 )}, {<<"subscription_period"/utf8>>, gleam@json:nullable( erlang:element(7, Transaction_partner_user), fun gleam@json:int/1 )}, {<<"paid_media"/utf8>>, gleam@json:nullable( erlang:element(8, Transaction_partner_user), fun(_capture) -> gleam@json:array(_capture, fun encode_paid_media/1) end )}, {<<"paid_media_payload"/utf8>>, gleam@json:nullable( erlang:element(9, Transaction_partner_user), fun gleam@json:string/1 )}, {<<"gift"/utf8>>, gleam@json:nullable( erlang:element(10, Transaction_partner_user), fun encode_gift/1 )}, {<<"premium_subscription_duration"/utf8>>, gleam@json:nullable( erlang:element(11, Transaction_partner_user), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 7471). -spec encode_transaction_partner(telega@model@types:transaction_partner()) -> gleam@json:json(). encode_transaction_partner(Value) -> case Value of {transaction_partner_user_transaction_partner, Inner_value} -> encode_transaction_partner_user(Inner_value); {transaction_partner_chat_transaction_partner, Inner_value@1} -> encode_transaction_partner_chat(Inner_value@1); {transaction_partner_affiliate_program_transaction_partner, Inner_value@2} -> encode_transaction_partner_affiliate_program(Inner_value@2); {transaction_partner_fragment_transaction_partner, Inner_value@3} -> encode_transaction_partner_fragment(Inner_value@3); {transaction_partner_telegram_ads_transaction_partner, Inner_value@4} -> encode_transaction_partner_telegram_ads(Inner_value@4); {transaction_partner_telegram_api_transaction_partner, Inner_value@5} -> encode_transaction_partner_telegram_api(Inner_value@5); {transaction_partner_other_transaction_partner, Inner_value@6} -> encode_transaction_partner_other(Inner_value@6) end. -file("src/telega/model/encoder.gleam", 6094). -spec encode_star_transaction(telega@model@types:star_transaction()) -> gleam@json:json(). encode_star_transaction(Star_transaction) -> telega@internal@utils:json_object_filter_nulls( [{<<"id"/utf8>>, gleam@json:string(erlang:element(2, Star_transaction))}, {<<"amount"/utf8>>, gleam@json:int(erlang:element(3, Star_transaction))}, {<<"nanostar_amount"/utf8>>, gleam@json:nullable( erlang:element(4, Star_transaction), fun gleam@json:int/1 )}, {<<"date"/utf8>>, gleam@json:int(erlang:element(5, Star_transaction))}, {<<"source"/utf8>>, gleam@json:nullable( erlang:element(6, Star_transaction), fun encode_transaction_partner/1 )}, {<<"receiver"/utf8>>, gleam@json:nullable( erlang:element(7, Star_transaction), fun encode_transaction_partner/1 )}] ). -file("src/telega/model/encoder.gleam", 6114). -spec encode_star_transactions(telega@model@types:star_transactions()) -> gleam@json:json(). encode_star_transactions(Star_transactions) -> telega@internal@utils:json_object_filter_nulls( [{<<"transactions"/utf8>>, gleam@json:array( erlang:element(2, Star_transactions), fun encode_star_transaction/1 )}] ). -file("src/telega/model/encoder.gleam", 6149). -spec encode_sticker_set(telega@model@types:sticker_set()) -> gleam@json:json(). encode_sticker_set(Sticker_set) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Sticker_set))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(3, Sticker_set))}, {<<"sticker_type"/utf8>>, gleam@json:string(erlang:element(4, Sticker_set))}, {<<"stickers"/utf8>>, gleam@json:array( erlang:element(5, Sticker_set), fun encode_sticker/1 )}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(6, Sticker_set), fun encode_photo_size/1 )}] ). -file("src/telega/model/encoder.gleam", 6232). -spec encode_story_area_type_unique_gift( telega@model@types:story_area_type_unique_gift() ) -> gleam@json:json(). encode_story_area_type_unique_gift(Story_area_type_unique_gift) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Story_area_type_unique_gift) )}, {<<"name"/utf8>>, gleam@json:string( erlang:element(3, Story_area_type_unique_gift) )}] ). -file("src/telega/model/encoder.gleam", 6241). -spec encode_story_area_type_weather( telega@model@types:story_area_type_weather() ) -> gleam@json:json(). encode_story_area_type_weather(Story_area_type_weather) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Story_area_type_weather))}, {<<"temperature"/utf8>>, gleam@json:float(erlang:element(3, Story_area_type_weather))}, {<<"emoji"/utf8>>, gleam@json:string(erlang:element(4, Story_area_type_weather))}, {<<"background_color"/utf8>>, gleam@json:int(erlang:element(5, Story_area_type_weather))}] ). -file("src/telega/model/encoder.gleam", 6189). -spec encode_story_area_type_link(telega@model@types:story_area_type_link()) -> gleam@json:json(). encode_story_area_type_link(Story_area_type_link) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Story_area_type_link))}, {<<"url"/utf8>>, gleam@json:string(erlang:element(3, Story_area_type_link))}] ). -file("src/telega/model/encoder.gleam", 6212). -spec encode_story_area_type_suggested_reaction( telega@model@types:story_area_type_suggested_reaction() ) -> gleam@json:json(). encode_story_area_type_suggested_reaction(Story_area_type_suggested_reaction) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string( erlang:element(2, Story_area_type_suggested_reaction) )}, {<<"reaction_type"/utf8>>, encode_reaction_type( erlang:element(3, Story_area_type_suggested_reaction) )}, {<<"is_dark"/utf8>>, gleam@json:nullable( erlang:element(4, Story_area_type_suggested_reaction), fun gleam@json:bool/1 )}, {<<"is_flipped"/utf8>>, gleam@json:nullable( erlang:element(5, Story_area_type_suggested_reaction), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 6198). -spec encode_story_area_type_location( telega@model@types:story_area_type_location() ) -> gleam@json:json(). encode_story_area_type_location(Story_area_type_location) -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Story_area_type_location))}, {<<"latitude"/utf8>>, gleam@json:float(erlang:element(3, Story_area_type_location))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(4, Story_area_type_location))}, {<<"address"/utf8>>, gleam@json:nullable( erlang:element(5, Story_area_type_location), fun encode_location_address/1 )}] ). -file("src/telega/model/encoder.gleam", 7456). -spec encode_story_area_type(telega@model@types:story_area_type()) -> gleam@json:json(). encode_story_area_type(Value) -> case Value of {story_area_type_location_story_area_type, Inner_value} -> encode_story_area_type_location(Inner_value); {story_area_type_suggested_reaction_story_area_type, Inner_value@1} -> encode_story_area_type_suggested_reaction(Inner_value@1); {story_area_type_link_story_area_type, Inner_value@2} -> encode_story_area_type_link(Inner_value@2); {story_area_type_weather_story_area_type, Inner_value@3} -> encode_story_area_type_weather(Inner_value@3); {story_area_type_unique_gift_story_area_type, Inner_value@4} -> encode_story_area_type_unique_gift(Inner_value@4) end. -file("src/telega/model/encoder.gleam", 6173). -spec encode_story_area_position(telega@model@types:story_area_position()) -> gleam@json:json(). encode_story_area_position(Story_area_position) -> telega@internal@utils:json_object_filter_nulls( [{<<"x_percentage"/utf8>>, gleam@json:float(erlang:element(2, Story_area_position))}, {<<"y_percentage"/utf8>>, gleam@json:float(erlang:element(3, Story_area_position))}, {<<"width_percentage"/utf8>>, gleam@json:float(erlang:element(4, Story_area_position))}, {<<"height_percentage"/utf8>>, gleam@json:float(erlang:element(5, Story_area_position))}, {<<"rotation_angle"/utf8>>, gleam@json:float(erlang:element(6, Story_area_position))}, {<<"corner_radius_percentage"/utf8>>, gleam@json:float(erlang:element(7, Story_area_position))}] ). -file("src/telega/model/encoder.gleam", 6166). -spec encode_story_area(telega@model@types:story_area()) -> gleam@json:json(). encode_story_area(Story_area) -> telega@internal@utils:json_object_filter_nulls( [{<<"position"/utf8>>, encode_story_area_position(erlang:element(2, Story_area))}, {<<"type"/utf8>>, encode_story_area_type(erlang:element(3, Story_area))}] ). -file("src/telega/model/encoder.gleam", 6369). -spec encode_suggested_post_parameters( telega@model@types:suggested_post_parameters() ) -> gleam@json:json(). encode_suggested_post_parameters(Suggested_post_parameters) -> telega@internal@utils:json_object_filter_nulls( [{<<"price"/utf8>>, gleam@json:nullable( erlang:element(2, Suggested_post_parameters), fun encode_suggested_post_price/1 )}, {<<"send_date"/utf8>>, gleam@json:nullable( erlang:element(3, Suggested_post_parameters), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 6680). -spec encode_update(telega@model@types:update()) -> gleam@json:json(). encode_update(Update) -> telega@internal@utils:json_object_filter_nulls( [{<<"update_id"/utf8>>, gleam@json:int(erlang:element(2, Update))}, {<<"message"/utf8>>, gleam@json:nullable( erlang:element(3, Update), fun encode_message/1 )}, {<<"edited_message"/utf8>>, gleam@json:nullable( erlang:element(4, Update), fun encode_message/1 )}, {<<"channel_post"/utf8>>, gleam@json:nullable( erlang:element(5, Update), fun encode_message/1 )}, {<<"edited_channel_post"/utf8>>, gleam@json:nullable( erlang:element(6, Update), fun encode_message/1 )}, {<<"business_connection"/utf8>>, gleam@json:nullable( erlang:element(7, Update), fun encode_business_connection/1 )}, {<<"business_message"/utf8>>, gleam@json:nullable( erlang:element(8, Update), fun encode_message/1 )}, {<<"edited_business_message"/utf8>>, gleam@json:nullable( erlang:element(9, Update), fun encode_message/1 )}, {<<"deleted_business_messages"/utf8>>, gleam@json:nullable( erlang:element(10, Update), fun encode_business_messages_deleted/1 )}, {<<"guest_message"/utf8>>, gleam@json:nullable( erlang:element(11, Update), fun encode_message/1 )}, {<<"message_reaction"/utf8>>, gleam@json:nullable( erlang:element(12, Update), fun encode_message_reaction_updated/1 )}, {<<"message_reaction_count"/utf8>>, gleam@json:nullable( erlang:element(13, Update), fun encode_message_reaction_count_updated/1 )}, {<<"inline_query"/utf8>>, gleam@json:nullable( erlang:element(14, Update), fun encode_inline_query/1 )}, {<<"chosen_inline_result"/utf8>>, gleam@json:nullable( erlang:element(15, Update), fun encode_chosen_inline_result/1 )}, {<<"callback_query"/utf8>>, gleam@json:nullable( erlang:element(16, Update), fun encode_callback_query/1 )}, {<<"shipping_query"/utf8>>, gleam@json:nullable( erlang:element(17, Update), fun encode_shipping_query/1 )}, {<<"pre_checkout_query"/utf8>>, gleam@json:nullable( erlang:element(18, Update), fun encode_pre_checkout_query/1 )}, {<<"purchased_paid_media"/utf8>>, gleam@json:nullable( erlang:element(19, Update), fun encode_paid_media_purchased/1 )}, {<<"poll"/utf8>>, gleam@json:nullable( erlang:element(20, Update), fun encode_poll/1 )}, {<<"poll_answer"/utf8>>, gleam@json:nullable( erlang:element(21, Update), fun encode_poll_answer/1 )}, {<<"my_chat_member"/utf8>>, gleam@json:nullable( erlang:element(22, Update), fun encode_chat_member_updated/1 )}, {<<"chat_member"/utf8>>, gleam@json:nullable( erlang:element(23, Update), fun encode_chat_member_updated/1 )}, {<<"chat_join_request"/utf8>>, gleam@json:nullable( erlang:element(24, Update), fun encode_chat_join_request/1 )}, {<<"chat_boost"/utf8>>, gleam@json:nullable( erlang:element(25, Update), fun encode_chat_boost_updated/1 )}, {<<"removed_chat_boost"/utf8>>, gleam@json:nullable( erlang:element(26, Update), fun encode_chat_boost_removed/1 )}, {<<"managed_bot"/utf8>>, gleam@json:nullable( erlang:element(27, Update), fun encode_managed_bot_updated/1 )}, {<<"subscription"/utf8>>, gleam@json:nullable( erlang:element(28, Update), fun encode_bot_subscription_updated/1 )}] ). -file("src/telega/model/encoder.gleam", 6816). -spec encode_user_chat_boosts(telega@model@types:user_chat_boosts()) -> gleam@json:json(). encode_user_chat_boosts(User_chat_boosts) -> telega@internal@utils:json_object_filter_nulls( [{<<"boosts"/utf8>>, gleam@json:array( erlang:element(2, User_chat_boosts), fun encode_chat_boost/1 )}] ). -file("src/telega/model/encoder.gleam", 6822). -spec encode_user_profile_audios(telega@model@types:user_profile_audios()) -> gleam@json:json(). encode_user_profile_audios(User_profile_audios) -> telega@internal@utils:json_object_filter_nulls( [{<<"total_count"/utf8>>, gleam@json:int(erlang:element(2, User_profile_audios))}, {<<"audios"/utf8>>, gleam@json:array( erlang:element(3, User_profile_audios), fun encode_audio/1 )}] ). -file("src/telega/model/encoder.gleam", 6831). -spec encode_user_profile_photos(telega@model@types:user_profile_photos()) -> gleam@json:json(). encode_user_profile_photos(User_profile_photos) -> telega@internal@utils:json_object_filter_nulls( [{<<"total_count"/utf8>>, gleam@json:int(erlang:element(2, User_profile_photos))}, {<<"photos"/utf8>>, (fun(Rows) -> gleam@json:array( Rows, fun(Row) -> gleam@json:array(Row, fun encode_photo_size/1) end ) end)(erlang:element(3, User_profile_photos))}] ). -file("src/telega/model/encoder.gleam", 6972). -spec encode_webhook_info(telega@model@types:webhook_info()) -> gleam@json:json(). encode_webhook_info(Webhook_info) -> telega@internal@utils:json_object_filter_nulls( [{<<"url"/utf8>>, gleam@json:string(erlang:element(2, Webhook_info))}, {<<"has_custom_certificate"/utf8>>, gleam@json:bool(erlang:element(3, Webhook_info))}, {<<"pending_update_count"/utf8>>, gleam@json:int(erlang:element(4, Webhook_info))}, {<<"ip_address"/utf8>>, gleam@json:nullable( erlang:element(5, Webhook_info), fun gleam@json:string/1 )}, {<<"last_error_date"/utf8>>, gleam@json:nullable( erlang:element(6, Webhook_info), fun gleam@json:int/1 )}, {<<"last_error_message"/utf8>>, gleam@json:nullable( erlang:element(7, Webhook_info), fun gleam@json:string/1 )}, {<<"last_synchronization_error_date"/utf8>>, gleam@json:nullable( erlang:element(8, Webhook_info), fun gleam@json:int/1 )}, {<<"max_connections"/utf8>>, gleam@json:nullable( erlang:element(9, Webhook_info), fun gleam@json:int/1 )}, {<<"allowed_updates"/utf8>>, gleam@json:nullable( erlang:element(10, Webhook_info), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:string/1) end )}] ). -file("src/telega/model/encoder.gleam", 7038). -spec encode_bot_command_scope(telega@model@types:bot_command_scope()) -> gleam@json:json(). encode_bot_command_scope(Value) -> case Value of {bot_command_scope_default_bot_command_scope, Inner_value} -> encode_bot_command_scope_default(Inner_value); {bot_command_scope_all_private_chats_bot_command_scope, Inner_value@1} -> encode_bot_command_scope_all_private_chats(Inner_value@1); {bot_command_scope_all_group_chats_bot_command_scope, Inner_value@2} -> encode_bot_command_scope_all_group_chats(Inner_value@2); {bot_command_scope_all_chat_administrators_bot_command_scope, Inner_value@3} -> encode_bot_command_scope_all_chat_administrators(Inner_value@3); {bot_command_scope_chat_bot_command_scope, Inner_value@4} -> encode_bot_command_scope_chat(Inner_value@4); {bot_command_scope_chat_administrators_bot_command_scope, Inner_value@5} -> encode_bot_command_scope_chat_administrators(Inner_value@5); {bot_command_scope_chat_member_bot_command_scope, Inner_value@6} -> encode_bot_command_scope_chat_member(Inner_value@6) end. -file("src/telega/model/encoder.gleam", 7085). -spec encode_inline_query_result(telega@model@types:inline_query_result()) -> gleam@json:json(). encode_inline_query_result(Value) -> case Value of {inline_query_result_cached_audio_inline_query_result, Inner_value} -> encode_inline_query_result_cached_audio(Inner_value); {inline_query_result_cached_document_inline_query_result, Inner_value@1} -> encode_inline_query_result_cached_document(Inner_value@1); {inline_query_result_cached_gif_inline_query_result, Inner_value@2} -> encode_inline_query_result_cached_gif(Inner_value@2); {inline_query_result_cached_mpeg4_gif_inline_query_result, Inner_value@3} -> encode_inline_query_result_cached_mpeg4_gif(Inner_value@3); {inline_query_result_cached_photo_inline_query_result, Inner_value@4} -> encode_inline_query_result_cached_photo(Inner_value@4); {inline_query_result_cached_sticker_inline_query_result, Inner_value@5} -> encode_inline_query_result_cached_sticker(Inner_value@5); {inline_query_result_cached_video_inline_query_result, Inner_value@6} -> encode_inline_query_result_cached_video(Inner_value@6); {inline_query_result_cached_voice_inline_query_result, Inner_value@7} -> encode_inline_query_result_cached_voice(Inner_value@7); {inline_query_result_article_inline_query_result, Inner_value@8} -> encode_inline_query_result_article(Inner_value@8); {inline_query_result_audio_inline_query_result, Inner_value@9} -> encode_inline_query_result_audio(Inner_value@9); {inline_query_result_contact_inline_query_result, Inner_value@10} -> encode_inline_query_result_contact(Inner_value@10); {inline_query_result_game_inline_query_result, Inner_value@11} -> encode_inline_query_result_game(Inner_value@11); {inline_query_result_document_inline_query_result, Inner_value@12} -> encode_inline_query_result_document(Inner_value@12); {inline_query_result_gif_inline_query_result, Inner_value@13} -> encode_inline_query_result_gif(Inner_value@13); {inline_query_result_location_inline_query_result, Inner_value@14} -> encode_inline_query_result_location(Inner_value@14); {inline_query_result_mpeg4_gif_inline_query_result, Inner_value@15} -> encode_inline_query_result_mpeg4_gif(Inner_value@15); {inline_query_result_photo_inline_query_result, Inner_value@16} -> encode_inline_query_result_photo(Inner_value@16); {inline_query_result_venue_inline_query_result, Inner_value@17} -> encode_inline_query_result_venue(Inner_value@17); {inline_query_result_video_inline_query_result, Inner_value@18} -> encode_inline_query_result_video(Inner_value@18); {inline_query_result_voice_inline_query_result, Inner_value@19} -> encode_inline_query_result_voice(Inner_value@19) end. -file("src/telega/model/encoder.gleam", 7147). -spec encode_input_paid_media(telega@model@types:input_paid_media()) -> gleam@json:json(). encode_input_paid_media(Value) -> case Value of {input_paid_media_live_photo_input_paid_media, Inner_value} -> encode_input_paid_media_live_photo(Inner_value); {input_paid_media_photo_input_paid_media, Inner_value@1} -> encode_input_paid_media_photo(Inner_value@1); {input_paid_media_video_input_paid_media, Inner_value@2} -> encode_input_paid_media_video(Inner_value@2) end. -file("src/telega/model/encoder.gleam", 7158). -spec encode_input_poll_media(telega@model@types:input_poll_media()) -> gleam@json:json(). encode_input_poll_media(Value) -> case Value of {input_media_animation_input_poll_media, Inner_value} -> encode_input_media_animation(Inner_value); {input_media_audio_input_poll_media, Inner_value@1} -> encode_input_media_audio(Inner_value@1); {input_media_document_input_poll_media, Inner_value@2} -> encode_input_media_document(Inner_value@2); {input_media_live_photo_input_poll_media, Inner_value@3} -> encode_input_media_live_photo(Inner_value@3); {input_media_location_input_poll_media, Inner_value@4} -> encode_input_media_location(Inner_value@4); {input_media_photo_input_poll_media, Inner_value@5} -> encode_input_media_photo(Inner_value@5); {input_media_venue_input_poll_media, Inner_value@6} -> encode_input_media_venue(Inner_value@6); {input_media_video_input_poll_media, Inner_value@7} -> encode_input_media_video(Inner_value@7) end. -file("src/telega/model/encoder.gleam", 7200). -spec encode_input_profile_photo(telega@model@types:input_profile_photo()) -> gleam@json:json(). encode_input_profile_photo(Value) -> case Value of {input_profile_photo_static_input_profile_photo, Inner_value} -> encode_input_profile_photo_static(Inner_value); {input_profile_photo_animated_input_profile_photo, Inner_value@1} -> encode_input_profile_photo_animated(Inner_value@1) end. -file("src/telega/model/encoder.gleam", 7256). -spec encode_input_story_content(telega@model@types:input_story_content()) -> gleam@json:json(). encode_input_story_content(Value) -> case Value of {input_story_content_photo_input_story_content, Inner_value} -> encode_input_story_content_photo(Inner_value); {input_story_content_video_input_story_content, Inner_value@1} -> encode_input_story_content_video(Inner_value@1) end. -file("src/telega/model/encoder.gleam", 7275). -spec encode_menu_button(telega@model@types:menu_button()) -> gleam@json:json(). encode_menu_button(Value) -> case Value of {menu_button_commands_menu_button, Inner_value} -> encode_menu_button_commands(Inner_value); {menu_button_web_app_menu_button, Inner_value@1} -> encode_menu_button_web_app(Inner_value@1); {menu_button_default_menu_button, Inner_value@2} -> encode_menu_button_default(Inner_value@2) end. -file("src/telega/model/encoder.gleam", 7319). -spec encode_passport_element_error(telega@model@types:passport_element_error()) -> gleam@json:json(). encode_passport_element_error(Value) -> case Value of {passport_element_error_data_field_passport_element_error, Inner_value} -> encode_passport_element_error_data_field(Inner_value); {passport_element_error_front_side_passport_element_error, Inner_value@1} -> encode_passport_element_error_front_side(Inner_value@1); {passport_element_error_reverse_side_passport_element_error, Inner_value@2} -> encode_passport_element_error_reverse_side(Inner_value@2); {passport_element_error_selfie_passport_element_error, Inner_value@3} -> encode_passport_element_error_selfie(Inner_value@3); {passport_element_error_file_passport_element_error, Inner_value@4} -> encode_passport_element_error_file(Inner_value@4); {passport_element_error_files_passport_element_error, Inner_value@5} -> encode_passport_element_error_files(Inner_value@5); {passport_element_error_translation_file_passport_element_error, Inner_value@6} -> encode_passport_element_error_translation_file(Inner_value@6); {passport_element_error_translation_files_passport_element_error, Inner_value@7} -> encode_passport_element_error_translation_files(Inner_value@7); {passport_element_error_unspecified_passport_element_error, Inner_value@8} -> encode_passport_element_error_unspecified(Inner_value@8) end. -file("src/telega/model/encoder.gleam", 7495). -spec encode_input_media(telega@model@types:input_media()) -> gleam@json:json(). encode_input_media(Value) -> case Value of {input_media_animation_input_media, Inner_value} -> encode_input_media_animation(Inner_value); {input_media_document_input_media, Inner_value@1} -> encode_input_media_document(Inner_value@1); {input_media_audio_input_media, Inner_value@2} -> encode_input_media_audio(Inner_value@2); {input_media_photo_input_media, Inner_value@3} -> encode_input_media_photo(Inner_value@3); {input_media_video_input_media, Inner_value@4} -> encode_input_media_video(Inner_value@4); {input_media_live_photo_input_media, Inner_value@5} -> encode_input_media_live_photo(Inner_value@5); {input_media_location_input_media, Inner_value@6} -> encode_input_media_location(Inner_value@6); {input_media_sticker_input_media, Inner_value@7} -> encode_input_media_sticker(Inner_value@7); {input_media_venue_input_media, Inner_value@8} -> encode_input_media_venue(Inner_value@8) end. -file("src/telega/model/encoder.gleam", 7518). -spec encode_file_or_string(telega@model@types:file_or_string()) -> gleam@json:json(). encode_file_or_string(Value) -> case Value of {file_v, Value@1} -> encode_file(Value@1); {string_v, String} -> gleam@json:string(String) end. -file("src/telega/model/encoder.gleam", 7535). -spec encode_answer_callback_query_parameters( telega@model@types:answer_callback_query_parameters() ) -> gleam@json:json(). encode_answer_callback_query_parameters(Params) -> Callback_query_id = {<<"callback_query_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, Text = {<<"text"/utf8>>, gleam@json:nullable(erlang:element(3, Params), fun gleam@json:string/1)}, Show_alert = {<<"show_alert"/utf8>>, gleam@json:nullable(erlang:element(4, Params), fun gleam@json:bool/1)}, Url = {<<"url"/utf8>>, gleam@json:nullable(erlang:element(5, Params), fun gleam@json:string/1)}, Cache_time = {<<"cache_time"/utf8>>, gleam@json:nullable(erlang:element(6, Params), fun gleam@json:int/1)}, telega@internal@utils:json_object_filter_nulls( [Callback_query_id, Text, Show_alert, Url, Cache_time] ). -file("src/telega/model/encoder.gleam", 7567). -spec bot_command_scope_to_json(telega@model@types:bot_command_scope()) -> gleam@json:json(). bot_command_scope_to_json(Scope) -> case Scope of {bot_command_scope_default_bot_command_scope, _} -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(<<"default"/utf8>>)}] ); {bot_command_scope_all_private_chats_bot_command_scope, _} -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(<<"all_private_chats"/utf8>>)}] ); {bot_command_scope_all_group_chats_bot_command_scope, _} -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(<<"all_group_chats"/utf8>>)}] ); {bot_command_scope_all_chat_administrators_bot_command_scope, _} -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(<<"all_chat_administrators"/utf8>>)}] ); {bot_command_scope_chat_bot_command_scope, Scope@1} -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(<<"chat"/utf8>>)}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Scope@1))}] ); {bot_command_scope_chat_administrators_bot_command_scope, Scope@2} -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(<<"chat_administrators"/utf8>>)}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Scope@2))}] ); {bot_command_scope_chat_member_bot_command_scope, Scope@3} -> telega@internal@utils:json_object_filter_nulls( [{<<"type"/utf8>>, gleam@json:string(<<"chat_member"/utf8>>)}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Scope@3))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(4, Scope@3))}] ) end. -file("src/telega/model/encoder.gleam", 7558). -spec encode_bot_command_parameters(telega@model@types:bot_command_parameters()) -> list({binary(), gleam@json:json()}). encode_bot_command_parameters(Params) -> [{<<"scope"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun bot_command_scope_to_json/1 )}, {<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}]. -file("src/telega/model/encoder.gleam", 7598). -spec bot_commands_from(list({binary(), binary()})) -> list(telega@model@types:bot_command()). bot_commands_from(Commands) -> _pipe = Commands, gleam@list:map( _pipe, fun(Cmd) -> {Command, Description} = Cmd, {bot_command, Command, Description, none} end ). -file("src/telega/model/encoder.gleam", 7610). -spec encode_edit_message_text_parameters( telega@model@types:edit_message_text_parameters() ) -> gleam@json:json(). encode_edit_message_text_parameters(Params) -> Chat_id = {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun encode_int_or_string/1 )}, Message_id = {<<"message_id"/utf8>>, gleam@json:nullable(erlang:element(3, Params), fun gleam@json:int/1)}, Inline_message_id = {<<"inline_message_id"/utf8>>, gleam@json:nullable(erlang:element(4, Params), fun gleam@json:string/1)}, Text = {<<"text"/utf8>>, gleam@json:string(erlang:element(5, Params))}, Parse_mode = {<<"parse_mode"/utf8>>, gleam@json:nullable(erlang:element(6, Params), fun gleam@json:string/1)}, Entities = {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, Link_preview_options = {<<"link_preview_options"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun encode_link_preview_options/1 )}, Reply_markup = {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun encode_inline_keyboard_markup/1 )}, telega@internal@utils:json_object_filter_nulls( [Chat_id, Message_id, Inline_message_id, Text, Parse_mode, Entities, Link_preview_options, Reply_markup] ). -file("src/telega/model/encoder.gleam", 7654). -spec encode_forward_message_parameters( telega@model@types:forward_message_parameters() ) -> gleam@json:json(). encode_forward_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"from_chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:int/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 7672). -spec encode_forward_messages_parameters( telega@model@types:forward_messages_parameters() ) -> gleam@json:json(). encode_forward_messages_parameters(Forward_messages_parameters) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string( erlang:element(2, Forward_messages_parameters) )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(3, Forward_messages_parameters), fun gleam@json:int/1 )}, {<<"from_chat_id"/utf8>>, encode_int_or_string( erlang:element(4, Forward_messages_parameters) )}, {<<"message_ids"/utf8>>, gleam@json:array( erlang:element(5, Forward_messages_parameters), fun gleam@json:int/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(6, Forward_messages_parameters), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(7, Forward_messages_parameters), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 7702). -spec encode_send_dice_parameters(telega@model@types:send_dice_parameters()) -> gleam@json:json(). encode_send_dice_parameters(Params) -> Chat_id = {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, Message_thread_id = {<<"message_thread_id"/utf8>>, gleam@json:nullable(erlang:element(3, Params), fun gleam@json:int/1)}, Emoji = {<<"emoji"/utf8>>, gleam@json:nullable(erlang:element(4, Params), fun gleam@json:string/1)}, Disable_notification = {<<"disable_notification"/utf8>>, gleam@json:nullable(erlang:element(5, Params), fun gleam@json:bool/1)}, Protect_content = {<<"protect_content"/utf8>>, gleam@json:nullable(erlang:element(6, Params), fun gleam@json:bool/1)}, Reply_parameters = {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun encode_reply_keyboard_markup/1 )}, telega@internal@utils:json_object_filter_nulls( [Chat_id, Message_thread_id, Emoji, Disable_notification, Protect_content, Reply_parameters] ). -file("src/telega/model/encoder.gleam", 7734). -spec encode_send_message_reply_markup_parameters( telega@model@types:send_message_reply_markup_parameters() ) -> gleam@json:json(). encode_send_message_reply_markup_parameters(Params) -> case Params of {send_message_reply_inline_keyboard_markup_parameters, Inline_keyboard} -> encode_inline_keyboard_markup(Inline_keyboard); {send_message_reply_reply_keyboard_markup_parameters, Reply_keyboard} -> encode_reply_keyboard_markup(Reply_keyboard); {send_message_reply_remove_keyboard_markup_parameters, Remove_keyboard} -> encode_reply_keyboard_remove(Remove_keyboard); {send_message_reply_force_reply_markup_parameters, Force_reply} -> encode_force_reply(Force_reply) end. -file("src/telega/model/encoder.gleam", 7749). -spec encode_send_message_parameters( telega@model@types:send_message_parameters() ) -> gleam@json:json(). encode_send_message_parameters(Send_message_parameters) -> Business_connection_id = {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Send_message_parameters), fun gleam@json:string/1 )}, Chat_id = {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Send_message_parameters))}, Message_thread_id = {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Send_message_parameters), fun gleam@json:int/1 )}, Text = {<<"text"/utf8>>, gleam@json:string(erlang:element(5, Send_message_parameters))}, Parse_mode = {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Send_message_parameters), fun gleam@json:string/1 )}, Entities = {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(7, Send_message_parameters), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, Link_preview_options = {<<"link_preview_options"/utf8>>, gleam@json:nullable( erlang:element(8, Send_message_parameters), fun encode_link_preview_options/1 )}, Disable_notification = {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(9, Send_message_parameters), fun gleam@json:bool/1 )}, Protect_content = {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(10, Send_message_parameters), fun gleam@json:bool/1 )}, Reply_parameters = {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(13, Send_message_parameters), fun encode_reply_parameters/1 )}, Reply_markup = {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(14, Send_message_parameters), fun encode_send_message_reply_markup_parameters/1 )}, telega@internal@utils:json_object_filter_nulls( [Business_connection_id, Chat_id, Message_thread_id, Text, Parse_mode, Entities, Link_preview_options, Disable_notification, Protect_content, Reply_parameters, Reply_markup] ). -file("src/telega/model/encoder.gleam", 7824). -spec encode_set_chat_menu_button_parameters( telega@model@types:set_chat_menu_button_parameters() ) -> gleam@json:json(). encode_set_chat_menu_button_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:int/1 )}, {<<"menu_button"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_menu_button/1 )}] ). -file("src/telega/model/encoder.gleam", 7835). -spec encode_set_webhook_parameters(telega@model@types:set_webhook_parameters()) -> gleam@json:json(). encode_set_webhook_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"url"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"max_connections"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"ip_address"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"allowed_updates"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:string/1) end )}, {<<"drop_pending_updates"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"secret_token"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 7854). -spec encode_get_updates_parameters(telega@model@types:get_updates_parameters()) -> gleam@json:json(). encode_get_updates_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"offset"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:int/1 )}, {<<"limit"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"timeout"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"allowed_updates"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:string/1) end )}] ). -file("src/telega/model/encoder.gleam", 7866). -spec encode_get_updates_parameters_as_query( telega@model@types:get_updates_parameters() ) -> list({binary(), binary()}). encode_get_updates_parameters_as_query(Params) -> Mut_query = [], Mut_query@1 = case erlang:element(2, Params) of {some, Offset} -> [{<<"offset"/utf8>>, erlang:integer_to_binary(Offset)} | Mut_query]; none -> Mut_query end, Mut_query@2 = case erlang:element(3, Params) of {some, Limit} -> [{<<"limit"/utf8>>, erlang:integer_to_binary(Limit)} | Mut_query@1]; none -> Mut_query@1 end, Mut_query@3 = case erlang:element(4, Params) of {some, Timeout} -> [{<<"timeout"/utf8>>, erlang:integer_to_binary(Timeout)} | Mut_query@2]; none -> Mut_query@2 end, Mut_query@4 = case erlang:element(5, Params) of {some, Allowed_updates} -> [{<<"allowed_updates"/utf8>>, begin _pipe = gleam@json:array( Allowed_updates, fun gleam@json:string/1 ), gleam@json:to_string(_pipe) end} | Mut_query@3]; none -> Mut_query@3 end, lists:reverse(Mut_query@4). -file("src/telega/model/encoder.gleam", 7902). -spec encode_copy_message_parameters( telega@model@types:copy_message_parameters() ) -> gleam@json:json(). encode_copy_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"from_chat_id"/utf8>>, encode_int_or_string(erlang:element(4, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(5, Params))}, {<<"video_start_timestamp"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:int/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 7948). -spec encode_copy_messages_parameters( telega@model@types:copy_messages_parameters() ) -> gleam@json:json(). encode_copy_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"from_chat_id"/utf8>>, encode_int_or_string(erlang:element(4, Params))}, {<<"message_ids"/utf8>>, gleam@json:array( erlang:element(5, Params), fun gleam@json:int/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"remove_caption"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 7963). -spec encode_send_photo_parameters(telega@model@types:send_photo_parameters()) -> gleam@json:json(). encode_send_photo_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"photo"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8012). -spec encode_send_audio_parameters(telega@model@types:send_audio_parameters()) -> gleam@json:json(). encode_send_audio_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"audio"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:int/1 )}, {<<"performer"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:string/1 )}, {<<"title"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:string/1 )}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun encode_file_or_string/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8060). -spec encode_send_document_parameters( telega@model@types:send_document_parameters() ) -> gleam@json:json(). encode_send_document_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"document"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun encode_file_or_string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"disable_content_type_detection"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8109). -spec encode_send_video_parameters(telega@model@types:send_video_parameters()) -> gleam@json:json(). encode_send_video_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"video"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:int/1 )}, {<<"width"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:int/1 )}, {<<"height"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:int/1 )}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun encode_file_or_string/1 )}, {<<"cover"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun encode_file_or_string/1 )}, {<<"start_timestamp"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:int/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:bool/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:bool/1 )}, {<<"supports_streaming"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(19, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(20, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(21, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(22, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(23, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8165). -spec encode_send_animation_parameters( telega@model@types:send_animation_parameters() ) -> gleam@json:json(). encode_send_animation_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"animation"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:int/1 )}, {<<"width"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:int/1 )}, {<<"height"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:int/1 )}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun encode_file_or_string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(19, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(20, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8220). -spec encode_send_voice_parameters(telega@model@types:send_voice_parameters()) -> gleam@json:json(). encode_send_voice_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"voice"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:int/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8265). -spec encode_send_video_note_parameters( telega@model@types:send_video_note_parameters() ) -> gleam@json:json(). encode_send_video_note_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"video_note"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"duration"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:int/1 )}, {<<"length"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:int/1 )}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun encode_file_or_string/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8305). -spec encode_send_media_group_parameters( telega@model@types:send_media_group_parameters() ) -> gleam@json:json(). encode_send_media_group_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"media"/utf8>>, gleam@json:array( erlang:element(5, Params), fun encode_input_media/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun encode_reply_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8335). -spec encode_send_location_parameters( telega@model@types:send_location_parameters() ) -> gleam@json:json(). encode_send_location_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"latitude"/utf8>>, gleam@json:float(erlang:element(5, Params))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(6, Params))}, {<<"horizontal_accuracy"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:float/1 )}, {<<"live_period"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:int/1 )}, {<<"heading"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:int/1 )}, {<<"proximity_alert_radius"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:int/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8381). -spec encode_send_venue_parameters(telega@model@types:send_venue_parameters()) -> gleam@json:json(). encode_send_venue_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"latitude"/utf8>>, gleam@json:float(erlang:element(5, Params))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(6, Params))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(7, Params))}, {<<"address"/utf8>>, gleam@json:string(erlang:element(8, Params))}, {<<"foursquare_id"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:string/1 )}, {<<"foursquare_type"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:string/1 )}, {<<"google_place_id"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:string/1 )}, {<<"google_place_type"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:string/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8423). -spec encode_send_contact_parameters( telega@model@types:send_contact_parameters() ) -> gleam@json:json(). encode_send_contact_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"phone_number"/utf8>>, gleam@json:string(erlang:element(5, Params))}, {<<"first_name"/utf8>>, gleam@json:string(erlang:element(6, Params))}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"vcard"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:string/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8461). -spec encode_send_poll_parameters(telega@model@types:send_poll_parameters()) -> gleam@json:json(). encode_send_poll_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"question"/utf8>>, gleam@json:string(erlang:element(5, Params))}, {<<"question_parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"question_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"options"/utf8>>, gleam@json:array( erlang:element(8, Params), fun gleam@json:string/1 )}, {<<"is_anonymous"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"type"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:string/1 )}, {<<"allows_multiple_answers"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"allows_revoting"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"members_only"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"country_codes"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun(_capture@1) -> gleam@json:array(_capture@1, fun gleam@json:string/1) end )}, {<<"correct_option_ids"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun(_capture@2) -> gleam@json:array(_capture@2, fun gleam@json:int/1) end )}, {<<"explanation"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:string/1 )}, {<<"explanation_parse_mode"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun gleam@json:string/1 )}, {<<"explanation_entities"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun(_capture@3) -> gleam@json:array( _capture@3, fun encode_message_entity/1 ) end )}, {<<"explanation_media"/utf8>>, gleam@json:nullable( erlang:element(19, Params), fun encode_input_poll_media/1 )}, {<<"media"/utf8>>, gleam@json:nullable( erlang:element(20, Params), fun encode_input_poll_media/1 )}, {<<"open_period"/utf8>>, gleam@json:nullable( erlang:element(21, Params), fun gleam@json:int/1 )}, {<<"close_date"/utf8>>, gleam@json:nullable( erlang:element(22, Params), fun gleam@json:int/1 )}, {<<"is_closed"/utf8>>, gleam@json:nullable( erlang:element(23, Params), fun gleam@json:bool/1 )}, {<<"shuffle_options"/utf8>>, gleam@json:nullable( erlang:element(24, Params), fun gleam@json:bool/1 )}, {<<"allow_adding_options"/utf8>>, gleam@json:nullable( erlang:element(25, Params), fun gleam@json:bool/1 )}, {<<"hide_results_until_closes"/utf8>>, gleam@json:nullable( erlang:element(26, Params), fun gleam@json:bool/1 )}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(27, Params), fun gleam@json:string/1 )}, {<<"description_parse_mode"/utf8>>, gleam@json:nullable( erlang:element(28, Params), fun gleam@json:string/1 )}, {<<"description_entities"/utf8>>, gleam@json:nullable( erlang:element(29, Params), fun(_capture@4) -> gleam@json:array( _capture@4, fun encode_message_entity/1 ) end )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(30, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(31, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(32, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(33, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(34, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(35, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8565). -spec encode_chat_action(telega@model@types:chat_action()) -> binary(). encode_chat_action(Action) -> case Action of typing -> <<"typing"/utf8>>; upload_photo -> <<"upload_photo"/utf8>>; record_video -> <<"record_video"/utf8>>; upload_video -> <<"upload_video"/utf8>>; record_voice -> <<"record_voice"/utf8>>; upload_voice -> <<"upload_voice"/utf8>>; upload_document -> <<"upload_document"/utf8>>; choose_sticker -> <<"choose_sticker"/utf8>>; find_location -> <<"find_location"/utf8>>; record_video_note -> <<"record_video_note"/utf8>>; upload_video_note -> <<"upload_video_note"/utf8>> end. -file("src/telega/model/encoder.gleam", 8581). -spec encode_send_chat_action_parameters( telega@model@types:send_chat_action_parameters() ) -> gleam@json:json(). encode_send_chat_action_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"action"/utf8>>, gleam@json:string(encode_chat_action(erlang:element(5, Params)))}] ). -file("src/telega/model/encoder.gleam", 8597). -spec encode_send_invoice_parameters( telega@model@types:send_invoice_parameters() ) -> gleam@json:json(). encode_send_invoice_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"title"/utf8>>, gleam@json:string(erlang:element(4, Params))}, {<<"description"/utf8>>, gleam@json:string(erlang:element(5, Params))}, {<<"payload"/utf8>>, gleam@json:string(erlang:element(6, Params))}, {<<"provider_token"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"currency"/utf8>>, gleam@json:string(erlang:element(8, Params))}, {<<"prices"/utf8>>, gleam@json:array( erlang:element(9, Params), fun encode_labeled_price/1 )}, {<<"max_tip_amount"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:int/1 )}, {<<"suggested_tip_amounts"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:int/1) end )}, {<<"start_parameter"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:string/1 )}, {<<"provider_data"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:string/1 )}, {<<"photo_url"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:string/1 )}, {<<"photo_size"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:int/1 )}, {<<"photo_width"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:int/1 )}, {<<"photo_height"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun gleam@json:int/1 )}, {<<"need_name"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun gleam@json:bool/1 )}, {<<"need_phone_number"/utf8>>, gleam@json:nullable( erlang:element(19, Params), fun gleam@json:bool/1 )}, {<<"need_email"/utf8>>, gleam@json:nullable( erlang:element(20, Params), fun gleam@json:bool/1 )}, {<<"need_shipping_address"/utf8>>, gleam@json:nullable( erlang:element(21, Params), fun gleam@json:bool/1 )}, {<<"send_phone_number_to_provider"/utf8>>, gleam@json:nullable( erlang:element(22, Params), fun gleam@json:bool/1 )}, {<<"send_email_to_provider"/utf8>>, gleam@json:nullable( erlang:element(23, Params), fun gleam@json:bool/1 )}, {<<"is_flexible"/utf8>>, gleam@json:nullable( erlang:element(24, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(25, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(26, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(27, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(28, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(29, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(30, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 8657). -spec encode_create_invoice_link_parameters( telega@model@types:create_invoice_link_parameters() ) -> gleam@json:json(). encode_create_invoice_link_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"title"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"description"/utf8>>, gleam@json:string(erlang:element(4, Params))}, {<<"payload"/utf8>>, gleam@json:string(erlang:element(5, Params))}, {<<"provider_token"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"currency"/utf8>>, gleam@json:string(erlang:element(7, Params))}, {<<"prices"/utf8>>, gleam@json:array( erlang:element(8, Params), fun encode_labeled_price/1 )}, {<<"subscription_period"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:int/1 )}, {<<"max_tip_amount"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:int/1 )}, {<<"suggested_tip_amounts"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun(_capture) -> gleam@json:array(_capture, fun gleam@json:int/1) end )}, {<<"provider_data"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:string/1 )}, {<<"photo_url"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:string/1 )}, {<<"photo_size"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:int/1 )}, {<<"photo_width"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:int/1 )}, {<<"photo_height"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:int/1 )}, {<<"need_name"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun gleam@json:bool/1 )}, {<<"need_phone_number"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun gleam@json:bool/1 )}, {<<"need_email"/utf8>>, gleam@json:nullable( erlang:element(19, Params), fun gleam@json:bool/1 )}, {<<"need_shipping_address"/utf8>>, gleam@json:nullable( erlang:element(20, Params), fun gleam@json:bool/1 )}, {<<"send_phone_number_to_provider"/utf8>>, gleam@json:nullable( erlang:element(21, Params), fun gleam@json:bool/1 )}, {<<"send_email_to_provider"/utf8>>, gleam@json:nullable( erlang:element(22, Params), fun gleam@json:bool/1 )}, {<<"is_flexible"/utf8>>, gleam@json:nullable( erlang:element(23, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 8706). -spec encode_send_sticker_parameters( telega@model@types:send_sticker_parameters() ) -> gleam@json:json(). encode_send_sticker_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"sticker"/utf8>>, encode_file_or_string(erlang:element(5, Params))}, {<<"emoji"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 8742). -spec encode_get_sticker_set_parameters( telega@model@types:get_sticker_set_parameters() ) -> gleam@json:json(). encode_get_sticker_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 8750). -spec encode_set_message_reaction_parameters( telega@model@types:set_message_reaction_parameters() ) -> gleam@json:json(). encode_set_message_reaction_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"reaction"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_reaction_type/1) end )}, {<<"is_big"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 8766). -spec encode_get_user_profile_photos_parameters( telega@model@types:get_user_profile_photos_parameters() ) -> gleam@json:json(). encode_get_user_profile_photos_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"offset"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"limit"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 8778). -spec encode_get_user_profile_audios_parameters( telega@model@types:get_user_profile_audios_parameters() ) -> gleam@json:json(). encode_get_user_profile_audios_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"offset"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"limit"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 8790). -spec encode_set_my_profile_photo_parameters( telega@model@types:set_my_profile_photo_parameters() ) -> gleam@json:json(). encode_set_my_profile_photo_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"photo"/utf8>>, encode_input_profile_photo(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 8800). -spec encode_edit_message_caption_parameters( telega@model@types:edit_message_caption_parameters() ) -> gleam@json:json(). encode_edit_message_caption_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_int_or_string/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 8833). -spec encode_edit_message_media_parameters( telega@model@types:edit_message_media_parameters() ) -> gleam@json:json(). encode_edit_message_media_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_int_or_string/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"media"/utf8>>, encode_input_media(erlang:element(6, Params))}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 8854). -spec encode_edit_message_live_location_parameters( telega@model@types:edit_message_live_location_parameters() ) -> gleam@json:json(). encode_edit_message_live_location_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_int_or_string/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"latitude"/utf8>>, gleam@json:float(erlang:element(6, Params))}, {<<"longitude"/utf8>>, gleam@json:float(erlang:element(7, Params))}, {<<"live_period"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:int/1 )}, {<<"horizontal_accuracy"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:float/1 )}, {<<"heading"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:int/1 )}, {<<"proximity_alert_radius"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:int/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 8886). -spec encode_stop_message_live_location_parameters( telega@model@types:stop_message_live_location_parameters() ) -> gleam@json:json(). encode_stop_message_live_location_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_int_or_string/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 8906). -spec encode_edit_message_reply_markup_parameters( telega@model@types:edit_message_reply_markup_parameters() ) -> gleam@json:json(). encode_edit_message_reply_markup_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_int_or_string/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 8926). -spec encode_stop_poll_parameters(telega@model@types:stop_poll_parameters()) -> gleam@json:json(). encode_stop_poll_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 8943). -spec encode_delete_message_parameters( telega@model@types:delete_message_parameters() ) -> gleam@json:json(). encode_delete_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 8954). -spec encode_delete_messages_parameters( telega@model@types:delete_messages_parameters() ) -> gleam@json:json(). encode_delete_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_ids"/utf8>>, gleam@json:array( erlang:element(3, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 8965). -spec encode_ban_chat_member_parameters( telega@model@types:ban_chat_member_parameters() ) -> gleam@json:json(). encode_ban_chat_member_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"until_date"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"revoke_messages"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 8978). -spec encode_unban_chat_member_parameters( telega@model@types:unban_chat_member_parameters() ) -> gleam@json:json(). encode_unban_chat_member_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"only_if_banned"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 8990). -spec encode_restrict_chat_member_parameters( telega@model@types:restrict_chat_member_parameters() ) -> gleam@json:json(). encode_restrict_chat_member_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"permissions"/utf8>>, encode_chat_permissions(erlang:element(4, Params))}, {<<"until_date"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 9003). -spec encode_promote_chat_member_parameters( telega@model@types:promote_chat_member_parameters() ) -> gleam@json:json(). encode_promote_chat_member_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"is_anonymous"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}, {<<"can_manage_chat"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"can_delete_messages"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"can_manage_video_chats"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"can_restrict_members"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"can_promote_members"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"can_change_info"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"can_invite_users"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"can_post_stories"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"can_edit_stories"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"can_delete_stories"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:bool/1 )}, {<<"can_post_messages"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:bool/1 )}, {<<"can_edit_messages"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:bool/1 )}, {<<"can_pin_messages"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun gleam@json:bool/1 )}, {<<"can_manage_topics"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9041). -spec encode_set_chat_administrator_custom_title_parameters( telega@model@types:set_chat_administrator_custom_title_parameters() ) -> gleam@json:json(). encode_set_chat_administrator_custom_title_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"custom_title"/utf8>>, gleam@json:string(erlang:element(4, Params))}] ). -file("src/telega/model/encoder.gleam", 9053). -spec encode_ban_chat_sender_chat_parameters( telega@model@types:ban_chat_sender_chat_parameters() ) -> gleam@json:json(). encode_ban_chat_sender_chat_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"sender_chat_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9064). -spec encode_unban_chat_sender_chat_parameters( telega@model@types:unban_chat_sender_chat_parameters() ) -> gleam@json:json(). encode_unban_chat_sender_chat_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"sender_chat_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9075). -spec encode_set_chat_permissions_parameters( telega@model@types:set_chat_permissions_parameters() ) -> gleam@json:json(). encode_set_chat_permissions_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"permissions"/utf8>>, encode_chat_permissions(erlang:element(3, Params))}, {<<"use_independent_chat_permissions"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9090). -spec encode_export_chat_invite_link_parameters( telega@model@types:export_chat_invite_link_parameters() ) -> gleam@json:json(). encode_export_chat_invite_link_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9098). -spec encode_create_chat_invite_link_parameters( telega@model@types:create_chat_invite_link_parameters() ) -> gleam@json:json(). encode_create_chat_invite_link_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"name"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"member_limit"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"expire_date"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}, {<<"creates_join_request"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9115). -spec encode_edit_chat_invite_link_parameters( telega@model@types:edit_chat_invite_link_parameters() ) -> gleam@json:json(). encode_edit_chat_invite_link_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"invite_link"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"name"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}, {<<"member_limit"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}, {<<"expire_date"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:int/1 )}, {<<"creates_join_request"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9133). -spec encode_create_chat_subscription_invite_link_parameters( telega@model@types:create_chat_subscription_invite_link_parameters() ) -> gleam@json:json(). encode_create_chat_subscription_invite_link_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"name"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}, {<<"period"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"amount"/utf8>>, gleam@json:int(erlang:element(5, Params))}] ). -file("src/telega/model/encoder.gleam", 9146). -spec encode_edit_chat_subscription_invite_link_parameters( telega@model@types:edit_chat_subscription_invite_link_parameters() ) -> gleam@json:json(). encode_edit_chat_subscription_invite_link_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"invite_link"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"name"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9158). -spec encode_revoke_chat_invite_link_parameters( telega@model@types:revoke_chat_invite_link_parameters() ) -> gleam@json:json(). encode_revoke_chat_invite_link_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"invite_link"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9169). -spec encode_approve_chat_join_request_parameters( telega@model@types:approve_chat_join_request_parameters() ) -> gleam@json:json(). encode_approve_chat_join_request_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9180). -spec encode_decline_chat_join_request_parameters( telega@model@types:decline_chat_join_request_parameters() ) -> gleam@json:json(). encode_decline_chat_join_request_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9191). -spec encode_set_chat_photo_parameters( telega@model@types:set_chat_photo_parameters() ) -> gleam@json:json(). encode_set_chat_photo_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"photo"/utf8>>, encode_file(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9202). -spec encode_delete_chat_photo_parameters( telega@model@types:delete_chat_photo_parameters() ) -> gleam@json:json(). encode_delete_chat_photo_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9210). -spec encode_set_chat_title_parameters( telega@model@types:set_chat_title_parameters() ) -> gleam@json:json(). encode_set_chat_title_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9221). -spec encode_set_chat_description_parameters( telega@model@types:set_chat_description_parameters() ) -> gleam@json:json(). encode_set_chat_description_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"description"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9232). -spec encode_pin_chat_message_parameters( telega@model@types:pin_chat_message_parameters() ) -> gleam@json:json(). encode_pin_chat_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9251). -spec encode_unpin_chat_message_parameters( telega@model@types:unpin_chat_message_parameters() ) -> gleam@json:json(). encode_unpin_chat_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9266). -spec encode_unpin_all_chat_messages_parameters( telega@model@types:unpin_all_chat_messages_parameters() ) -> gleam@json:json(). encode_unpin_all_chat_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9274). -spec encode_leave_chat_parameters(telega@model@types:leave_chat_parameters()) -> gleam@json:json(). encode_leave_chat_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9280). -spec encode_get_chat_administrators_parameters( telega@model@types:get_chat_administrators_parameters() ) -> gleam@json:json(). encode_get_chat_administrators_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"return_bots"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9291). -spec encode_get_chat_member_count_parameters( telega@model@types:get_chat_member_count_parameters() ) -> gleam@json:json(). encode_get_chat_member_count_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9299). -spec encode_get_chat_member_parameters( telega@model@types:get_chat_member_parameters() ) -> gleam@json:json(). encode_get_chat_member_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9310). -spec encode_set_chat_sticker_set_parameters( telega@model@types:set_chat_sticker_set_parameters() ) -> gleam@json:json(). encode_set_chat_sticker_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"sticker_set_name"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9321). -spec encode_delete_chat_sticker_set_parameters( telega@model@types:delete_chat_sticker_set_parameters() ) -> gleam@json:json(). encode_delete_chat_sticker_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9329). -spec encode_create_forum_topic_parameters( telega@model@types:create_forum_topic_parameters() ) -> gleam@json:json(). encode_create_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"icon_color"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"icon_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9345). -spec encode_edit_forum_topic_parameters( telega@model@types:edit_forum_topic_parameters() ) -> gleam@json:json(). encode_edit_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"name"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}, {<<"icon_custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9361). -spec encode_close_forum_topic_parameters( telega@model@types:close_forum_topic_parameters() ) -> gleam@json:json(). encode_close_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9372). -spec encode_reopen_forum_topic_parameters( telega@model@types:reopen_forum_topic_parameters() ) -> gleam@json:json(). encode_reopen_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9383). -spec encode_delete_forum_topic_parameters( telega@model@types:delete_forum_topic_parameters() ) -> gleam@json:json(). encode_delete_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9394). -spec encode_unpin_all_forum_topic_messages_parameters( telega@model@types:unpin_all_forum_topic_messages_parameters() ) -> gleam@json:json(). encode_unpin_all_forum_topic_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9405). -spec encode_unpin_all_general_forum_topic_pinned_messages_parameters( telega@model@types:unpin_all_general_forum_topic_pinned_messages_parameters() ) -> gleam@json:json(). encode_unpin_all_general_forum_topic_pinned_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9413). -spec encode_edit_general_forum_topic_parameters( telega@model@types:edit_general_forum_topic_parameters() ) -> gleam@json:json(). encode_edit_general_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9424). -spec encode_close_general_forum_topic_parameters( telega@model@types:close_general_forum_topic_parameters() ) -> gleam@json:json(). encode_close_general_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9432). -spec encode_reopen_general_forum_topic_parameters( telega@model@types:reopen_general_forum_topic_parameters() ) -> gleam@json:json(). encode_reopen_general_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9440). -spec encode_hide_general_forum_topic_parameters( telega@model@types:hide_general_forum_topic_parameters() ) -> gleam@json:json(). encode_hide_general_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9448). -spec encode_unhide_general_forum_topic_parameters( telega@model@types:unhide_general_forum_topic_parameters() ) -> gleam@json:json(). encode_unhide_general_forum_topic_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9456). -spec encode_unpin_all_general_forum_topic_messages_parameters( telega@model@types:unpin_all_general_forum_topic_messages_parameters() ) -> gleam@json:json(). encode_unpin_all_general_forum_topic_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9464). -spec encode_get_user_chat_boosts_parameters( telega@model@types:get_user_chat_boosts_parameters() ) -> gleam@json:json(). encode_get_user_chat_boosts_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9475). -spec encode_get_business_connection_parameters( telega@model@types:get_business_connection_parameters() ) -> gleam@json:json(). encode_get_business_connection_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9485). -spec encode_set_my_name_parameters(telega@model@types:set_my_name_parameters()) -> gleam@json:json(). encode_set_my_name_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9494). -spec encode_get_my_name_parameters(telega@model@types:get_my_name_parameters()) -> gleam@json:json(). encode_get_my_name_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9502). -spec encode_set_my_description_parameters( telega@model@types:set_my_description_parameters() ) -> gleam@json:json(). encode_set_my_description_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"description"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9513). -spec encode_get_my_description_parameters( telega@model@types:get_my_description_parameters() ) -> gleam@json:json(). encode_get_my_description_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9523). -spec encode_set_my_short_description_parameters( telega@model@types:set_my_short_description_parameters() ) -> gleam@json:json(). encode_set_my_short_description_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"short_description"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9534). -spec encode_get_my_short_description_parameters( telega@model@types:get_my_short_description_parameters() ) -> gleam@json:json(). encode_get_my_short_description_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"language_code"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9544). -spec encode_get_chat_menu_button_parameters( telega@model@types:get_chat_menu_button_parameters() ) -> gleam@json:json(). encode_get_chat_menu_button_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 9554). -spec encode_set_my_default_administrator_rights_parameters( telega@model@types:set_my_default_administrator_rights_parameters() ) -> gleam@json:json(). encode_set_my_default_administrator_rights_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"rights"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun encode_chat_administrator_rights/1 )}, {<<"for_channels"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9565). -spec encode_get_my_default_administrator_rights_parameters( telega@model@types:get_my_default_administrator_rights_parameters() ) -> gleam@json:json(). encode_get_my_default_administrator_rights_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"for_channels"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9575). -spec encode_send_gift_parameters(telega@model@types:send_gift_parameters()) -> gleam@json:json(). encode_send_gift_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:int/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_int_or_string/1 )}, {<<"gift_id"/utf8>>, gleam@json:string(erlang:element(4, Params))}, {<<"pay_for_upgrade"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"text"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"text_parse_mode"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"text_entities"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}] ). -file("src/telega/model/encoder.gleam", 9592). -spec encode_gift_premium_subscription_parameters( telega@model@types:gift_premium_subscription_parameters() ) -> gleam@json:json(). encode_gift_premium_subscription_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"month_count"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"star_count"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"text"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"text_parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"text_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}] ). -file("src/telega/model/encoder.gleam", 9610). -spec encode_send_message_draft_parameters( telega@model@types:send_message_draft_parameters() ) -> gleam@json:json(). encode_send_message_draft_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"draft_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"text"/utf8>>, gleam@json:string(erlang:element(4, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}] ). -file("src/telega/model/encoder.gleam", 9628). -spec encode_get_user_gifts_parameters( telega@model@types:get_user_gifts_parameters() ) -> gleam@json:json(). encode_get_user_gifts_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"exclude_unlimited"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:bool/1 )}, {<<"exclude_limited_upgradable"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}, {<<"exclude_limited_non_upgradable"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"exclude_from_blockchain"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"exclude_unique"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"sort_by_price"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"offset"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:string/1 )}, {<<"limit"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 9655). -spec encode_get_chat_gifts_parameters( telega@model@types:get_chat_gifts_parameters() ) -> gleam@json:json(). encode_get_chat_gifts_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"exclude_unsaved"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:bool/1 )}, {<<"exclude_saved"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}, {<<"exclude_unlimited"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"exclude_limited_upgradable"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"exclude_limited_non_upgradable"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"exclude_from_blockchain"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"exclude_unique"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"sort_by_price"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"offset"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:string/1 )}, {<<"limit"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 9684). -spec encode_repost_story_parameters( telega@model@types:repost_story_parameters() ) -> gleam@json:json(). encode_repost_story_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"from_chat_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"from_story_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"active_period"/utf8>>, gleam@json:int(erlang:element(5, Params))}, {<<"post_to_chat_page"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9697). -spec encode_verify_user_parameters(telega@model@types:verify_user_parameters()) -> gleam@json:json(). encode_verify_user_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"custom_description"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9709). -spec encode_verify_chat_parameters(telega@model@types:verify_chat_parameters()) -> gleam@json:json(). encode_verify_chat_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"custom_description"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9721). -spec encode_remove_user_verification_parameters( telega@model@types:remove_user_verification_parameters() ) -> gleam@json:json(). encode_remove_user_verification_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9729). -spec encode_remove_chat_verification_parameters( telega@model@types:remove_chat_verification_parameters() ) -> gleam@json:json(). encode_remove_chat_verification_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9737). -spec encode_get_custom_emoji_stickers_parameters( telega@model@types:get_custom_emoji_stickers_parameters() ) -> gleam@json:json(). encode_get_custom_emoji_stickers_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"custom_emoji_ids"/utf8>>, gleam@json:array( erlang:element(2, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9747). -spec encode_upload_sticker_file_parameters( telega@model@types:upload_sticker_file_parameters() ) -> gleam@json:json(). encode_upload_sticker_file_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"sticker"/utf8>>, encode_file(erlang:element(3, Params))}, {<<"sticker_format"/utf8>>, gleam@json:string(erlang:element(4, Params))}] ). -file("src/telega/model/encoder.gleam", 9759). -spec encode_create_new_sticker_set_parameters( telega@model@types:create_new_sticker_set_parameters() ) -> gleam@json:json(). encode_create_new_sticker_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(4, Params))}, {<<"stickers"/utf8>>, gleam@json:array( erlang:element(5, Params), fun encode_input_sticker/1 )}, {<<"sticker_type"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"needs_repainting"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 9774). -spec encode_add_sticker_to_set_parameters( telega@model@types:add_sticker_to_set_parameters() ) -> gleam@json:json(). encode_add_sticker_to_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"sticker"/utf8>>, encode_input_sticker(erlang:element(4, Params))}] ). -file("src/telega/model/encoder.gleam", 9786). -spec encode_set_sticker_position_in_set_parameters( telega@model@types:set_sticker_position_in_set_parameters() ) -> gleam@json:json(). encode_set_sticker_position_in_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"sticker"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"position"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9797). -spec encode_delete_sticker_from_set_parameters( telega@model@types:delete_sticker_from_set_parameters() ) -> gleam@json:json(). encode_delete_sticker_from_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"sticker"/utf8>>, gleam@json:string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9805). -spec encode_replace_sticker_in_set_parameters( telega@model@types:replace_sticker_in_set_parameters() ) -> gleam@json:json(). encode_replace_sticker_in_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"name"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"old_sticker"/utf8>>, gleam@json:string(erlang:element(4, Params))}, {<<"sticker"/utf8>>, encode_input_sticker(erlang:element(5, Params))}] ). -file("src/telega/model/encoder.gleam", 9818). -spec encode_set_sticker_emoji_list_parameters( telega@model@types:set_sticker_emoji_list_parameters() ) -> gleam@json:json(). encode_set_sticker_emoji_list_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"sticker"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"emoji_list"/utf8>>, gleam@json:array( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9829). -spec encode_set_sticker_keywords_parameters( telega@model@types:set_sticker_keywords_parameters() ) -> gleam@json:json(). encode_set_sticker_keywords_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"sticker"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"keywords"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun(Keywords) -> gleam@json:array(Keywords, fun gleam@json:string/1) end )}] ). -file("src/telega/model/encoder.gleam", 9845). -spec encode_set_sticker_mask_position_parameters( telega@model@types:set_sticker_mask_position_parameters() ) -> gleam@json:json(). encode_set_sticker_mask_position_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"sticker"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"mask_position"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun encode_mask_position/1 )}] ). -file("src/telega/model/encoder.gleam", 9859). -spec encode_set_sticker_set_title_parameters( telega@model@types:set_sticker_set_title_parameters() ) -> gleam@json:json(). encode_set_sticker_set_title_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9870). -spec encode_set_sticker_set_thumbnail_parameters( telega@model@types:set_sticker_set_thumbnail_parameters() ) -> gleam@json:json(). encode_set_sticker_set_thumbnail_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"thumbnail"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun encode_file_or_string/1 )}, {<<"format"/utf8>>, gleam@json:string(erlang:element(5, Params))}] ). -file("src/telega/model/encoder.gleam", 9883). -spec encode_set_custom_emoji_sticker_set_thumbnail_parameters( telega@model@types:set_custom_emoji_sticker_set_thumbnail_parameters() ) -> gleam@json:json(). encode_set_custom_emoji_sticker_set_thumbnail_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"custom_emoji_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9894). -spec encode_delete_sticker_set_parameters( telega@model@types:delete_sticker_set_parameters() ) -> gleam@json:json(). encode_delete_sticker_set_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 9902). -spec encode_answer_inline_query_parameters( telega@model@types:answer_inline_query_parameters() ) -> gleam@json:json(). encode_answer_inline_query_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"inline_query_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"results"/utf8>>, gleam@json:array( erlang:element(3, Params), fun encode_inline_query_result/1 )}, {<<"cache_time"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"is_personal"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"next_offset"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"button"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun encode_inline_query_results_button/1 )}] ). -file("src/telega/model/encoder.gleam", 9920). -spec encode_answer_shipping_query_parameters( telega@model@types:answer_shipping_query_parameters() ) -> gleam@json:json(). encode_answer_shipping_query_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"shipping_query_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"ok"/utf8>>, gleam@json:bool(erlang:element(3, Params))}, {<<"shipping_options"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun(Options) -> gleam@json:array(Options, fun encode_shipping_option/1) end )}, {<<"error_message"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9938). -spec encode_answer_pre_checkout_query_parameters( telega@model@types:answer_pre_checkout_query_parameters() ) -> gleam@json:json(). encode_answer_pre_checkout_query_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"pre_checkout_query_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"ok"/utf8>>, gleam@json:bool(erlang:element(3, Params))}, {<<"error_message"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 9950). -spec encode_get_star_transactions_parameters( telega@model@types:get_star_transactions_parameters() ) -> gleam@json:json(). encode_get_star_transactions_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"offset"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:int/1 )}, {<<"limit"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 9961). -spec encode_refund_star_payment_parameters( telega@model@types:refund_star_payment_parameters() ) -> gleam@json:json(). encode_refund_star_payment_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"telegram_payment_charge_id"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 9975). -spec encode_edit_user_star_subscription_parameters( telega@model@types:edit_user_star_subscription_parameters() ) -> gleam@json:json(). encode_edit_user_star_subscription_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"telegram_payment_charge_id"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"is_canceled"/utf8>>, gleam@json:bool(erlang:element(4, Params))}] ). -file("src/telega/model/encoder.gleam", 9990). -spec encode_send_game_parameters(telega@model@types:send_game_parameters()) -> gleam@json:json(). encode_send_game_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"game_short_name"/utf8>>, gleam@json:string(erlang:element(5, Params))}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 10022). -spec encode_set_game_score_parameters( telega@model@types:set_game_score_parameters() ) -> gleam@json:json(). encode_set_game_score_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"score"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"force"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}, {<<"disable_edit_message"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:int/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:int/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 10041). -spec encode_get_game_high_scores_parameters( telega@model@types:get_game_high_scores_parameters() ) -> gleam@json:json(). encode_get_game_high_scores_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"chat_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"message_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"inline_message_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 10054). -spec encode_read_business_message_parameters( telega@model@types:read_business_message_parameters() ) -> gleam@json:json(). encode_read_business_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"chat_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}] ). -file("src/telega/model/encoder.gleam", 10066). -spec encode_delete_business_messages_parameters( telega@model@types:delete_business_messages_parameters() ) -> gleam@json:json(). encode_delete_business_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"message_ids"/utf8>>, gleam@json:array( erlang:element(3, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 10077). -spec encode_set_business_account_name_parameters( telega@model@types:set_business_account_name_parameters() ) -> gleam@json:json(). encode_set_business_account_name_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"first_name"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"last_name"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 10089). -spec encode_set_business_account_username_parameters( telega@model@types:set_business_account_username_parameters() ) -> gleam@json:json(). encode_set_business_account_username_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"username"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 10100). -spec encode_set_business_account_bio_parameters( telega@model@types:set_business_account_bio_parameters() ) -> gleam@json:json(). encode_set_business_account_bio_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"bio"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:string/1 )}] ). -file("src/telega/model/encoder.gleam", 10111). -spec encode_set_business_account_profile_photo_parameters( telega@model@types:set_business_account_profile_photo_parameters() ) -> gleam@json:json(). encode_set_business_account_profile_photo_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"photo"/utf8>>, encode_input_profile_photo(erlang:element(3, Params))}, {<<"is_public"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 10123). -spec encode_remove_business_account_profile_photo_parameters( telega@model@types:remove_business_account_profile_photo_parameters() ) -> gleam@json:json(). encode_remove_business_account_profile_photo_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"is_public"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 10134). -spec encode_set_business_account_gift_settings_parameters( telega@model@types:set_business_account_gift_settings_parameters() ) -> gleam@json:json(). encode_set_business_account_gift_settings_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"show_gift_button"/utf8>>, gleam@json:bool(erlang:element(3, Params))}, {<<"accepted_gift_types"/utf8>>, encode_accepted_gift_types(erlang:element(4, Params))}] ). -file("src/telega/model/encoder.gleam", 10149). -spec encode_get_business_account_star_balance_parameters( telega@model@types:get_business_account_star_balance_parameters() ) -> gleam@json:json(). encode_get_business_account_star_balance_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 10159). -spec encode_transfer_business_account_stars_parameters( telega@model@types:transfer_business_account_stars_parameters() ) -> gleam@json:json(). encode_transfer_business_account_stars_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"star_count"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 10170). -spec encode_get_business_account_gifts_parameters( telega@model@types:get_business_account_gifts_parameters() ) -> gleam@json:json(). encode_get_business_account_gifts_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"exclude_unsaved"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:bool/1 )}, {<<"exclude_saved"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}, {<<"exclude_unlimited"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:bool/1 )}, {<<"exclude_limited"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:bool/1 )}, {<<"exclude_unique"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"sort_by_price"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"offset"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:string/1 )}, {<<"limit"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 10188). -spec encode_convert_gift_to_stars_parameters( telega@model@types:convert_gift_to_stars_parameters() ) -> gleam@json:json(). encode_convert_gift_to_stars_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"owned_gift_id"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 10199). -spec encode_upgrade_gift_parameters( telega@model@types:upgrade_gift_parameters() ) -> gleam@json:json(). encode_upgrade_gift_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"owned_gift_id"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"keep_original_details"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:bool/1 )}, {<<"star_count"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 10213). -spec encode_transfer_gift_parameters( telega@model@types:transfer_gift_parameters() ) -> gleam@json:json(). encode_transfer_gift_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"owned_gift_id"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"new_owner_chat_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"star_count"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 10224). -spec encode_post_story_parameters(telega@model@types:post_story_parameters()) -> gleam@json:json(). encode_post_story_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"content"/utf8>>, encode_input_story_content(erlang:element(3, Params))}, {<<"active_period"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(Entities) -> gleam@json:array(Entities, fun encode_message_entity/1) end )}, {<<"areas"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun(Areas) -> gleam@json:array(Areas, fun encode_story_area/1) end )}, {<<"post_to_chat_page"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}] ). -file("src/telega/model/encoder.gleam", 10250). -spec encode_edit_story_parameters(telega@model@types:edit_story_parameters()) -> gleam@json:json(). encode_edit_story_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"story_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"content"/utf8>>, encode_input_story_content(erlang:element(4, Params))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"areas"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun(_capture@1) -> gleam@json:array(_capture@1, fun encode_story_area/1) end )}] ). -file("src/telega/model/encoder.gleam", 10270). -spec encode_delete_story_parameters( telega@model@types:delete_story_parameters() ) -> gleam@json:json(). encode_delete_story_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"story_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 10279). -spec encode_answer_guest_query_parameters( telega@model@types:answer_guest_query_parameters() ) -> gleam@json:json(). encode_answer_guest_query_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"guest_query_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"text"/utf8>>, gleam@json:string(erlang:element(3, Params))}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:string/1 )}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"link_preview_options"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun encode_link_preview_options/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 10301). -spec encode_delete_message_reaction_parameters( telega@model@types:delete_message_reaction_parameters() ) -> gleam@json:json(). encode_delete_message_reaction_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"user_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"reaction"/utf8>>, encode_reaction_type(erlang:element(5, Params))}] ). -file("src/telega/model/encoder.gleam", 10312). -spec encode_delete_all_message_reactions_parameters( telega@model@types:delete_all_message_reactions_parameters() ) -> gleam@json:json(). encode_delete_all_message_reactions_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"message_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 10321). -spec encode_send_live_photo_parameters( telega@model@types:send_live_photo_parameters() ) -> gleam@json:json(). encode_send_live_photo_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"direct_messages_topic_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}, {<<"media"/utf8>>, encode_file_or_string(erlang:element(6, Params))}, {<<"photo"/utf8>>, encode_file_or_string(erlang:element(7, Params))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"has_spoiler"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(16, Params), fun gleam@json:string/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(17, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(18, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 10375). -spec encode_get_managed_bot_access_settings_parameters( telega@model@types:get_managed_bot_access_settings_parameters() ) -> gleam@json:json(). encode_get_managed_bot_access_settings_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"bot_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}] ). -file("src/telega/model/encoder.gleam", 10381). -spec encode_set_managed_bot_access_settings_parameters( telega@model@types:set_managed_bot_access_settings_parameters() ) -> gleam@json:json(). encode_set_managed_bot_access_settings_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"bot_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"settings"/utf8>>, encode_bot_access_settings(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 10390). -spec encode_get_user_personal_chat_messages_parameters( telega@model@types:get_user_personal_chat_messages_parameters() ) -> gleam@json:json(). encode_get_user_personal_chat_messages_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"user_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"message_ids"/utf8>>, gleam@json:array( erlang:element(3, Params), fun gleam@json:int/1 )}] ). -file("src/telega/model/encoder.gleam", 10401). -spec encode_send_paid_media_parameters( telega@model@types:send_paid_media_parameters() ) -> gleam@json:json(). encode_send_paid_media_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Params))}, {<<"star_count"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"media"/utf8>>, gleam@json:array( erlang:element(5, Params), fun encode_input_paid_media/1 )}, {<<"payload"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"show_caption_above_media"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:bool/1 )}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun gleam@json:bool/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(14, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(15, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 10451). -spec encode_send_rich_message_parameters( telega@model@types:send_rich_message_parameters() ) -> gleam@json:json(). encode_send_rich_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"business_connection_id"/utf8>>, gleam@json:nullable( erlang:element(2, Params), fun gleam@json:string/1 )}, {<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(3, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(4, Params), fun gleam@json:int/1 )}, {<<"direct_messages_topic_id"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:int/1 )}, {<<"rich_message"/utf8>>, encode_input_rich_message(erlang:element(6, Params))}, {<<"disable_notification"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun gleam@json:bool/1 )}, {<<"protect_content"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun gleam@json:bool/1 )}, {<<"allow_paid_broadcast"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun gleam@json:bool/1 )}, {<<"message_effect_id"/utf8>>, gleam@json:nullable( erlang:element(10, Params), fun gleam@json:string/1 )}, {<<"suggested_post_parameters"/utf8>>, gleam@json:nullable( erlang:element(11, Params), fun encode_suggested_post_parameters/1 )}, {<<"reply_parameters"/utf8>>, gleam@json:nullable( erlang:element(12, Params), fun encode_reply_parameters/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(13, Params), fun encode_send_message_reply_markup_parameters/1 )}] ). -file("src/telega/model/encoder.gleam", 10497). -spec encode_send_rich_message_draft_parameters( telega@model@types:send_rich_message_draft_parameters() ) -> gleam@json:json(). encode_send_rich_message_draft_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, gleam@json:int(erlang:element(2, Params))}, {<<"message_thread_id"/utf8>>, gleam@json:nullable( erlang:element(3, Params), fun gleam@json:int/1 )}, {<<"draft_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"rich_message"/utf8>>, encode_input_rich_message(erlang:element(5, Params))}] ). -file("src/telega/model/encoder.gleam", 10508). -spec encode_delete_ephemeral_message_parameters( telega@model@types:delete_ephemeral_message_parameters() ) -> gleam@json:json(). encode_delete_ephemeral_message_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"receiver_user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"ephemeral_message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}] ). -file("src/telega/model/encoder.gleam", 10518). -spec encode_edit_ephemeral_message_text_parameters( telega@model@types:edit_ephemeral_message_text_parameters() ) -> gleam@json:json(). encode_edit_ephemeral_message_text_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"receiver_user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"ephemeral_message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"text"/utf8>>, gleam@json:string(erlang:element(5, Params))}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"link_preview_options"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun encode_link_preview_options/1 )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(9, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 10542). -spec encode_edit_ephemeral_message_caption_parameters( telega@model@types:edit_ephemeral_message_caption_parameters() ) -> gleam@json:json(). encode_edit_ephemeral_message_caption_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"receiver_user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"ephemeral_message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"caption"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun gleam@json:string/1 )}, {<<"parse_mode"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun gleam@json:string/1 )}, {<<"caption_entities"/utf8>>, gleam@json:nullable( erlang:element(7, Params), fun(_capture) -> gleam@json:array(_capture, fun encode_message_entity/1) end )}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(8, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 10565). -spec encode_edit_ephemeral_message_media_parameters( telega@model@types:edit_ephemeral_message_media_parameters() ) -> gleam@json:json(). encode_edit_ephemeral_message_media_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"receiver_user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"ephemeral_message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"media"/utf8>>, encode_input_media(erlang:element(5, Params))}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(6, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 10580). -spec encode_edit_ephemeral_message_reply_markup_parameters( telega@model@types:edit_ephemeral_message_reply_markup_parameters() ) -> gleam@json:json(). encode_edit_ephemeral_message_reply_markup_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_id"/utf8>>, encode_int_or_string(erlang:element(2, Params))}, {<<"receiver_user_id"/utf8>>, gleam@json:int(erlang:element(3, Params))}, {<<"ephemeral_message_id"/utf8>>, gleam@json:int(erlang:element(4, Params))}, {<<"reply_markup"/utf8>>, gleam@json:nullable( erlang:element(5, Params), fun encode_inline_keyboard_markup/1 )}] ). -file("src/telega/model/encoder.gleam", 10594). -spec encode_answer_chat_join_request_query_parameters( telega@model@types:answer_chat_join_request_query_parameters() ) -> gleam@json:json(). encode_answer_chat_join_request_query_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_join_request_query_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"result"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ). -file("src/telega/model/encoder.gleam", 10606). -spec encode_send_chat_join_request_web_app_parameters( telega@model@types:send_chat_join_request_web_app_parameters() ) -> gleam@json:json(). encode_send_chat_join_request_web_app_parameters(Params) -> telega@internal@utils:json_object_filter_nulls( [{<<"chat_join_request_query_id"/utf8>>, gleam@json:string(erlang:element(2, Params))}, {<<"web_app_url"/utf8>>, gleam@json:string(erlang:element(3, Params))}] ).