-module(telega@model@decoder). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/telega/model/decoder.gleam"). -export([accepted_gift_types_decoder/0, chat_decoder/0, user_decoder/0, affiliate_info_decoder/0, photo_size_decoder/0, animation_decoder/0, audio_decoder/0, background_fill_freeform_gradient_decoder/0, background_fill_gradient_decoder/0, background_fill_solid_decoder/0, background_type_chat_theme_decoder/0, background_fill_decoder/0, background_type_fill_decoder/0, document_decoder/0, background_type_pattern_decoder/0, background_type_wallpaper_decoder/0, birthdate_decoder/0, bot_access_settings_decoder/0, bot_command_decoder/0, bot_command_scope_all_chat_administrators_decoder/0, bot_command_scope_all_group_chats_decoder/0, bot_command_scope_all_private_chats_decoder/0, int_or_string_decoder/0, bot_command_scope_chat_decoder/0, bot_command_scope_chat_administrators_decoder/0, bot_command_scope_chat_member_decoder/0, bot_command_scope_default_decoder/0, bot_description_decoder/0, bot_name_decoder/0, bot_short_description_decoder/0, bot_subscription_updated_decoder/0, business_bot_rights_decoder/0, business_connection_decoder/0, mask_position_decoder/0, file_decoder/0, sticker_decoder/0, business_intro_decoder/0, location_decoder/0, business_location_decoder/0, business_messages_deleted_decoder/0, business_opening_hours_interval_decoder/0, business_opening_hours_decoder/0, callback_game_decoder/0, inaccessible_message_decoder/0, copy_text_button_decoder/0, switch_inline_query_chosen_chat_decoder/0, login_url_decoder/0, web_app_info_decoder/0, inline_keyboard_button_decoder/0, inline_keyboard_markup_decoder/0, web_app_data_decoder/0, video_chat_participants_invited_decoder/0, video_chat_ended_decoder/0, video_chat_started_decoder/0, video_chat_scheduled_decoder/0, star_amount_decoder/0, suggested_post_price_decoder/0, message_entity_decoder/0, paid_message_price_changed_decoder/0, managed_bot_created_decoder/0, giveaway_winners_decoder/0, giveaway_decoder/0, giveaway_created_decoder/0, general_forum_topic_unhidden_decoder/0, general_forum_topic_hidden_decoder/0, forum_topic_reopened_decoder/0, forum_topic_closed_decoder/0, forum_topic_edited_decoder/0, forum_topic_created_decoder/0, direct_message_price_changed_decoder/0, community_chat_removed_decoder/0, community_decoder/0, community_chat_added_decoder/0, checklist_task_decoder/0, background_type_decoder/0, chat_background_decoder/0, chat_boost_added_decoder/0, proximity_alert_triggered_decoder/0, encrypted_credentials_decoder/0, passport_file_decoder/0, encrypted_passport_element_decoder/0, passport_data_decoder/0, write_access_allowed_decoder/0, gift_background_decoder/0, gift_decoder/0, gift_info_decoder/0, unique_gift_colors_decoder/0, unique_gift_backdrop_colors_decoder/0, unique_gift_backdrop_decoder/0, unique_gift_symbol_decoder/0, unique_gift_model_decoder/0, unique_gift_decoder/0, unique_gift_info_decoder/0, chat_shared_decoder/0, shared_user_decoder/0, users_shared_decoder/0, refunded_payment_decoder/0, shipping_address_decoder/0, order_info_decoder/0, successful_payment_decoder/0, invoice_decoder/0, message_auto_delete_timer_changed_decoder/0, chat_owner_changed_decoder/0, chat_owner_left_decoder/0, venue_decoder/0, video_quality_decoder/0, video_decoder/0, live_photo_decoder/0, link_decoder/0, poll_media_decoder/0, poll_option_decoder/0, poll_decoder/0, game_decoder/0, dice_decoder/0, contact_decoder/0, checklist_decoder/0, voice_decoder/0, video_note_decoder/0, story_decoder/0, paid_media_video_decoder/0, paid_media_preview_decoder/0, paid_media_photo_decoder/0, paid_media_live_photo_decoder/0, paid_media_decoder/0, paid_media_info_decoder/0, rich_text_anchor_decoder/0, rich_text_mathematical_expression_decoder/0, rich_text_custom_emoji_decoder/0, rich_text_reference_link_decoder/0, rich_text_reference_decoder/0, rich_text_anchor_link_decoder/0, rich_text_bot_command_decoder/0, rich_text_cashtag_decoder/0, rich_text_hashtag_decoder/0, rich_text_mention_decoder/0, rich_text_bank_card_number_decoder/0, rich_text_phone_number_decoder/0, rich_text_email_address_decoder/0, rich_text_url_decoder/0, rich_text_code_decoder/0, rich_text_marked_decoder/0, rich_text_superscript_decoder/0, rich_text_subscript_decoder/0, rich_text_text_mention_decoder/0, rich_text_date_time_decoder/0, rich_text_spoiler_decoder/0, rich_text_strikethrough_decoder/0, rich_text_underline_decoder/0, rich_text_italic_decoder/0, rich_text_bold_decoder/0, rich_text_decoder/0, rich_block_thinking_decoder/0, rich_block_caption_decoder/0, rich_block_voice_note_decoder/0, rich_block_video_decoder/0, rich_block_photo_decoder/0, rich_block_audio_decoder/0, rich_block_animation_decoder/0, rich_block_map_decoder/0, rich_block_table_cell_decoder/0, rich_block_table_decoder/0, rich_block_pull_quotation_decoder/0, rich_block_anchor_decoder/0, rich_block_mathematical_expression_decoder/0, rich_block_divider_decoder/0, rich_block_footer_decoder/0, rich_block_preformatted_decoder/0, rich_block_section_heading_decoder/0, rich_block_paragraph_decoder/0, rich_block_details_decoder/0, rich_block_slideshow_decoder/0, rich_block_collage_decoder/0, rich_block_block_quotation_decoder/0, rich_block_list_item_decoder/0, rich_block_list_decoder/0, rich_block_decoder/0, rich_message_decoder/0, suggested_post_info_decoder/0, link_preview_options_decoder/0, text_quote_decoder/0, message_origin_channel_decoder/0, message_origin_chat_decoder/0, message_origin_hidden_user_decoder/0, message_origin_user_decoder/0, message_origin_decoder/0, external_reply_info_decoder/0, direct_messages_topic_decoder/0, suggested_post_refunded_decoder/0, suggested_post_paid_decoder/0, suggested_post_declined_decoder/0, suggested_post_approval_failed_decoder/0, suggested_post_approved_decoder/0, poll_option_deleted_decoder/0, poll_option_added_decoder/0, giveaway_completed_decoder/0, checklist_tasks_added_decoder/0, checklist_tasks_done_decoder/0, message_decoder/0, maybe_inaccessible_message_decoder/0, callback_query_decoder/0, chat_administrator_rights_decoder/0, chat_boost_source_giveaway_decoder/0, chat_boost_source_gift_code_decoder/0, chat_boost_source_premium_decoder/0, chat_boost_source_decoder/0, chat_boost_decoder/0, chat_boost_removed_decoder/0, chat_boost_updated_decoder/0, user_rating_decoder/0, chat_location_decoder/0, chat_permissions_decoder/0, reaction_type_paid_decoder/0, reaction_type_custom_emoji_decoder/0, reaction_type_emoji_decoder/0, reaction_type_decoder/0, chat_photo_decoder/0, chat_full_info_decoder/0, chat_invite_link_decoder/0, chat_join_request_decoder/0, chat_member_administrator_decoder/0, chat_member_banned_decoder/0, chat_member_left_decoder/0, chat_member_member_decoder/0, chat_member_owner_decoder/0, chat_member_restricted_decoder/0, chat_member_decoder/0, chat_member_updated_decoder/0, chosen_inline_result_decoder/0, force_reply_decoder/0, forum_topic_decoder/0, game_high_score_decoder/0, gifts_decoder/0, inline_query_decoder/0, labeled_price_decoder/0, input_invoice_message_content_decoder/0, input_contact_message_content_decoder/0, input_venue_message_content_decoder/0, input_location_message_content_decoder/0, input_text_message_content_decoder/0, input_message_content_decoder/0, inline_query_result_article_decoder/0, inline_query_result_audio_decoder/0, inline_query_result_cached_audio_decoder/0, inline_query_result_cached_document_decoder/0, inline_query_result_cached_gif_decoder/0, inline_query_result_cached_mpeg4_gif_decoder/0, inline_query_result_cached_photo_decoder/0, inline_query_result_cached_sticker_decoder/0, inline_query_result_cached_video_decoder/0, inline_query_result_cached_voice_decoder/0, inline_query_result_contact_decoder/0, inline_query_result_document_decoder/0, inline_query_result_game_decoder/0, inline_query_result_gif_decoder/0, inline_query_result_location_decoder/0, inline_query_result_mpeg4_gif_decoder/0, inline_query_result_photo_decoder/0, inline_query_result_venue_decoder/0, inline_query_result_video_decoder/0, inline_query_result_voice_decoder/0, inline_query_results_button_decoder/0, input_checklist_task_decoder/0, input_checklist_decoder/0, input_media_animation_decoder/0, input_media_audio_decoder/0, input_media_document_decoder/0, input_media_link_decoder/0, input_media_live_photo_decoder/0, input_media_location_decoder/0, input_media_photo_decoder/0, input_media_sticker_decoder/0, input_media_venue_decoder/0, input_media_video_decoder/0, input_media_voice_note_decoder/0, input_paid_media_live_photo_decoder/0, input_paid_media_photo_decoder/0, input_paid_media_video_decoder/0, input_poll_option_media_decoder/0, input_poll_option_decoder/0, input_profile_photo_animated_decoder/0, input_profile_photo_static_decoder/0, input_rich_block_anchor_decoder/0, input_rich_block_animation_decoder/0, input_rich_block_audio_decoder/0, input_rich_block_thinking_decoder/0, input_rich_block_voice_note_decoder/0, input_rich_block_video_decoder/0, input_rich_block_photo_decoder/0, input_rich_block_map_decoder/0, input_rich_block_table_decoder/0, input_rich_block_pull_quotation_decoder/0, input_rich_block_mathematical_expression_decoder/0, input_rich_block_divider_decoder/0, input_rich_block_footer_decoder/0, input_rich_block_preformatted_decoder/0, input_rich_block_section_heading_decoder/0, input_rich_block_paragraph_decoder/0, input_rich_block_details_decoder/0, input_rich_block_slideshow_decoder/0, input_rich_block_collage_decoder/0, input_rich_block_list_item_decoder/0, input_rich_block_list_decoder/0, input_rich_block_decoder/0, input_rich_block_block_quotation_decoder/0, input_rich_message_media_decoder/0, input_rich_message_decoder/0, input_rich_message_content_decoder/0, input_sticker_decoder/0, input_story_content_photo_decoder/0, input_story_content_video_decoder/0, keyboard_button_poll_type_decoder/0, keyboard_button_request_managed_bot_decoder/0, keyboard_button_request_chat_decoder/0, keyboard_button_request_users_decoder/0, keyboard_button_decoder/0, location_address_decoder/0, managed_bot_updated_decoder/0, menu_button_commands_decoder/0, menu_button_default_decoder/0, menu_button_web_app_decoder/0, message_id_decoder/0, reaction_count_decoder/0, message_reaction_count_updated_decoder/0, message_reaction_updated_decoder/0, owned_gift_regular_decoder/0, owned_gift_unique_decoder/0, owned_gift_decoder/0, owned_gifts_decoder/0, paid_media_purchased_decoder/0, passport_element_error_data_field_decoder/0, passport_element_error_file_decoder/0, passport_element_error_files_decoder/0, passport_element_error_front_side_decoder/0, passport_element_error_reverse_side_decoder/0, passport_element_error_selfie_decoder/0, passport_element_error_translation_file_decoder/0, passport_element_error_translation_files_decoder/0, passport_element_error_unspecified_decoder/0, poll_answer_decoder/0, pre_checkout_query_decoder/0, prepared_inline_message_decoder/0, prepared_keyboard_button_decoder/0, reply_keyboard_markup_decoder/0, reply_keyboard_remove_decoder/0, reply_parameters_decoder/0, response_parameters_decoder/0, revenue_withdrawal_state_failed_decoder/0, revenue_withdrawal_state_pending_decoder/0, revenue_withdrawal_state_succeeded_decoder/0, sent_guest_message_decoder/0, sent_web_app_message_decoder/0, shipping_option_decoder/0, shipping_query_decoder/0, transaction_partner_other_decoder/0, transaction_partner_telegram_api_decoder/0, transaction_partner_telegram_ads_decoder/0, revenue_withdrawal_state_decoder/0, transaction_partner_fragment_decoder/0, transaction_partner_affiliate_program_decoder/0, transaction_partner_chat_decoder/0, transaction_partner_user_decoder/0, transaction_partner_decoder/0, star_transaction_decoder/0, star_transactions_decoder/0, sticker_set_decoder/0, story_area_type_unique_gift_decoder/0, story_area_type_weather_decoder/0, story_area_type_link_decoder/0, story_area_type_suggested_reaction_decoder/0, story_area_type_location_decoder/0, story_area_type_decoder/0, story_area_position_decoder/0, story_area_decoder/0, suggested_post_parameters_decoder/0, update_decoder/0, user_chat_boosts_decoder/0, user_profile_audios_decoder/0, user_profile_photos_decoder/0, webhook_info_decoder/0, bot_command_scope_decoder/0, input_paid_media_decoder/0, input_poll_media_decoder/0, input_profile_photo_decoder/0, input_story_content_decoder/0, menu_button_decoder/0, passport_element_error_decoder/0, messages_array_decoder/0, input_media_decoder/0, inline_query_result_decoder/0, file_or_string_decoder/0]). -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 decoders for types [Telegram Bot API](https://core.telegram.org/bots/api).\n"). -file("src/telega/model/decoder.gleam", 365). -spec accepted_gift_types_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:accepted_gift_types()). accepted_gift_types_decoder() -> gleam@dynamic@decode:field( <<"unlimited_gifts"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Unlimited_gifts) -> gleam@dynamic@decode:field( <<"limited_gifts"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Limited_gifts) -> gleam@dynamic@decode:field( <<"unique_gifts"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Unique_gifts) -> gleam@dynamic@decode:field( <<"premium_subscription"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Premium_subscription) -> gleam@dynamic@decode:field( <<"gifts_from_channels"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Gifts_from_channels) -> gleam@dynamic@decode:success( {accepted_gift_types, Unlimited_gifts, Limited_gifts, Unique_gifts, Premium_subscription, Gifts_from_channels} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 931). -spec chat_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat()). chat_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Id) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Username) -> gleam@dynamic@decode:optional_field( <<"first_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(First_name) -> gleam@dynamic@decode:optional_field( <<"last_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_name) -> gleam@dynamic@decode:optional_field( <<"is_forum"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_forum) -> gleam@dynamic@decode:optional_field( <<"is_direct_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_direct_messages ) -> gleam@dynamic@decode:success( {chat, Id, Type_, Title, Username, First_name, Last_name, Is_forum, Is_direct_messages} ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9229). -spec user_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:user()). user_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Id) -> gleam@dynamic@decode:field( <<"is_bot"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_bot) -> gleam@dynamic@decode:field( <<"first_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(First_name) -> gleam@dynamic@decode:optional_field( <<"last_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_name) -> gleam@dynamic@decode:optional_field( <<"username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Username) -> gleam@dynamic@decode:optional_field( <<"language_code"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Language_code) -> gleam@dynamic@decode:optional_field( <<"is_premium"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_premium) -> gleam@dynamic@decode:optional_field( <<"added_to_attachment_menu"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Added_to_attachment_menu ) -> gleam@dynamic@decode:optional_field( <<"can_join_groups"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_join_groups ) -> gleam@dynamic@decode:optional_field( <<"can_read_all_group_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_read_all_group_messages ) -> gleam@dynamic@decode:optional_field( <<"supports_guest_queries"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Supports_guest_queries ) -> gleam@dynamic@decode:optional_field( <<"supports_inline_queries"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Supports_inline_queries ) -> gleam@dynamic@decode:optional_field( <<"can_connect_to_business"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_connect_to_business ) -> gleam@dynamic@decode:optional_field( <<"has_main_web_app"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_main_web_app ) -> gleam@dynamic@decode:optional_field( <<"has_topics_enabled"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_topics_enabled ) -> gleam@dynamic@decode:optional_field( <<"allows_users_to_create_topics"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Allows_users_to_create_topics ) -> gleam@dynamic@decode:optional_field( <<"can_manage_bots"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_bots ) -> gleam@dynamic@decode:optional_field( <<"supports_join_request_queries"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Supports_join_request_queries ) -> gleam@dynamic@decode:success( {user, Id, Is_bot, First_name, Last_name, Username, Language_code, Is_premium, Added_to_attachment_menu, Can_join_groups, Can_read_all_group_messages, Supports_guest_queries, Supports_inline_queries, Can_connect_to_business, Has_main_web_app, Has_topics_enabled, Allows_users_to_create_topics, Can_manage_bots, Supports_join_request_queries} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 380). -spec affiliate_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:affiliate_info()). affiliate_info_decoder() -> gleam@dynamic@decode:optional_field( <<"affiliate_user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(Affiliate_user) -> gleam@dynamic@decode:optional_field( <<"affiliate_chat"/utf8>>, none, gleam@dynamic@decode:optional(chat_decoder()), fun(Affiliate_chat) -> gleam@dynamic@decode:field( <<"commission_per_mille"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Commission_per_mille) -> gleam@dynamic@decode:field( <<"amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Amount) -> gleam@dynamic@decode:optional_field( <<"nanostar_amount"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Nanostar_amount) -> gleam@dynamic@decode:success( {affiliate_info, Affiliate_user, Affiliate_chat, Commission_per_mille, Amount, Nanostar_amount} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7056). -spec photo_size_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:photo_size()). photo_size_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:success( {photo_size, File_id, File_unique_id, Width, Height, File_size} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 407). -spec animation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:animation()). animation_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:field( <<"duration"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Duration) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( photo_size_decoder() ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"file_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(File_name) -> gleam@dynamic@decode:optional_field( <<"mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Mime_type) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( File_size ) -> gleam@dynamic@decode:success( {animation, File_id, File_unique_id, Width, Height, Duration, Thumbnail, File_name, Mime_type, File_size} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 446). -spec audio_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:audio()). audio_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"duration"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Duration) -> gleam@dynamic@decode:optional_field( <<"performer"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Performer) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"file_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(File_name) -> gleam@dynamic@decode:optional_field( <<"mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Mime_type) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( photo_size_decoder( ) ), fun( Thumbnail ) -> gleam@dynamic@decode:success( {audio, File_id, File_unique_id, Duration, Performer, Title, File_name, Mime_type, File_size, Thumbnail} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 493). -spec background_fill_freeform_gradient_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_fill_freeform_gradient()). background_fill_freeform_gradient_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"colors"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Colors) -> gleam@dynamic@decode:success( {background_fill_freeform_gradient, Type_, Colors} ) end ) end ). -file("src/telega/model/decoder.gleam", 501). -spec background_fill_gradient_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_fill_gradient()). background_fill_gradient_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"top_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Top_color) -> gleam@dynamic@decode:field( <<"bottom_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Bottom_color) -> gleam@dynamic@decode:field( <<"rotation_angle"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Rotation_angle) -> gleam@dynamic@decode:success( {background_fill_gradient, Type_, Top_color, Bottom_color, Rotation_angle} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 516). -spec background_fill_solid_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_fill_solid()). background_fill_solid_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Color) -> gleam@dynamic@decode:success( {background_fill_solid, Type_, Color} ) end ) end ). -file("src/telega/model/decoder.gleam", 522). -spec background_type_chat_theme_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_type_chat_theme()). background_type_chat_theme_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"theme_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Theme_name) -> gleam@dynamic@decode:success( {background_type_chat_theme, Type_, Theme_name} ) end ) end ). -file("src/telega/model/decoder.gleam", 9639). -spec background_fill_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_fill()). background_fill_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"solid"/utf8>> -> gleam@dynamic@decode:then( background_fill_solid_decoder(), fun(Value) -> gleam@dynamic@decode:success( {background_fill_solid_background_fill, Value} ) end ); <<"gradient"/utf8>> -> gleam@dynamic@decode:then( background_fill_gradient_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {background_fill_gradient_background_fill, Value@1} ) end ); <<"freeform_gradient"/utf8>> -> gleam@dynamic@decode:then( background_fill_freeform_gradient_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {background_fill_freeform_gradient_background_fill, Value@2} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for BackgroundFill"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"background_fill_decoder"/utf8>>, line => 9654}) end end ). -file("src/telega/model/decoder.gleam", 530). -spec background_type_fill_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_type_fill()). background_type_fill_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"fill"/utf8>>, background_fill_decoder(), fun(Fill) -> gleam@dynamic@decode:field( <<"dark_theme_dimming"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Dark_theme_dimming) -> gleam@dynamic@decode:success( {background_type_fill, Type_, Fill, Dark_theme_dimming} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2095). -spec document_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:document()). document_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional(photo_size_decoder()), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"file_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(File_name) -> gleam@dynamic@decode:optional_field( <<"mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Mime_type) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:success( {document, File_id, File_unique_id, Thumbnail, File_name, Mime_type, File_size} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 541). -spec background_type_pattern_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_type_pattern()). background_type_pattern_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"document"/utf8>>, document_decoder(), fun(Document) -> gleam@dynamic@decode:field( <<"fill"/utf8>>, background_fill_decoder(), fun(Fill) -> gleam@dynamic@decode:field( <<"intensity"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Intensity) -> gleam@dynamic@decode:optional_field( <<"is_inverted"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_inverted) -> gleam@dynamic@decode:optional_field( <<"is_moving"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_moving) -> gleam@dynamic@decode:success( {background_type_pattern, Type_, Document, Fill, Intensity, Is_inverted, Is_moving} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 568). -spec background_type_wallpaper_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_type_wallpaper()). background_type_wallpaper_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"document"/utf8>>, document_decoder(), fun(Document) -> gleam@dynamic@decode:field( <<"dark_theme_dimming"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Dark_theme_dimming) -> gleam@dynamic@decode:optional_field( <<"is_blurred"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_blurred) -> gleam@dynamic@decode:optional_field( <<"is_moving"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_moving) -> gleam@dynamic@decode:success( {background_type_wallpaper, Type_, Document, Dark_theme_dimming, Is_blurred, Is_moving} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 593). -spec birthdate_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:birthdate()). birthdate_decoder() -> gleam@dynamic@decode:field( <<"day"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Day) -> gleam@dynamic@decode:field( <<"month"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Month) -> gleam@dynamic@decode:optional_field( <<"year"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Year) -> gleam@dynamic@decode:success( {birthdate, Day, Month, Year} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 600). -spec bot_access_settings_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_access_settings()). bot_access_settings_decoder() -> gleam@dynamic@decode:field( <<"is_access_restricted"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_access_restricted) -> gleam@dynamic@decode:optional_field( <<"added_users"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(user_decoder()) ), fun(Added_users) -> gleam@dynamic@decode:success( {bot_access_settings, Is_access_restricted, Added_users} ) end ) end ). -file("src/telega/model/decoder.gleam", 613). -spec bot_command_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command()). bot_command_decoder() -> gleam@dynamic@decode:field( <<"command"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Command) -> gleam@dynamic@decode:field( <<"description"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Description) -> gleam@dynamic@decode:optional_field( <<"is_ephemeral"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_ephemeral) -> gleam@dynamic@decode:success( {bot_command, Command, Description, Is_ephemeral} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 628). -spec bot_command_scope_all_chat_administrators_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope_all_chat_administrators()). bot_command_scope_all_chat_administrators_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success( {bot_command_scope_all_chat_administrators, Type_} ) end ). -file("src/telega/model/decoder.gleam", 635). -spec bot_command_scope_all_group_chats_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope_all_group_chats()). bot_command_scope_all_group_chats_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success( {bot_command_scope_all_group_chats, Type_} ) end ). -file("src/telega/model/decoder.gleam", 642). -spec bot_command_scope_all_private_chats_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope_all_private_chats()). bot_command_scope_all_private_chats_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success( {bot_command_scope_all_private_chats, Type_} ) end ). -file("src/telega/model/decoder.gleam", 10696). -spec int_or_string_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:int_or_string()). int_or_string_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"int"/utf8>> -> gleam@dynamic@decode:then( {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Value) -> gleam@dynamic@decode:success({int, Value}) end ); <<"str"/utf8>> -> gleam@dynamic@decode:then( {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Value@1) -> gleam@dynamic@decode:success({str, Value@1}) end ); _ -> gleam@dynamic@decode:failure( {int, 0}, <<"IntOrString"/utf8>> ) end end ). -file("src/telega/model/decoder.gleam", 649). -spec bot_command_scope_chat_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope_chat()). bot_command_scope_chat_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"chat_id"/utf8>>, int_or_string_decoder(), fun(Chat_id) -> gleam@dynamic@decode:success( {bot_command_scope_chat, Type_, Chat_id} ) end ) end ). -file("src/telega/model/decoder.gleam", 655). -spec bot_command_scope_chat_administrators_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope_chat_administrators()). bot_command_scope_chat_administrators_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"chat_id"/utf8>>, int_or_string_decoder(), fun(Chat_id) -> gleam@dynamic@decode:success( {bot_command_scope_chat_administrators, Type_, Chat_id} ) end ) end ). -file("src/telega/model/decoder.gleam", 666). -spec bot_command_scope_chat_member_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope_chat_member()). bot_command_scope_chat_member_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"chat_id"/utf8>>, int_or_string_decoder(), fun(Chat_id) -> gleam@dynamic@decode:field( <<"user_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(User_id) -> gleam@dynamic@decode:success( {bot_command_scope_chat_member, Type_, Chat_id, User_id} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 679). -spec bot_command_scope_default_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope_default()). bot_command_scope_default_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success({bot_command_scope_default, Type_}) end ). -file("src/telega/model/decoder.gleam", 686). -spec bot_description_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_description()). bot_description_decoder() -> gleam@dynamic@decode:field( <<"description"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Description) -> gleam@dynamic@decode:success({bot_description, Description}) end ). -file("src/telega/model/decoder.gleam", 691). -spec bot_name_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_name()). bot_name_decoder() -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:success({bot_name, Name}) end ). -file("src/telega/model/decoder.gleam", 696). -spec bot_short_description_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_short_description()). bot_short_description_decoder() -> gleam@dynamic@decode:field( <<"short_description"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Short_description) -> gleam@dynamic@decode:success( {bot_short_description, Short_description} ) end ). -file("src/telega/model/decoder.gleam", 701). -spec bot_subscription_updated_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_subscription_updated()). bot_subscription_updated_decoder() -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"invoice_payload"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Invoice_payload) -> gleam@dynamic@decode:field( <<"state"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(State) -> gleam@dynamic@decode:success( {bot_subscription_updated, User, Invoice_payload, State} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 714). -spec business_bot_rights_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:business_bot_rights()). business_bot_rights_decoder() -> gleam@dynamic@decode:optional_field( <<"can_reply"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_reply) -> gleam@dynamic@decode:optional_field( <<"can_read_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_read_messages) -> gleam@dynamic@decode:optional_field( <<"can_delete_sent_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_delete_sent_messages) -> gleam@dynamic@decode:optional_field( <<"can_delete_all_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_delete_all_messages) -> gleam@dynamic@decode:optional_field( <<"can_edit_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_edit_name) -> gleam@dynamic@decode:optional_field( <<"can_edit_bio"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_edit_bio) -> gleam@dynamic@decode:optional_field( <<"can_edit_profile_photo"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_edit_profile_photo ) -> gleam@dynamic@decode:optional_field( <<"can_edit_username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_edit_username ) -> gleam@dynamic@decode:optional_field( <<"can_change_gift_settings"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_change_gift_settings ) -> gleam@dynamic@decode:optional_field( <<"can_view_gifts_and_stars"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_view_gifts_and_stars ) -> gleam@dynamic@decode:optional_field( <<"can_convert_gifts_to_stars"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_convert_gifts_to_stars ) -> gleam@dynamic@decode:optional_field( <<"can_transfer_and_upgrade_gifts"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_transfer_and_upgrade_gifts ) -> gleam@dynamic@decode:optional_field( <<"can_transfer_stars"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_transfer_stars ) -> gleam@dynamic@decode:optional_field( <<"can_manage_stories"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_stories ) -> gleam@dynamic@decode:success( {business_bot_rights, Can_reply, Can_read_messages, Can_delete_sent_messages, Can_delete_all_messages, Can_edit_name, Can_edit_bio, Can_edit_profile_photo, Can_edit_username, Can_change_gift_settings, Can_view_gifts_and_stars, Can_convert_gifts_to_stars, Can_transfer_and_upgrade_gifts, Can_transfer_stars, Can_manage_stories} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 803). -spec business_connection_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:business_connection()). business_connection_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"user_chat_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(User_chat_id) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:optional_field( <<"rights"/utf8>>, none, gleam@dynamic@decode:optional( business_bot_rights_decoder() ), fun(Rights) -> gleam@dynamic@decode:field( <<"is_enabled"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_enabled) -> gleam@dynamic@decode:success( {business_connection, Id, User, User_chat_id, Date, Rights, Is_enabled} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5741). -spec mask_position_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:mask_position()). mask_position_decoder() -> gleam@dynamic@decode:field( <<"point"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Point) -> gleam@dynamic@decode:field( <<"x_shift"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(X_shift) -> gleam@dynamic@decode:field( <<"y_shift"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Y_shift) -> gleam@dynamic@decode:field( <<"scale"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Scale) -> gleam@dynamic@decode:success( {mask_position, Point, X_shift, Y_shift, Scale} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2351). -spec file_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:file()). file_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:optional_field( <<"file_path"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(File_path) -> gleam@dynamic@decode:success( {file, File_id, File_unique_id, File_size, File_path} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8335). -spec sticker_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:sticker()). sticker_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:field( <<"is_animated"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_animated) -> gleam@dynamic@decode:field( <<"is_video"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_video) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( photo_size_decoder( ) ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"emoji"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Emoji ) -> gleam@dynamic@decode:optional_field( <<"set_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Set_name ) -> gleam@dynamic@decode:optional_field( <<"premium_animation"/utf8>>, none, gleam@dynamic@decode:optional( file_decoder( ) ), fun( Premium_animation ) -> gleam@dynamic@decode:optional_field( <<"mask_position"/utf8>>, none, gleam@dynamic@decode:optional( mask_position_decoder( ) ), fun( Mask_position ) -> gleam@dynamic@decode:optional_field( <<"custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Custom_emoji_id ) -> gleam@dynamic@decode:optional_field( <<"needs_repainting"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Needs_repainting ) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( File_size ) -> gleam@dynamic@decode:success( {sticker, File_id, File_unique_id, Type_, Width, Height, Is_animated, Is_video, Thumbnail, Emoji, Set_name, Premium_animation, Mask_position, Custom_emoji_id, Needs_repainting, File_size} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 824). -spec business_intro_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:business_intro()). business_intro_decoder() -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"message"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Message) -> gleam@dynamic@decode:optional_field( <<"sticker"/utf8>>, none, gleam@dynamic@decode:optional(sticker_decoder()), fun(Sticker) -> gleam@dynamic@decode:success( {business_intro, Title, Message, Sticker} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5647). -spec location_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:location()). location_decoder() -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:optional_field( <<"horizontal_accuracy"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_float/1} ), fun(Horizontal_accuracy) -> gleam@dynamic@decode:optional_field( <<"live_period"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Live_period) -> gleam@dynamic@decode:optional_field( <<"heading"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Heading) -> gleam@dynamic@decode:optional_field( <<"proximity_alert_radius"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Proximity_alert_radius) -> gleam@dynamic@decode:success( {location, Latitude, Longitude, Horizontal_accuracy, Live_period, Heading, Proximity_alert_radius} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 843). -spec business_location_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:business_location()). business_location_decoder() -> gleam@dynamic@decode:field( <<"address"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Address) -> gleam@dynamic@decode:optional_field( <<"location"/utf8>>, none, gleam@dynamic@decode:optional(location_decoder()), fun(Location) -> gleam@dynamic@decode:success( {business_location, Address, Location} ) end ) end ). -file("src/telega/model/decoder.gleam", 853). -spec business_messages_deleted_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:business_messages_deleted()). business_messages_deleted_decoder() -> gleam@dynamic@decode:field( <<"business_connection_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Business_connection_id) -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"message_ids"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Message_ids) -> gleam@dynamic@decode:success( {business_messages_deleted, Business_connection_id, Chat, Message_ids} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 881). -spec business_opening_hours_interval_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:business_opening_hours_interval()). business_opening_hours_interval_decoder() -> gleam@dynamic@decode:field( <<"opening_minute"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Opening_minute) -> gleam@dynamic@decode:field( <<"closing_minute"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Closing_minute) -> gleam@dynamic@decode:success( {business_opening_hours_interval, Opening_minute, Closing_minute} ) end ) end ). -file("src/telega/model/decoder.gleam", 869). -spec business_opening_hours_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:business_opening_hours()). business_opening_hours_decoder() -> gleam@dynamic@decode:field( <<"time_zone_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Time_zone_name) -> gleam@dynamic@decode:field( <<"opening_hours"/utf8>>, gleam@dynamic@decode:list( business_opening_hours_interval_decoder() ), fun(Opening_hours) -> gleam@dynamic@decode:success( {business_opening_hours, Time_zone_name, Opening_hours} ) end ) end ). -file("src/telega/model/decoder.gleam", 892). -spec callback_game_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:callback_game()). callback_game_decoder() -> gleam@dynamic@decode:success(callback_game). -file("src/telega/model/decoder.gleam", 2800). -spec inaccessible_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inaccessible_message()). inaccessible_message_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_id) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:success( {inaccessible_message, Chat, Message_id, Date} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 10501). -spec maybe_inaccessible_message_inaccessible_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:maybe_inaccessible_message()). maybe_inaccessible_message_inaccessible_message_decoder() -> gleam@dynamic@decode:then( inaccessible_message_decoder(), fun(Value) -> gleam@dynamic@decode:success( {inaccessible_message_maybe_inaccessible_message, Value} ) end ). -file("src/telega/model/decoder.gleam", 2056). -spec copy_text_button_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:copy_text_button()). copy_text_button_decoder() -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:success({copy_text_button, Text}) end ). -file("src/telega/model/decoder.gleam", 8709). -spec switch_inline_query_chosen_chat_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:switch_inline_query_chosen_chat()). switch_inline_query_chosen_chat_decoder() -> gleam@dynamic@decode:optional_field( <<"query"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Query) -> gleam@dynamic@decode:optional_field( <<"allow_user_chats"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Allow_user_chats) -> gleam@dynamic@decode:optional_field( <<"allow_bot_chats"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Allow_bot_chats) -> gleam@dynamic@decode:optional_field( <<"allow_group_chats"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Allow_group_chats) -> gleam@dynamic@decode:optional_field( <<"allow_channel_chats"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Allow_channel_chats) -> gleam@dynamic@decode:success( {switch_inline_query_chosen_chat, Query, Allow_user_chats, Allow_bot_chats, Allow_group_chats, Allow_channel_chats} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5705). -spec login_url_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:login_url()). login_url_decoder() -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:optional_field( <<"forward_text"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Forward_text) -> gleam@dynamic@decode:optional_field( <<"bot_username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Bot_username) -> gleam@dynamic@decode:optional_field( <<"request_write_access"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Request_write_access) -> gleam@dynamic@decode:success( {login_url, Url, Forward_text, Bot_username, Request_write_access} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9561). -spec web_app_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:web_app_info()). web_app_info_decoder() -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:success({web_app_info, Url}) end ). -file("src/telega/model/decoder.gleam", 2811). -spec inline_keyboard_button_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_keyboard_button()). inline_keyboard_button_decoder() -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"icon_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Icon_custom_emoji_id) -> gleam@dynamic@decode:optional_field( <<"style"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Style) -> gleam@dynamic@decode:optional_field( <<"url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Url) -> gleam@dynamic@decode:optional_field( <<"callback_data"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Callback_data) -> gleam@dynamic@decode:optional_field( <<"web_app"/utf8>>, none, gleam@dynamic@decode:optional( web_app_info_decoder() ), fun(Web_app) -> gleam@dynamic@decode:optional_field( <<"login_url"/utf8>>, none, gleam@dynamic@decode:optional( login_url_decoder() ), fun(Login_url) -> gleam@dynamic@decode:optional_field( <<"switch_inline_query"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Switch_inline_query ) -> gleam@dynamic@decode:optional_field( <<"switch_inline_query_current_chat"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Switch_inline_query_current_chat ) -> gleam@dynamic@decode:optional_field( <<"switch_inline_query_chosen_chat"/utf8>>, none, gleam@dynamic@decode:optional( switch_inline_query_chosen_chat_decoder( ) ), fun( Switch_inline_query_chosen_chat ) -> gleam@dynamic@decode:optional_field( <<"copy_text"/utf8>>, none, gleam@dynamic@decode:optional( copy_text_button_decoder( ) ), fun( Copy_text ) -> gleam@dynamic@decode:optional_field( <<"callback_game"/utf8>>, none, gleam@dynamic@decode:optional( callback_game_decoder( ) ), fun( Callback_game ) -> gleam@dynamic@decode:optional_field( <<"pay"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Pay ) -> gleam@dynamic@decode:success( {inline_keyboard_button, Text, Icon_custom_emoji_id, Style, Url, Callback_data, Web_app, Login_url, Switch_inline_query, Switch_inline_query_current_chat, Switch_inline_query_chosen_chat, Copy_text, Callback_game, Pay} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2882). -spec inline_keyboard_markup_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_keyboard_markup()). inline_keyboard_markup_decoder() -> gleam@dynamic@decode:field( <<"inline_keyboard"/utf8>>, gleam@dynamic@decode:list( gleam@dynamic@decode:list(inline_keyboard_button_decoder()) ), fun(Inline_keyboard) -> gleam@dynamic@decode:success( {inline_keyboard_markup, Inline_keyboard} ) end ). -file("src/telega/model/decoder.gleam", 9555). -spec web_app_data_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:web_app_data()). web_app_data_decoder() -> gleam@dynamic@decode:field( <<"data"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Data) -> gleam@dynamic@decode:field( <<"button_text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Button_text) -> gleam@dynamic@decode:success( {web_app_data, Data, Button_text} ) end ) end ). -file("src/telega/model/decoder.gleam", 9470). -spec video_chat_participants_invited_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:video_chat_participants_invited()). video_chat_participants_invited_decoder() -> gleam@dynamic@decode:field( <<"users"/utf8>>, gleam@dynamic@decode:list(user_decoder()), fun(Users) -> gleam@dynamic@decode:success( {video_chat_participants_invited, Users} ) end ). -file("src/telega/model/decoder.gleam", 9465). -spec video_chat_ended_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:video_chat_ended()). video_chat_ended_decoder() -> gleam@dynamic@decode:field( <<"duration"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Duration) -> gleam@dynamic@decode:success({video_chat_ended, Duration}) end ). -file("src/telega/model/decoder.gleam", 9482). -spec video_chat_started_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:video_chat_started()). video_chat_started_decoder() -> gleam@dynamic@decode:success(video_chat_started). -file("src/telega/model/decoder.gleam", 9477). -spec video_chat_scheduled_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:video_chat_scheduled()). video_chat_scheduled_decoder() -> gleam@dynamic@decode:field( <<"start_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Start_date) -> gleam@dynamic@decode:success({video_chat_scheduled, Start_date}) end ). -file("src/telega/model/decoder.gleam", 8288). -spec star_amount_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:star_amount()). star_amount_decoder() -> gleam@dynamic@decode:field( <<"amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Amount) -> gleam@dynamic@decode:optional_field( <<"nanostar_amount"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Nanostar_amount) -> gleam@dynamic@decode:success( {star_amount, Amount, Nanostar_amount} ) end ) end ). -file("src/telega/model/decoder.gleam", 8688). -spec suggested_post_price_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_price()). suggested_post_price_decoder() -> gleam@dynamic@decode:field( <<"currency"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Currency) -> gleam@dynamic@decode:field( <<"amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Amount) -> gleam@dynamic@decode:success( {suggested_post_price, Currency, Amount} ) end ) end ). -file("src/telega/model/decoder.gleam", 6490). -spec message_entity_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_entity()). message_entity_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"offset"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Offset) -> gleam@dynamic@decode:field( <<"length"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Length) -> gleam@dynamic@decode:optional_field( <<"url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Url) -> gleam@dynamic@decode:optional_field( <<"user"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder() ), fun(User) -> gleam@dynamic@decode:optional_field( <<"language"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Language) -> gleam@dynamic@decode:optional_field( <<"custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Custom_emoji_id) -> gleam@dynamic@decode:optional_field( <<"unix_time"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Unix_time) -> gleam@dynamic@decode:optional_field( <<"date_time_format"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Date_time_format ) -> gleam@dynamic@decode:success( {message_entity, Type_, Offset, Length, Url, User, Language, Custom_emoji_id, Unix_time, Date_time_format} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6882). -spec paid_message_price_changed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_message_price_changed()). paid_message_price_changed_decoder() -> gleam@dynamic@decode:field( <<"paid_message_star_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Paid_message_star_count) -> gleam@dynamic@decode:success( {paid_message_price_changed, Paid_message_star_count} ) end ). -file("src/telega/model/decoder.gleam", 5730). -spec managed_bot_created_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:managed_bot_created()). managed_bot_created_decoder() -> gleam@dynamic@decode:field( <<"bot"/utf8>>, user_decoder(), fun(Bot) -> gleam@dynamic@decode:success({managed_bot_created, Bot}) end ). -file("src/telega/model/decoder.gleam", 2740). -spec giveaway_winners_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:giveaway_winners()). giveaway_winners_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"giveaway_message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Giveaway_message_id) -> gleam@dynamic@decode:field( <<"winners_selection_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Winners_selection_date) -> gleam@dynamic@decode:field( <<"winner_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Winner_count) -> gleam@dynamic@decode:field( <<"winners"/utf8>>, gleam@dynamic@decode:list( user_decoder() ), fun(Winners) -> gleam@dynamic@decode:optional_field( <<"additional_chat_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Additional_chat_count) -> gleam@dynamic@decode:optional_field( <<"prize_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Prize_star_count) -> gleam@dynamic@decode:optional_field( <<"premium_subscription_month_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Premium_subscription_month_count ) -> gleam@dynamic@decode:optional_field( <<"unclaimed_prize_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Unclaimed_prize_count ) -> gleam@dynamic@decode:optional_field( <<"only_new_members"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Only_new_members ) -> gleam@dynamic@decode:optional_field( <<"was_refunded"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Was_refunded ) -> gleam@dynamic@decode:optional_field( <<"prize_description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Prize_description ) -> gleam@dynamic@decode:success( {giveaway_winners, Chat, Giveaway_message_id, Winners_selection_date, Winner_count, Winners, Additional_chat_count, Prize_star_count, Premium_subscription_month_count, Unclaimed_prize_count, Only_new_members, Was_refunded, Prize_description} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2656). -spec giveaway_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:giveaway()). giveaway_decoder() -> gleam@dynamic@decode:field( <<"chats"/utf8>>, gleam@dynamic@decode:list(chat_decoder()), fun(Chats) -> gleam@dynamic@decode:field( <<"winners_selection_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Winners_selection_date) -> gleam@dynamic@decode:field( <<"winner_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Winner_count) -> gleam@dynamic@decode:optional_field( <<"only_new_members"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Only_new_members) -> gleam@dynamic@decode:optional_field( <<"has_public_winners"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_public_winners) -> gleam@dynamic@decode:optional_field( <<"prize_description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Prize_description) -> gleam@dynamic@decode:optional_field( <<"country_codes"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ), fun(Country_codes) -> gleam@dynamic@decode:optional_field( <<"prize_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Prize_star_count ) -> gleam@dynamic@decode:optional_field( <<"premium_subscription_month_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Premium_subscription_month_count ) -> gleam@dynamic@decode:success( {giveaway, Chats, Winners_selection_date, Winner_count, Only_new_members, Has_public_winners, Prize_description, Country_codes, Prize_star_count, Premium_subscription_month_count} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2731). -spec giveaway_created_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:giveaway_created()). giveaway_created_decoder() -> gleam@dynamic@decode:optional_field( <<"prize_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Prize_star_count) -> gleam@dynamic@decode:success({giveaway_created, Prize_star_count}) end ). -file("src/telega/model/decoder.gleam", 2502). -spec general_forum_topic_unhidden_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:general_forum_topic_unhidden()). general_forum_topic_unhidden_decoder() -> gleam@dynamic@decode:success(general_forum_topic_unhidden). -file("src/telega/model/decoder.gleam", 2496). -spec general_forum_topic_hidden_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:general_forum_topic_hidden()). general_forum_topic_hidden_decoder() -> gleam@dynamic@decode:success(general_forum_topic_hidden). -file("src/telega/model/decoder.gleam", 2456). -spec forum_topic_reopened_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:forum_topic_reopened()). forum_topic_reopened_decoder() -> gleam@dynamic@decode:success(forum_topic_reopened). -file("src/telega/model/decoder.gleam", 2414). -spec forum_topic_closed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:forum_topic_closed()). forum_topic_closed_decoder() -> gleam@dynamic@decode:success(forum_topic_closed). -file("src/telega/model/decoder.gleam", 2439). -spec forum_topic_edited_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:forum_topic_edited()). forum_topic_edited_decoder() -> gleam@dynamic@decode:optional_field( <<"name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Name) -> gleam@dynamic@decode:optional_field( <<"icon_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Icon_custom_emoji_id) -> gleam@dynamic@decode:success( {forum_topic_edited, Name, Icon_custom_emoji_id} ) end ) end ). -file("src/telega/model/decoder.gleam", 2418). -spec forum_topic_created_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:forum_topic_created()). forum_topic_created_decoder() -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:field( <<"icon_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Icon_color) -> gleam@dynamic@decode:optional_field( <<"icon_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Icon_custom_emoji_id) -> gleam@dynamic@decode:optional_field( <<"is_name_implicit"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_name_implicit) -> gleam@dynamic@decode:success( {forum_topic_created, Name, Icon_color, Icon_custom_emoji_id, Is_name_implicit} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2067). -spec direct_message_price_changed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:direct_message_price_changed()). direct_message_price_changed_decoder() -> gleam@dynamic@decode:field( <<"are_direct_messages_enabled"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Are_direct_messages_enabled) -> gleam@dynamic@decode:optional_field( <<"direct_message_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Direct_message_star_count) -> gleam@dynamic@decode:success( {direct_message_price_changed, Are_direct_messages_enabled, Direct_message_star_count} ) end ) end ). -file("src/telega/model/decoder.gleam", 2025). -spec community_chat_removed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:community_chat_removed()). community_chat_removed_decoder() -> gleam@dynamic@decode:success(community_chat_removed). -file("src/telega/model/decoder.gleam", 2014). -spec community_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:community()). community_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Id) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:success({community, Id, Name}) end ) end ). -file("src/telega/model/decoder.gleam", 2020). -spec community_chat_added_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:community_chat_added()). community_chat_added_decoder() -> gleam@dynamic@decode:field( <<"community"/utf8>>, community_decoder(), fun(Community) -> gleam@dynamic@decode:success({community_chat_added, Community}) end ). -file("src/telega/model/decoder.gleam", 1922). -spec checklist_task_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:checklist_task()). checklist_task_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Id) -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"text_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Text_entities) -> gleam@dynamic@decode:optional_field( <<"completed_by_user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(Completed_by_user) -> gleam@dynamic@decode:optional_field( <<"completed_by_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder() ), fun(Completed_by_chat) -> gleam@dynamic@decode:optional_field( <<"completion_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Completion_date) -> gleam@dynamic@decode:success( {checklist_task, Id, Text, Text_entities, Completed_by_user, Completed_by_chat, Completion_date} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9658). -spec background_type_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:background_type()). background_type_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"fill"/utf8>> -> gleam@dynamic@decode:then( background_type_fill_decoder(), fun(Value) -> gleam@dynamic@decode:success( {background_type_fill_background_type, Value} ) end ); <<"wallpaper"/utf8>> -> gleam@dynamic@decode:then( background_type_wallpaper_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {background_type_wallpaper_background_type, Value@1} ) end ); <<"pattern"/utf8>> -> gleam@dynamic@decode:then( background_type_pattern_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {background_type_pattern_background_type, Value@2} ) end ); <<"chat_theme"/utf8>> -> gleam@dynamic@decode:then( background_type_chat_theme_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {background_type_chat_theme_background_type, Value@3} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for BackgroundType"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"background_type_decoder"/utf8>>, line => 9677}) end end ). -file("src/telega/model/decoder.gleam", 1044). -spec chat_background_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_background()). chat_background_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, background_type_decoder(), fun(Type_) -> gleam@dynamic@decode:success({chat_background, Type_}) end ). -file("src/telega/model/decoder.gleam", 1062). -spec chat_boost_added_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost_added()). chat_boost_added_decoder() -> gleam@dynamic@decode:field( <<"boost_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Boost_count) -> gleam@dynamic@decode:success({chat_boost_added, Boost_count}) end ). -file("src/telega/model/decoder.gleam", 7391). -spec proximity_alert_triggered_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:proximity_alert_triggered()). proximity_alert_triggered_decoder() -> gleam@dynamic@decode:field( <<"traveler"/utf8>>, user_decoder(), fun(Traveler) -> gleam@dynamic@decode:field( <<"watcher"/utf8>>, user_decoder(), fun(Watcher) -> gleam@dynamic@decode:field( <<"distance"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Distance) -> gleam@dynamic@decode:success( {proximity_alert_triggered, Traveler, Watcher, Distance} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2128). -spec encrypted_credentials_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:encrypted_credentials()). encrypted_credentials_decoder() -> gleam@dynamic@decode:field( <<"data"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Data) -> gleam@dynamic@decode:field( <<"hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Hash) -> gleam@dynamic@decode:field( <<"secret"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Secret) -> gleam@dynamic@decode:success( {encrypted_credentials, Data, Hash, Secret} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7043). -spec passport_file_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_file()). passport_file_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"file_size"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(File_size) -> gleam@dynamic@decode:field( <<"file_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(File_date) -> gleam@dynamic@decode:success( {passport_file, File_id, File_unique_id, File_size, File_date} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2135). -spec encrypted_passport_element_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:encrypted_passport_element()). encrypted_passport_element_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:optional_field( <<"data"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Data) -> gleam@dynamic@decode:optional_field( <<"phone_number"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Phone_number) -> gleam@dynamic@decode:optional_field( <<"email"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Email) -> gleam@dynamic@decode:optional_field( <<"files"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( passport_file_decoder() ) ), fun(Files) -> gleam@dynamic@decode:optional_field( <<"front_side"/utf8>>, none, gleam@dynamic@decode:optional( passport_file_decoder() ), fun(Front_side) -> gleam@dynamic@decode:optional_field( <<"reverse_side"/utf8>>, none, gleam@dynamic@decode:optional( passport_file_decoder( ) ), fun(Reverse_side) -> gleam@dynamic@decode:optional_field( <<"selfie"/utf8>>, none, gleam@dynamic@decode:optional( passport_file_decoder( ) ), fun(Selfie) -> gleam@dynamic@decode:optional_field( <<"translation"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( passport_file_decoder( ) ) ), fun( Translation ) -> gleam@dynamic@decode:field( <<"hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun( Hash ) -> gleam@dynamic@decode:success( {encrypted_passport_element, Type_, Data, Phone_number, Email, Files, Front_side, Reverse_side, Selfie, Translation, Hash} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6894). -spec passport_data_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_data()). passport_data_decoder() -> gleam@dynamic@decode:field( <<"data"/utf8>>, gleam@dynamic@decode:list(encrypted_passport_element_decoder()), fun(Data) -> gleam@dynamic@decode:field( <<"credentials"/utf8>>, encrypted_credentials_decoder(), fun(Credentials) -> gleam@dynamic@decode:success( {passport_data, Data, Credentials} ) end ) end ). -file("src/telega/model/decoder.gleam", 9616). -spec write_access_allowed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:write_access_allowed()). write_access_allowed_decoder() -> gleam@dynamic@decode:optional_field( <<"from_request"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(From_request) -> gleam@dynamic@decode:optional_field( <<"web_app_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Web_app_name) -> gleam@dynamic@decode:optional_field( <<"from_attachment_menu"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(From_attachment_menu) -> gleam@dynamic@decode:success( {write_access_allowed, From_request, Web_app_name, From_attachment_menu} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2579). -spec gift_background_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:gift_background()). gift_background_decoder() -> gleam@dynamic@decode:field( <<"center_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Center_color) -> gleam@dynamic@decode:field( <<"edge_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Edge_color) -> gleam@dynamic@decode:field( <<"text_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Text_color) -> gleam@dynamic@decode:success( {gift_background, Center_color, Edge_color, Text_color} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2508). -spec gift_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:gift()). gift_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"sticker"/utf8>>, sticker_decoder(), fun(Sticker) -> gleam@dynamic@decode:field( <<"star_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Star_count) -> gleam@dynamic@decode:optional_field( <<"upgrade_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Upgrade_star_count) -> gleam@dynamic@decode:optional_field( <<"is_premium"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_premium) -> gleam@dynamic@decode:optional_field( <<"has_colors"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_colors) -> gleam@dynamic@decode:optional_field( <<"total_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Total_count) -> gleam@dynamic@decode:optional_field( <<"remaining_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Remaining_count ) -> gleam@dynamic@decode:optional_field( <<"personal_total_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Personal_total_count ) -> gleam@dynamic@decode:optional_field( <<"personal_remaining_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Personal_remaining_count ) -> gleam@dynamic@decode:optional_field( <<"background"/utf8>>, none, gleam@dynamic@decode:optional( gift_background_decoder( ) ), fun( Background ) -> gleam@dynamic@decode:optional_field( <<"unique_gift_variant_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Unique_gift_variant_count ) -> gleam@dynamic@decode:optional_field( <<"publisher_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder( ) ), fun( Publisher_chat ) -> gleam@dynamic@decode:success( {gift, Id, Sticker, Star_count, Upgrade_star_count, Is_premium, Has_colors, Total_count, Remaining_count, Personal_total_count, Personal_remaining_count, Background, Unique_gift_variant_count, Publisher_chat} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2590). -spec gift_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:gift_info()). gift_info_decoder() -> gleam@dynamic@decode:field( <<"gift"/utf8>>, gift_decoder(), fun(Gift) -> gleam@dynamic@decode:optional_field( <<"owned_gift_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Owned_gift_id) -> gleam@dynamic@decode:optional_field( <<"convert_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Convert_star_count) -> gleam@dynamic@decode:optional_field( <<"prepaid_upgrade_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Prepaid_upgrade_star_count) -> gleam@dynamic@decode:optional_field( <<"is_upgrade_separate"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_upgrade_separate) -> gleam@dynamic@decode:optional_field( <<"can_be_upgraded"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_be_upgraded) -> gleam@dynamic@decode:optional_field( <<"text"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Text) -> gleam@dynamic@decode:optional_field( <<"entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Entities) -> gleam@dynamic@decode:optional_field( <<"is_private"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_private ) -> gleam@dynamic@decode:optional_field( <<"unique_gift_number"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Unique_gift_number ) -> gleam@dynamic@decode:success( {gift_info, Gift, Owned_gift_id, Convert_star_count, Prepaid_upgrade_star_count, Is_upgrade_separate, Can_be_upgraded, Text, Entities, Is_private, Unique_gift_number} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8967). -spec unique_gift_colors_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:unique_gift_colors()). unique_gift_colors_decoder() -> gleam@dynamic@decode:field( <<"model_custom_emoji_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Model_custom_emoji_id) -> gleam@dynamic@decode:field( <<"symbol_custom_emoji_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Symbol_custom_emoji_id) -> gleam@dynamic@decode:field( <<"light_theme_main_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Light_theme_main_color) -> gleam@dynamic@decode:field( <<"light_theme_other_colors"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Light_theme_other_colors) -> gleam@dynamic@decode:field( <<"dark_theme_main_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Dark_theme_main_color) -> gleam@dynamic@decode:field( <<"dark_theme_other_colors"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Dark_theme_other_colors) -> gleam@dynamic@decode:success( {unique_gift_colors, Model_custom_emoji_id, Symbol_custom_emoji_id, Light_theme_main_color, Light_theme_other_colors, Dark_theme_main_color, Dark_theme_other_colors} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8952). -spec unique_gift_backdrop_colors_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:unique_gift_backdrop_colors()). unique_gift_backdrop_colors_decoder() -> gleam@dynamic@decode:field( <<"center_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Center_color) -> gleam@dynamic@decode:field( <<"edge_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Edge_color) -> gleam@dynamic@decode:field( <<"symbol_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Symbol_color) -> gleam@dynamic@decode:field( <<"text_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Text_color) -> gleam@dynamic@decode:success( {unique_gift_backdrop_colors, Center_color, Edge_color, Symbol_color, Text_color} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8941). -spec unique_gift_backdrop_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:unique_gift_backdrop()). unique_gift_backdrop_decoder() -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:field( <<"colors"/utf8>>, unique_gift_backdrop_colors_decoder(), fun(Colors) -> gleam@dynamic@decode:field( <<"rarity_per_mille"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Rarity_per_mille) -> gleam@dynamic@decode:success( {unique_gift_backdrop, Name, Colors, Rarity_per_mille} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9055). -spec unique_gift_symbol_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:unique_gift_symbol()). unique_gift_symbol_decoder() -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:field( <<"sticker"/utf8>>, sticker_decoder(), fun(Sticker) -> gleam@dynamic@decode:field( <<"rarity_per_mille"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Rarity_per_mille) -> gleam@dynamic@decode:success( {unique_gift_symbol, Name, Sticker, Rarity_per_mille} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9038). -spec unique_gift_model_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:unique_gift_model()). unique_gift_model_decoder() -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:field( <<"sticker"/utf8>>, sticker_decoder(), fun(Sticker) -> gleam@dynamic@decode:field( <<"rarity_per_mille"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Rarity_per_mille) -> gleam@dynamic@decode:optional_field( <<"rarity"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Rarity) -> gleam@dynamic@decode:success( {unique_gift_model, Name, Sticker, Rarity_per_mille, Rarity} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8892). -spec unique_gift_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:unique_gift()). unique_gift_decoder() -> gleam@dynamic@decode:field( <<"gift_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Gift_id) -> gleam@dynamic@decode:field( <<"base_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Base_name) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:field( <<"number"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Number) -> gleam@dynamic@decode:field( <<"model"/utf8>>, unique_gift_model_decoder(), fun(Model) -> gleam@dynamic@decode:field( <<"symbol"/utf8>>, unique_gift_symbol_decoder(), fun(Symbol) -> gleam@dynamic@decode:field( <<"backdrop"/utf8>>, unique_gift_backdrop_decoder( ), fun(Backdrop) -> gleam@dynamic@decode:optional_field( <<"is_premium"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_premium) -> gleam@dynamic@decode:optional_field( <<"is_burned"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_burned ) -> gleam@dynamic@decode:optional_field( <<"is_from_blockchain"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_from_blockchain ) -> gleam@dynamic@decode:optional_field( <<"colors"/utf8>>, none, gleam@dynamic@decode:optional( unique_gift_colors_decoder( ) ), fun( Colors ) -> gleam@dynamic@decode:optional_field( <<"publisher_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder( ) ), fun( Publisher_chat ) -> gleam@dynamic@decode:success( {unique_gift, Gift_id, Base_name, Name, Number, Model, Symbol, Backdrop, Is_premium, Is_burned, Is_from_blockchain, Colors, Publisher_chat} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8999). -spec unique_gift_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:unique_gift_info()). unique_gift_info_decoder() -> gleam@dynamic@decode:field( <<"gift"/utf8>>, unique_gift_decoder(), fun(Gift) -> gleam@dynamic@decode:field( <<"origin"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Origin) -> gleam@dynamic@decode:optional_field( <<"last_resale_currency"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_resale_currency) -> gleam@dynamic@decode:optional_field( <<"last_resale_amount"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Last_resale_amount) -> gleam@dynamic@decode:optional_field( <<"owned_gift_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Owned_gift_id) -> gleam@dynamic@decode:optional_field( <<"transfer_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Transfer_star_count) -> gleam@dynamic@decode:optional_field( <<"next_transfer_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Next_transfer_date) -> gleam@dynamic@decode:success( {unique_gift_info, Gift, Origin, Last_resale_currency, Last_resale_amount, Owned_gift_id, Transfer_star_count, Next_transfer_date} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1868). -spec chat_shared_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_shared()). chat_shared_decoder() -> gleam@dynamic@decode:field( <<"request_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Request_id) -> gleam@dynamic@decode:field( <<"chat_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Chat_id) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Username) -> gleam@dynamic@decode:optional_field( <<"photo"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( photo_size_decoder() ) ), fun(Photo) -> gleam@dynamic@decode:success( {chat_shared, Request_id, Chat_id, Title, Username, Photo} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8217). -spec shared_user_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:shared_user()). shared_user_decoder() -> gleam@dynamic@decode:field( <<"user_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(User_id) -> gleam@dynamic@decode:optional_field( <<"first_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(First_name) -> gleam@dynamic@decode:optional_field( <<"last_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_name) -> gleam@dynamic@decode:optional_field( <<"username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Username) -> gleam@dynamic@decode:optional_field( <<"photo"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( photo_size_decoder() ) ), fun(Photo) -> gleam@dynamic@decode:success( {shared_user, User_id, First_name, Last_name, Username, Photo} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9367). -spec users_shared_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:users_shared()). users_shared_decoder() -> gleam@dynamic@decode:field( <<"request_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Request_id) -> gleam@dynamic@decode:field( <<"users"/utf8>>, gleam@dynamic@decode:list(shared_user_decoder()), fun(Users) -> gleam@dynamic@decode:success( {users_shared, Request_id, Users} ) end ) end ). -file("src/telega/model/decoder.gleam", 7432). -spec refunded_payment_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:refunded_payment()). refunded_payment_decoder() -> gleam@dynamic@decode:field( <<"currency"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Currency) -> gleam@dynamic@decode:field( <<"total_amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_amount) -> gleam@dynamic@decode:field( <<"invoice_payload"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Invoice_payload) -> gleam@dynamic@decode:field( <<"telegram_payment_charge_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Telegram_payment_charge_id) -> gleam@dynamic@decode:optional_field( <<"provider_payment_charge_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Provider_payment_charge_id) -> gleam@dynamic@decode:success( {refunded_payment, Currency, Total_amount, Invoice_payload, Telegram_payment_charge_id, Provider_payment_charge_id} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8248). -spec shipping_address_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:shipping_address()). shipping_address_decoder() -> gleam@dynamic@decode:field( <<"country_code"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Country_code) -> gleam@dynamic@decode:field( <<"state"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(State) -> gleam@dynamic@decode:field( <<"city"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(City) -> gleam@dynamic@decode:field( <<"street_line1"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Street_line1) -> gleam@dynamic@decode:field( <<"street_line2"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Street_line2) -> gleam@dynamic@decode:field( <<"post_code"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Post_code) -> gleam@dynamic@decode:success( {shipping_address, Country_code, State, City, Street_line1, Street_line2, Post_code} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6651). -spec order_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:order_info()). order_info_decoder() -> gleam@dynamic@decode:optional_field( <<"name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Name) -> gleam@dynamic@decode:optional_field( <<"phone_number"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Phone_number) -> gleam@dynamic@decode:optional_field( <<"email"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Email) -> gleam@dynamic@decode:optional_field( <<"shipping_address"/utf8>>, none, gleam@dynamic@decode:optional( shipping_address_decoder() ), fun(Shipping_address) -> gleam@dynamic@decode:success( {order_info, Name, Phone_number, Email, Shipping_address} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8522). -spec successful_payment_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:successful_payment()). successful_payment_decoder() -> gleam@dynamic@decode:field( <<"currency"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Currency) -> gleam@dynamic@decode:field( <<"total_amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_amount) -> gleam@dynamic@decode:field( <<"invoice_payload"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Invoice_payload) -> gleam@dynamic@decode:optional_field( <<"subscription_expiration_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Subscription_expiration_date) -> gleam@dynamic@decode:optional_field( <<"is_recurring"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_recurring) -> gleam@dynamic@decode:optional_field( <<"is_first_recurring"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_first_recurring) -> gleam@dynamic@decode:optional_field( <<"shipping_option_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Shipping_option_id) -> gleam@dynamic@decode:optional_field( <<"order_info"/utf8>>, none, gleam@dynamic@decode:optional( order_info_decoder( ) ), fun(Order_info) -> gleam@dynamic@decode:field( <<"telegram_payment_charge_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun( Telegram_payment_charge_id ) -> gleam@dynamic@decode:field( <<"provider_payment_charge_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun( Provider_payment_charge_id ) -> gleam@dynamic@decode:success( {successful_payment, Currency, Total_amount, Invoice_payload, Subscription_expiration_date, Is_recurring, Is_first_recurring, Shipping_option_id, Order_info, Telegram_payment_charge_id, Provider_payment_charge_id} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5354). -spec invoice_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:invoice()). invoice_decoder() -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"description"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Description) -> gleam@dynamic@decode:field( <<"start_parameter"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Start_parameter) -> gleam@dynamic@decode:field( <<"currency"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Currency) -> gleam@dynamic@decode:field( <<"total_amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_amount) -> gleam@dynamic@decode:success( {invoice, Title, Description, Start_parameter, Currency, Total_amount} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6478). -spec message_auto_delete_timer_changed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_auto_delete_timer_changed()). message_auto_delete_timer_changed_decoder() -> gleam@dynamic@decode:field( <<"message_auto_delete_time"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_auto_delete_time) -> gleam@dynamic@decode:success( {message_auto_delete_timer_changed, Message_auto_delete_time} ) end ). -file("src/telega/model/decoder.gleam", 1737). -spec chat_owner_changed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_owner_changed()). chat_owner_changed_decoder() -> gleam@dynamic@decode:field( <<"new_owner"/utf8>>, user_decoder(), fun(New_owner) -> gleam@dynamic@decode:success({chat_owner_changed, New_owner}) end ). -file("src/telega/model/decoder.gleam", 1742). -spec chat_owner_left_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_owner_left()). chat_owner_left_decoder() -> gleam@dynamic@decode:optional_field( <<"new_owner"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(New_owner) -> gleam@dynamic@decode:success({chat_owner_left, New_owner}) end ). -file("src/telega/model/decoder.gleam", 9373). -spec venue_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:venue()). venue_decoder() -> gleam@dynamic@decode:field( <<"location"/utf8>>, location_decoder(), fun(Location) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"address"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Address) -> gleam@dynamic@decode:optional_field( <<"foursquare_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Foursquare_id) -> gleam@dynamic@decode:optional_field( <<"foursquare_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Foursquare_type) -> gleam@dynamic@decode:optional_field( <<"google_place_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Google_place_id) -> gleam@dynamic@decode:optional_field( <<"google_place_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Google_place_type) -> gleam@dynamic@decode:success( {venue, Location, Title, Address, Foursquare_id, Foursquare_type, Google_place_id, Google_place_type} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9511). -spec video_quality_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:video_quality()). video_quality_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:field( <<"codec"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Codec) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:success( {video_quality, File_id, File_unique_id, Width, Height, Codec, File_size} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9408). -spec video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:video()). video_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:field( <<"duration"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Duration) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( photo_size_decoder() ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"cover"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( photo_size_decoder( ) ) ), fun(Cover) -> gleam@dynamic@decode:optional_field( <<"start_timestamp"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Start_timestamp ) -> gleam@dynamic@decode:optional_field( <<"qualities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( video_quality_decoder( ) ) ), fun( Qualities ) -> gleam@dynamic@decode:optional_field( <<"file_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( File_name ) -> gleam@dynamic@decode:optional_field( <<"mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Mime_type ) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( File_size ) -> gleam@dynamic@decode:success( {video, File_id, File_unique_id, Width, Height, Duration, Thumbnail, Cover, Start_timestamp, Qualities, File_name, Mime_type, File_size} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5614). -spec live_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:live_photo()). live_photo_decoder() -> gleam@dynamic@decode:optional_field( <<"photo"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(photo_size_decoder()) ), fun(Photo) -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:field( <<"duration"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Duration) -> gleam@dynamic@decode:optional_field( <<"mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Mime_type) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:success( {live_photo, Photo, File_id, File_unique_id, Width, Height, Duration, Mime_type, File_size} ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5578). -spec link_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:link()). link_decoder() -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:success({link, Url}) end ). -file("src/telega/model/decoder.gleam", 7195). -spec poll_media_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:poll_media()). poll_media_decoder() -> gleam@dynamic@decode:optional_field( <<"animation"/utf8>>, none, gleam@dynamic@decode:optional(animation_decoder()), fun(Animation) -> gleam@dynamic@decode:optional_field( <<"audio"/utf8>>, none, gleam@dynamic@decode:optional(audio_decoder()), fun(Audio) -> gleam@dynamic@decode:optional_field( <<"document"/utf8>>, none, gleam@dynamic@decode:optional(document_decoder()), fun(Document) -> gleam@dynamic@decode:optional_field( <<"link"/utf8>>, none, gleam@dynamic@decode:optional(link_decoder()), fun(Link) -> gleam@dynamic@decode:optional_field( <<"live_photo"/utf8>>, none, gleam@dynamic@decode:optional( live_photo_decoder() ), fun(Live_photo) -> gleam@dynamic@decode:optional_field( <<"location"/utf8>>, none, gleam@dynamic@decode:optional( location_decoder() ), fun(Location) -> gleam@dynamic@decode:optional_field( <<"photo"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( photo_size_decoder( ) ) ), fun(Photo) -> gleam@dynamic@decode:optional_field( <<"sticker"/utf8>>, none, gleam@dynamic@decode:optional( sticker_decoder( ) ), fun(Sticker) -> gleam@dynamic@decode:optional_field( <<"venue"/utf8>>, none, gleam@dynamic@decode:optional( venue_decoder( ) ), fun( Venue ) -> gleam@dynamic@decode:optional_field( <<"video"/utf8>>, none, gleam@dynamic@decode:optional( video_decoder( ) ), fun( Video ) -> gleam@dynamic@decode:success( {poll_media, Animation, Audio, Document, Link, Live_photo, Location, Photo, Sticker, Venue, Video} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7260). -spec poll_option_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:poll_option()). poll_option_decoder() -> gleam@dynamic@decode:field( <<"persistent_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Persistent_id) -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"text_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Text_entities) -> gleam@dynamic@decode:optional_field( <<"media"/utf8>>, none, gleam@dynamic@decode:optional( poll_media_decoder() ), fun(Media) -> gleam@dynamic@decode:field( <<"voter_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Voter_count) -> gleam@dynamic@decode:optional_field( <<"added_by_user"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder() ), fun(Added_by_user) -> gleam@dynamic@decode:optional_field( <<"added_by_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder() ), fun(Added_by_chat) -> gleam@dynamic@decode:optional_field( <<"addition_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Addition_date ) -> gleam@dynamic@decode:success( {poll_option, Persistent_id, Text, Text_entities, Media, Voter_count, Added_by_user, Added_by_chat, Addition_date} ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7075). -spec poll_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:poll()). poll_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"question"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Question) -> gleam@dynamic@decode:optional_field( <<"question_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Question_entities) -> gleam@dynamic@decode:field( <<"options"/utf8>>, gleam@dynamic@decode:list(poll_option_decoder()), fun(Options) -> gleam@dynamic@decode:field( <<"total_voter_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_voter_count) -> gleam@dynamic@decode:field( <<"is_closed"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_closed) -> gleam@dynamic@decode:field( <<"is_anonymous"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_anonymous) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"allows_multiple_answers"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Allows_multiple_answers ) -> gleam@dynamic@decode:field( <<"allows_revoting"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Allows_revoting ) -> gleam@dynamic@decode:field( <<"members_only"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Members_only ) -> gleam@dynamic@decode:optional_field( <<"country_codes"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ), fun( Country_codes ) -> gleam@dynamic@decode:optional_field( <<"correct_option_ids"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ) ), fun( Correct_option_ids ) -> gleam@dynamic@decode:optional_field( <<"explanation"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Explanation ) -> gleam@dynamic@decode:optional_field( <<"explanation_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Explanation_entities ) -> gleam@dynamic@decode:optional_field( <<"explanation_media"/utf8>>, none, gleam@dynamic@decode:optional( poll_media_decoder( ) ), fun( Explanation_media ) -> gleam@dynamic@decode:optional_field( <<"open_period"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Open_period ) -> gleam@dynamic@decode:optional_field( <<"close_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Close_date ) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Description ) -> gleam@dynamic@decode:optional_field( <<"description_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Description_entities ) -> gleam@dynamic@decode:optional_field( <<"media"/utf8>>, none, gleam@dynamic@decode:optional( poll_media_decoder( ) ), fun( Media ) -> gleam@dynamic@decode:success( {poll, Id, Question, Question_entities, Options, Total_voter_count, Is_closed, Is_anonymous, Type_, Allows_multiple_answers, Allows_revoting, Members_only, Country_codes, Correct_option_ids, Explanation, Explanation_entities, Explanation_media, Open_period, Close_date, Description, Description_entities, Media} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2460). -spec game_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:game()). game_decoder() -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"description"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Description) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, gleam@dynamic@decode:list(photo_size_decoder()), fun(Photo) -> gleam@dynamic@decode:optional_field( <<"text"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Text) -> gleam@dynamic@decode:optional_field( <<"text_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Text_entities) -> gleam@dynamic@decode:optional_field( <<"animation"/utf8>>, none, gleam@dynamic@decode:optional( animation_decoder() ), fun(Animation) -> gleam@dynamic@decode:success( {game, Title, Description, Photo, Text, Text_entities, Animation} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2061). -spec dice_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:dice()). dice_decoder() -> gleam@dynamic@decode:field( <<"emoji"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Emoji) -> gleam@dynamic@decode:field( <<"value"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Value) -> gleam@dynamic@decode:success({dice, Emoji, Value}) end ) end ). -file("src/telega/model/decoder.gleam", 2029). -spec contact_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:contact()). contact_decoder() -> gleam@dynamic@decode:field( <<"phone_number"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Phone_number) -> gleam@dynamic@decode:field( <<"first_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(First_name) -> gleam@dynamic@decode:optional_field( <<"last_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_name) -> gleam@dynamic@decode:optional_field( <<"user_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(User_id) -> gleam@dynamic@decode:optional_field( <<"vcard"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Vcard) -> gleam@dynamic@decode:success( {contact, Phone_number, First_name, Last_name, User_id, Vcard} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1895). -spec checklist_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:checklist()). checklist_decoder() -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"title_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Title_entities) -> gleam@dynamic@decode:field( <<"tasks"/utf8>>, gleam@dynamic@decode:list(checklist_task_decoder()), fun(Tasks) -> gleam@dynamic@decode:optional_field( <<"others_can_add_tasks"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Others_can_add_tasks) -> gleam@dynamic@decode:optional_field( <<"others_can_mark_tasks_as_done"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Others_can_mark_tasks_as_done) -> gleam@dynamic@decode:success( {checklist, Title, Title_entities, Tasks, Others_can_add_tasks, Others_can_mark_tasks_as_done} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9532). -spec voice_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:voice()). voice_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"duration"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Duration) -> gleam@dynamic@decode:optional_field( <<"mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Mime_type) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:success( {voice, File_id, File_unique_id, Duration, Mime_type, File_size} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9486). -spec video_note_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:video_note()). video_note_decoder() -> gleam@dynamic@decode:field( <<"file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_id) -> gleam@dynamic@decode:field( <<"file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_unique_id) -> gleam@dynamic@decode:field( <<"length"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Length) -> gleam@dynamic@decode:field( <<"duration"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Duration) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( photo_size_decoder() ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"file_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(File_size) -> gleam@dynamic@decode:success( {video_note, File_id, File_unique_id, Length, Duration, Thumbnail, File_size} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8421). -spec story_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story()). story_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Id) -> gleam@dynamic@decode:success({story, Chat, Id}) end ) end ). -file("src/telega/model/decoder.gleam", 6876). -spec paid_media_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_media_video()). paid_media_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"video"/utf8>>, video_decoder(), fun(Video) -> gleam@dynamic@decode:success( {paid_media_video, Type_, Video} ) end ) end ). -file("src/telega/model/decoder.gleam", 6846). -spec paid_media_preview_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_media_preview()). paid_media_preview_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:optional_field( <<"width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Width) -> gleam@dynamic@decode:optional_field( <<"height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Height) -> gleam@dynamic@decode:optional_field( <<"duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Duration) -> gleam@dynamic@decode:success( {paid_media_preview, Type_, Width, Height, Duration} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6840). -spec paid_media_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_media_photo()). paid_media_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, gleam@dynamic@decode:list(photo_size_decoder()), fun(Photo) -> gleam@dynamic@decode:success( {paid_media_photo, Type_, Photo} ) end ) end ). -file("src/telega/model/decoder.gleam", 6834). -spec paid_media_live_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_media_live_photo()). paid_media_live_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"live_photo"/utf8>>, live_photo_decoder(), fun(Live_photo) -> gleam@dynamic@decode:success( {paid_media_live_photo, Type_, Live_photo} ) end ) end ). -file("src/telega/model/decoder.gleam", 10045). -spec paid_media_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_media()). paid_media_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"live_photo"/utf8>> -> gleam@dynamic@decode:then( paid_media_live_photo_decoder(), fun(Value) -> gleam@dynamic@decode:success( {paid_media_live_photo_paid_media, Value} ) end ); <<"photo"/utf8>> -> gleam@dynamic@decode:then( paid_media_photo_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {paid_media_photo_paid_media, Value@1} ) end ); <<"preview"/utf8>> -> gleam@dynamic@decode:then( paid_media_preview_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {paid_media_preview_paid_media, Value@2} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( paid_media_video_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {paid_media_video_paid_media, Value@3} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for PaidMedia"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"paid_media_decoder"/utf8>>, line => 10064}) end end ). -file("src/telega/model/decoder.gleam", 6825). -spec paid_media_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_media_info()). paid_media_info_decoder() -> gleam@dynamic@decode:field( <<"star_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Star_count) -> gleam@dynamic@decode:field( <<"paid_media"/utf8>>, gleam@dynamic@decode:list(paid_media_decoder()), fun(Paid_media) -> gleam@dynamic@decode:success( {paid_media_info, Star_count, Paid_media} ) end ) end ). -file("src/telega/model/decoder.gleam", 7994). -spec rich_text_anchor_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_anchor()). rich_text_anchor_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:success( {rich_text_anchor, Type_, Name} ) end ) end ). -file("src/telega/model/decoder.gleam", 8108). -spec rich_text_mathematical_expression_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_mathematical_expression()). rich_text_mathematical_expression_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"expression"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Expression) -> gleam@dynamic@decode:success( {rich_text_mathematical_expression, Type_, Expression} ) end ) end ). -file("src/telega/model/decoder.gleam", 8054). -spec rich_text_custom_emoji_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_custom_emoji()). rich_text_custom_emoji_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"custom_emoji_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Custom_emoji_id) -> gleam@dynamic@decode:field( <<"alternative_text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Alternative_text) -> gleam@dynamic@decode:success( {rich_text_custom_emoji, Type_, Custom_emoji_id, Alternative_text} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8144). -spec rich_text_reference_link_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_reference_link()). rich_text_reference_link_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"reference_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Reference_name) -> gleam@dynamic@decode:success( {rich_text_reference_link, Type_, Text, Reference_name} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8137). -spec rich_text_reference_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_reference()). rich_text_reference_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:success( {rich_text_reference, Type_, Text, Name} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8000). -spec rich_text_anchor_link_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_anchor_link()). rich_text_anchor_link_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"anchor_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Anchor_name) -> gleam@dynamic@decode:success( {rich_text_anchor_link, Type_, Text, Anchor_name} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8030). -spec rich_text_bot_command_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_bot_command()). rich_text_bot_command_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"bot_command"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Bot_command) -> gleam@dynamic@decode:success( {rich_text_bot_command, Type_, Text, Bot_command} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8041). -spec rich_text_cashtag_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_cashtag()). rich_text_cashtag_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"cashtag"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Cashtag) -> gleam@dynamic@decode:success( {rich_text_cashtag, Type_, Text, Cashtag} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8089). -spec rich_text_hashtag_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_hashtag()). rich_text_hashtag_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"hashtag"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Hashtag) -> gleam@dynamic@decode:success( {rich_text_hashtag, Type_, Text, Hashtag} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8119). -spec rich_text_mention_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_mention()). rich_text_mention_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"username"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Username) -> gleam@dynamic@decode:success( {rich_text_mention, Type_, Text, Username} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8011). -spec rich_text_bank_card_number_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_bank_card_number()). rich_text_bank_card_number_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"bank_card_number"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Bank_card_number) -> gleam@dynamic@decode:success( {rich_text_bank_card_number, Type_, Text, Bank_card_number} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8126). -spec rich_text_phone_number_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_phone_number()). rich_text_phone_number_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"phone_number"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Phone_number) -> gleam@dynamic@decode:success( {rich_text_phone_number, Type_, Text, Phone_number} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8078). -spec rich_text_email_address_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_email_address()). rich_text_email_address_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"email_address"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Email_address) -> gleam@dynamic@decode:success( {rich_text_email_address, Type_, Text, Email_address} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8196). -spec rich_text_url_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_url()). rich_text_url_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:success( {rich_text_url, Type_, Text, Url} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8048). -spec rich_text_code_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_code()). rich_text_code_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success({rich_text_code, Type_, Text}) end ) end ). -file("src/telega/model/decoder.gleam", 8102). -spec rich_text_marked_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_marked()). rich_text_marked_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_text_marked, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 8177). -spec rich_text_superscript_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_superscript()). rich_text_superscript_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_text_superscript, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 8171). -spec rich_text_subscript_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_subscript()). rich_text_subscript_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_text_subscript, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 8183). -spec rich_text_text_mention_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_text_mention()). rich_text_text_mention_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:success( {rich_text_text_mention, Type_, Text, User} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8065). -spec rich_text_date_time_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_date_time()). rich_text_date_time_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"unix_time"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Unix_time) -> gleam@dynamic@decode:field( <<"date_time_format"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Date_time_format) -> gleam@dynamic@decode:success( {rich_text_date_time, Type_, Text, Unix_time, Date_time_format} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8157). -spec rich_text_spoiler_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_spoiler()). rich_text_spoiler_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_text_spoiler, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 8163). -spec rich_text_strikethrough_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_strikethrough()). rich_text_strikethrough_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_text_strikethrough, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 8190). -spec rich_text_underline_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_underline()). rich_text_underline_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_text_underline, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 8096). -spec rich_text_italic_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_italic()). rich_text_italic_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_text_italic, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 8024). -spec rich_text_bold_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text_bold()). rich_text_bold_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success({rich_text_bold, Type_, Text}) end ) end ). -file("src/telega/model/decoder.gleam", 10389). -spec rich_text_object_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text()). rich_text_object_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"bold"/utf8>> -> gleam@dynamic@decode:then( rich_text_bold_decoder(), fun(Value) -> gleam@dynamic@decode:success( {rich_text_bold_rich_text, Value} ) end ); <<"italic"/utf8>> -> gleam@dynamic@decode:then( rich_text_italic_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {rich_text_italic_rich_text, Value@1} ) end ); <<"underline"/utf8>> -> gleam@dynamic@decode:then( rich_text_underline_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {rich_text_underline_rich_text, Value@2} ) end ); <<"strikethrough"/utf8>> -> gleam@dynamic@decode:then( rich_text_strikethrough_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {rich_text_strikethrough_rich_text, Value@3} ) end ); <<"spoiler"/utf8>> -> gleam@dynamic@decode:then( rich_text_spoiler_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {rich_text_spoiler_rich_text, Value@4} ) end ); <<"date_time"/utf8>> -> gleam@dynamic@decode:then( rich_text_date_time_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {rich_text_date_time_rich_text, Value@5} ) end ); <<"text_mention"/utf8>> -> gleam@dynamic@decode:then( rich_text_text_mention_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {rich_text_text_mention_rich_text, Value@6} ) end ); <<"subscript"/utf8>> -> gleam@dynamic@decode:then( rich_text_subscript_decoder(), fun(Value@7) -> gleam@dynamic@decode:success( {rich_text_subscript_rich_text, Value@7} ) end ); <<"superscript"/utf8>> -> gleam@dynamic@decode:then( rich_text_superscript_decoder(), fun(Value@8) -> gleam@dynamic@decode:success( {rich_text_superscript_rich_text, Value@8} ) end ); <<"marked"/utf8>> -> gleam@dynamic@decode:then( rich_text_marked_decoder(), fun(Value@9) -> gleam@dynamic@decode:success( {rich_text_marked_rich_text, Value@9} ) end ); <<"code"/utf8>> -> gleam@dynamic@decode:then( rich_text_code_decoder(), fun(Value@10) -> gleam@dynamic@decode:success( {rich_text_code_rich_text, Value@10} ) end ); <<"custom_emoji"/utf8>> -> gleam@dynamic@decode:then( rich_text_custom_emoji_decoder(), fun(Value@11) -> gleam@dynamic@decode:success( {rich_text_custom_emoji_rich_text, Value@11} ) end ); <<"mathematical_expression"/utf8>> -> gleam@dynamic@decode:then( rich_text_mathematical_expression_decoder(), fun(Value@12) -> gleam@dynamic@decode:success( {rich_text_mathematical_expression_rich_text, Value@12} ) end ); <<"url"/utf8>> -> gleam@dynamic@decode:then( rich_text_url_decoder(), fun(Value@13) -> gleam@dynamic@decode:success( {rich_text_url_rich_text, Value@13} ) end ); <<"email_address"/utf8>> -> gleam@dynamic@decode:then( rich_text_email_address_decoder(), fun(Value@14) -> gleam@dynamic@decode:success( {rich_text_email_address_rich_text, Value@14} ) end ); <<"phone_number"/utf8>> -> gleam@dynamic@decode:then( rich_text_phone_number_decoder(), fun(Value@15) -> gleam@dynamic@decode:success( {rich_text_phone_number_rich_text, Value@15} ) end ); <<"bank_card_number"/utf8>> -> gleam@dynamic@decode:then( rich_text_bank_card_number_decoder(), fun(Value@16) -> gleam@dynamic@decode:success( {rich_text_bank_card_number_rich_text, Value@16} ) end ); <<"mention"/utf8>> -> gleam@dynamic@decode:then( rich_text_mention_decoder(), fun(Value@17) -> gleam@dynamic@decode:success( {rich_text_mention_rich_text, Value@17} ) end ); <<"hashtag"/utf8>> -> gleam@dynamic@decode:then( rich_text_hashtag_decoder(), fun(Value@18) -> gleam@dynamic@decode:success( {rich_text_hashtag_rich_text, Value@18} ) end ); <<"cashtag"/utf8>> -> gleam@dynamic@decode:then( rich_text_cashtag_decoder(), fun(Value@19) -> gleam@dynamic@decode:success( {rich_text_cashtag_rich_text, Value@19} ) end ); <<"bot_command"/utf8>> -> gleam@dynamic@decode:then( rich_text_bot_command_decoder(), fun(Value@20) -> gleam@dynamic@decode:success( {rich_text_bot_command_rich_text, Value@20} ) end ); <<"anchor"/utf8>> -> gleam@dynamic@decode:then( rich_text_anchor_decoder(), fun(Value@21) -> gleam@dynamic@decode:success( {rich_text_anchor_rich_text, Value@21} ) end ); <<"anchor_link"/utf8>> -> gleam@dynamic@decode:then( rich_text_anchor_link_decoder(), fun(Value@22) -> gleam@dynamic@decode:success( {rich_text_anchor_link_rich_text, Value@22} ) end ); <<"reference"/utf8>> -> gleam@dynamic@decode:then( rich_text_reference_decoder(), fun(Value@23) -> gleam@dynamic@decode:success( {rich_text_reference_rich_text, Value@23} ) end ); <<"reference_link"/utf8>> -> gleam@dynamic@decode:then( rich_text_reference_link_decoder(), fun(Value@24) -> gleam@dynamic@decode:success( {rich_text_reference_link_rich_text, Value@24} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for RichText"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"rich_text_object_decoder"/utf8>>, line => 10492}) end end ). -file("src/telega/model/decoder.gleam", 10372). ?DOC( " Hand-written: the RichText union is recursive and mixes bare `String` and\n" " `Array of RichText` members with `type`-tagged records, so no discriminated\n" " decoder can be generated. `decode.recursive` breaks the construction cycle\n" " with the generated RichText* record decoders.\n" ). -spec rich_text_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_text()). rich_text_decoder() -> gleam@dynamic@decode:recursive( fun() -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Value) -> gleam@dynamic@decode:success( {string_rich_text, Value} ) end ) end, [begin gleam@dynamic@decode:then( gleam@dynamic@decode:list(rich_text_decoder()), fun(Value@1) -> gleam@dynamic@decode:success( {list_rich_text, Value@1} ) end ) end, rich_text_object_decoder()] ) end ). -file("src/telega/model/decoder.gleam", 7942). -spec rich_block_thinking_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_thinking()). rich_block_thinking_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_block_thinking, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 7671). -spec rich_block_caption_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_caption()). rich_block_caption_decoder() -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:optional_field( <<"credit"/utf8>>, none, gleam@dynamic@decode:optional(rich_text_decoder()), fun(Credit) -> gleam@dynamic@decode:success( {rich_block_caption, Text, Credit} ) end ) end ). -file("src/telega/model/decoder.gleam", 7969). -spec rich_block_voice_note_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_voice_note()). rich_block_voice_note_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"voice_note"/utf8>>, voice_decoder(), fun(Voice_note) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_voice_note, Type_, Voice_note, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7948). -spec rich_block_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_video()). rich_block_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"video"/utf8>>, video_decoder(), fun(Video) -> gleam@dynamic@decode:optional_field( <<"has_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_spoiler) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_video, Type_, Video, Has_spoiler, Caption} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7800). -spec rich_block_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_photo()). rich_block_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, gleam@dynamic@decode:list(photo_size_decoder()), fun(Photo) -> gleam@dynamic@decode:optional_field( <<"has_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_spoiler) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_photo, Type_, Photo, Has_spoiler, Caption} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7643). -spec rich_block_audio_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_audio()). rich_block_audio_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"audio"/utf8>>, audio_decoder(), fun(Audio) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_audio, Type_, Audio, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7622). -spec rich_block_animation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_animation()). rich_block_animation_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"animation"/utf8>>, animation_decoder(), fun(Animation) -> gleam@dynamic@decode:optional_field( <<"has_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_spoiler) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_animation, Type_, Animation, Has_spoiler, Caption} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7762). -spec rich_block_map_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_map()). rich_block_map_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"location"/utf8>>, location_decoder(), fun(Location) -> gleam@dynamic@decode:field( <<"zoom"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Zoom) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_map, Type_, Location, Zoom, Width, Height, Caption} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7909). -spec rich_block_table_cell_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_table_cell()). rich_block_table_cell_decoder() -> gleam@dynamic@decode:optional_field( <<"text"/utf8>>, none, gleam@dynamic@decode:optional(rich_text_decoder()), fun(Text) -> gleam@dynamic@decode:optional_field( <<"is_header"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_header) -> gleam@dynamic@decode:optional_field( <<"colspan"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Colspan) -> gleam@dynamic@decode:optional_field( <<"rowspan"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Rowspan) -> gleam@dynamic@decode:field( <<"align"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Align) -> gleam@dynamic@decode:field( <<"valign"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Valign) -> gleam@dynamic@decode:success( {rich_block_table_cell, Text, Is_header, Colspan, Rowspan, Align, Valign} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7879). -spec rich_block_table_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_table()). rich_block_table_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"cells"/utf8>>, gleam@dynamic@decode:list( gleam@dynamic@decode:list(rich_block_table_cell_decoder()) ), fun(Cells) -> gleam@dynamic@decode:optional_field( <<"is_bordered"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_bordered) -> gleam@dynamic@decode:optional_field( <<"is_striped"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_striped) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_text_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_table, Type_, Cells, Is_bordered, Is_striped, Caption} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7838). -spec rich_block_pull_quotation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_pull_quotation()). rich_block_pull_quotation_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:optional_field( <<"credit"/utf8>>, none, gleam@dynamic@decode:optional(rich_text_decoder()), fun(Credit) -> gleam@dynamic@decode:success( {rich_block_pull_quotation, Type_, Text, Credit} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7616). -spec rich_block_anchor_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_anchor()). rich_block_anchor_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:success( {rich_block_anchor, Type_, Name} ) end ) end ). -file("src/telega/model/decoder.gleam", 7783). -spec rich_block_mathematical_expression_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_mathematical_expression()). rich_block_mathematical_expression_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"expression"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Expression) -> gleam@dynamic@decode:success( {rich_block_mathematical_expression, Type_, Expression} ) end ) end ). -file("src/telega/model/decoder.gleam", 7713). -spec rich_block_divider_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_divider()). rich_block_divider_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success({rich_block_divider, Type_}) end ). -file("src/telega/model/decoder.gleam", 7718). -spec rich_block_footer_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_footer()). rich_block_footer_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_block_footer, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 7821). -spec rich_block_preformatted_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_preformatted()). rich_block_preformatted_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:optional_field( <<"language"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Language) -> gleam@dynamic@decode:success( {rich_block_preformatted, Type_, Text, Language} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7855). -spec rich_block_section_heading_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_section_heading()). rich_block_section_heading_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"size"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Size) -> gleam@dynamic@decode:success( {rich_block_section_heading, Type_, Text, Size} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7794). -spec rich_block_paragraph_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_paragraph()). rich_block_paragraph_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {rich_block_paragraph, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 7696). -spec rich_block_details_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_details()). rich_block_details_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"summary"/utf8>>, rich_text_decoder(), fun(Summary) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"is_open"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_open) -> gleam@dynamic@decode:success( {rich_block_details, Type_, Summary, Blocks, Is_open} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7864). -spec rich_block_slideshow_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_slideshow()). rich_block_slideshow_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_slideshow, Type_, Blocks, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7681). -spec rich_block_collage_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_collage()). rich_block_collage_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {rich_block_collage, Type_, Blocks, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7654). -spec rich_block_block_quotation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_block_quotation()). rich_block_block_quotation_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"credit"/utf8>>, none, gleam@dynamic@decode:optional(rich_text_decoder()), fun(Credit) -> gleam@dynamic@decode:success( {rich_block_block_quotation, Type_, Blocks, Credit} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7733). -spec rich_block_list_item_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_list_item()). rich_block_list_item_decoder() -> gleam@dynamic@decode:field( <<"label"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Label) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"has_checkbox"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_checkbox) -> gleam@dynamic@decode:optional_field( <<"is_checked"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_checked) -> gleam@dynamic@decode:optional_field( <<"value"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Value) -> gleam@dynamic@decode:optional_field( <<"type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Type_) -> gleam@dynamic@decode:success( {rich_block_list_item, Label, Blocks, Has_checkbox, Is_checked, Value, Type_} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7724). -spec rich_block_list_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block_list()). rich_block_list_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"items"/utf8>>, gleam@dynamic@decode:list(rich_block_list_item_decoder()), fun(Items) -> gleam@dynamic@decode:success( {rich_block_list, Type_, Items} ) end ) end ). -file("src/telega/model/decoder.gleam", 10161). -spec rich_block_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_block()). rich_block_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"paragraph"/utf8>> -> gleam@dynamic@decode:then( rich_block_paragraph_decoder(), fun(Value) -> gleam@dynamic@decode:success( {rich_block_paragraph_rich_block, Value} ) end ); <<"heading"/utf8>> -> gleam@dynamic@decode:then( rich_block_section_heading_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {rich_block_section_heading_rich_block, Value@1} ) end ); <<"pre"/utf8>> -> gleam@dynamic@decode:then( rich_block_preformatted_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {rich_block_preformatted_rich_block, Value@2} ) end ); <<"footer"/utf8>> -> gleam@dynamic@decode:then( rich_block_footer_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {rich_block_footer_rich_block, Value@3} ) end ); <<"divider"/utf8>> -> gleam@dynamic@decode:then( rich_block_divider_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {rich_block_divider_rich_block, Value@4} ) end ); <<"mathematical_expression"/utf8>> -> gleam@dynamic@decode:then( rich_block_mathematical_expression_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {rich_block_mathematical_expression_rich_block, Value@5} ) end ); <<"anchor"/utf8>> -> gleam@dynamic@decode:then( rich_block_anchor_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {rich_block_anchor_rich_block, Value@6} ) end ); <<"list"/utf8>> -> gleam@dynamic@decode:then( rich_block_list_decoder(), fun(Value@7) -> gleam@dynamic@decode:success( {rich_block_list_rich_block, Value@7} ) end ); <<"blockquote"/utf8>> -> gleam@dynamic@decode:then( rich_block_block_quotation_decoder(), fun(Value@8) -> gleam@dynamic@decode:success( {rich_block_block_quotation_rich_block, Value@8} ) end ); <<"pullquote"/utf8>> -> gleam@dynamic@decode:then( rich_block_pull_quotation_decoder(), fun(Value@9) -> gleam@dynamic@decode:success( {rich_block_pull_quotation_rich_block, Value@9} ) end ); <<"collage"/utf8>> -> gleam@dynamic@decode:then( rich_block_collage_decoder(), fun(Value@10) -> gleam@dynamic@decode:success( {rich_block_collage_rich_block, Value@10} ) end ); <<"slideshow"/utf8>> -> gleam@dynamic@decode:then( rich_block_slideshow_decoder(), fun(Value@11) -> gleam@dynamic@decode:success( {rich_block_slideshow_rich_block, Value@11} ) end ); <<"table"/utf8>> -> gleam@dynamic@decode:then( rich_block_table_decoder(), fun(Value@12) -> gleam@dynamic@decode:success( {rich_block_table_rich_block, Value@12} ) end ); <<"details"/utf8>> -> gleam@dynamic@decode:then( rich_block_details_decoder(), fun(Value@13) -> gleam@dynamic@decode:success( {rich_block_details_rich_block, Value@13} ) end ); <<"map"/utf8>> -> gleam@dynamic@decode:then( rich_block_map_decoder(), fun(Value@14) -> gleam@dynamic@decode:success( {rich_block_map_rich_block, Value@14} ) end ); <<"animation"/utf8>> -> gleam@dynamic@decode:then( rich_block_animation_decoder(), fun(Value@15) -> gleam@dynamic@decode:success( {rich_block_animation_rich_block, Value@15} ) end ); <<"audio"/utf8>> -> gleam@dynamic@decode:then( rich_block_audio_decoder(), fun(Value@16) -> gleam@dynamic@decode:success( {rich_block_audio_rich_block, Value@16} ) end ); <<"photo"/utf8>> -> gleam@dynamic@decode:then( rich_block_photo_decoder(), fun(Value@17) -> gleam@dynamic@decode:success( {rich_block_photo_rich_block, Value@17} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( rich_block_video_decoder(), fun(Value@18) -> gleam@dynamic@decode:success( {rich_block_video_rich_block, Value@18} ) end ); <<"voice_note"/utf8>> -> gleam@dynamic@decode:then( rich_block_voice_note_decoder(), fun(Value@19) -> gleam@dynamic@decode:success( {rich_block_voice_note_rich_block, Value@19} ) end ); <<"thinking"/utf8>> -> gleam@dynamic@decode:then( rich_block_thinking_decoder(), fun(Value@20) -> gleam@dynamic@decode:success( {rich_block_thinking_rich_block, Value@20} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for RichBlock"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"rich_block_decoder"/utf8>>, line => 10248}) end end ). -file("src/telega/model/decoder.gleam", 7984). -spec rich_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:rich_message()). rich_message_decoder() -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"is_rtl"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_rtl) -> gleam@dynamic@decode:success({rich_message, Blocks, Is_rtl}) end ) end ). -file("src/telega/model/decoder.gleam", 8628). -spec suggested_post_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_info()). suggested_post_info_decoder() -> gleam@dynamic@decode:field( <<"state"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(State) -> gleam@dynamic@decode:optional_field( <<"price"/utf8>>, none, gleam@dynamic@decode:optional(suggested_post_price_decoder()), fun(Price) -> gleam@dynamic@decode:optional_field( <<"send_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Send_date) -> gleam@dynamic@decode:success( {suggested_post_info, State, Price, Send_date} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5583). -spec link_preview_options_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:link_preview_options()). link_preview_options_decoder() -> gleam@dynamic@decode:optional_field( <<"is_disabled"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_disabled) -> gleam@dynamic@decode:optional_field( <<"url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Url) -> gleam@dynamic@decode:optional_field( <<"prefer_small_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Prefer_small_media) -> gleam@dynamic@decode:optional_field( <<"prefer_large_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Prefer_large_media) -> gleam@dynamic@decode:optional_field( <<"show_above_text"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Show_above_text) -> gleam@dynamic@decode:success( {link_preview_options, Is_disabled, Url, Prefer_small_media, Prefer_large_media, Show_above_text} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8746). -spec text_quote_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:text_quote()). text_quote_decoder() -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Entities) -> gleam@dynamic@decode:field( <<"position"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Position) -> gleam@dynamic@decode:optional_field( <<"is_manual"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_manual) -> gleam@dynamic@decode:success( {text_quote, Text, Entities, Position, Is_manual} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6538). -spec message_origin_channel_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_origin_channel()). message_origin_channel_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_id) -> gleam@dynamic@decode:optional_field( <<"author_signature"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Author_signature) -> gleam@dynamic@decode:success( {message_origin_channel, Type_, Date, Chat, Message_id, Author_signature} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6557). -spec message_origin_chat_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_origin_chat()). message_origin_chat_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"sender_chat"/utf8>>, chat_decoder(), fun(Sender_chat) -> gleam@dynamic@decode:optional_field( <<"author_signature"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Author_signature) -> gleam@dynamic@decode:success( {message_origin_chat, Type_, Date, Sender_chat, Author_signature} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6574). -spec message_origin_hidden_user_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_origin_hidden_user()). message_origin_hidden_user_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"sender_user_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Sender_user_name) -> gleam@dynamic@decode:success( {message_origin_hidden_user, Type_, Date, Sender_user_name} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6587). -spec message_origin_user_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_origin_user()). message_origin_user_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"sender_user"/utf8>>, user_decoder(), fun(Sender_user) -> gleam@dynamic@decode:success( {message_origin_user, Type_, Date, Sender_user} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 10007). -spec message_origin_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_origin()). message_origin_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"user"/utf8>> -> gleam@dynamic@decode:then( message_origin_user_decoder(), fun(Value) -> gleam@dynamic@decode:success( {message_origin_user_message_origin, Value} ) end ); <<"hidden_user"/utf8>> -> gleam@dynamic@decode:then( message_origin_hidden_user_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {message_origin_hidden_user_message_origin, Value@1} ) end ); <<"chat"/utf8>> -> gleam@dynamic@decode:then( message_origin_chat_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {message_origin_chat_message_origin, Value@2} ) end ); <<"channel"/utf8>> -> gleam@dynamic@decode:then( message_origin_channel_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {message_origin_channel_message_origin, Value@3} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for MessageOrigin"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"message_origin_decoder"/utf8>>, line => 10026}) end end ). -file("src/telega/model/decoder.gleam", 2194). -spec external_reply_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:external_reply_info()). external_reply_info_decoder() -> gleam@dynamic@decode:field( <<"origin"/utf8>>, message_origin_decoder(), fun(Origin) -> gleam@dynamic@decode:optional_field( <<"chat"/utf8>>, none, gleam@dynamic@decode:optional(chat_decoder()), fun(Chat) -> gleam@dynamic@decode:optional_field( <<"message_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Message_id) -> gleam@dynamic@decode:optional_field( <<"link_preview_options"/utf8>>, none, gleam@dynamic@decode:optional( link_preview_options_decoder() ), fun(Link_preview_options) -> gleam@dynamic@decode:optional_field( <<"animation"/utf8>>, none, gleam@dynamic@decode:optional( animation_decoder() ), fun(Animation) -> gleam@dynamic@decode:optional_field( <<"audio"/utf8>>, none, gleam@dynamic@decode:optional( audio_decoder() ), fun(Audio) -> gleam@dynamic@decode:optional_field( <<"document"/utf8>>, none, gleam@dynamic@decode:optional( document_decoder() ), fun(Document) -> gleam@dynamic@decode:optional_field( <<"live_photo"/utf8>>, none, gleam@dynamic@decode:optional( live_photo_decoder( ) ), fun(Live_photo) -> gleam@dynamic@decode:optional_field( <<"paid_media"/utf8>>, none, gleam@dynamic@decode:optional( paid_media_info_decoder( ) ), fun( Paid_media ) -> gleam@dynamic@decode:optional_field( <<"photo"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( photo_size_decoder( ) ) ), fun( Photo ) -> gleam@dynamic@decode:optional_field( <<"sticker"/utf8>>, none, gleam@dynamic@decode:optional( sticker_decoder( ) ), fun( Sticker ) -> gleam@dynamic@decode:optional_field( <<"story"/utf8>>, none, gleam@dynamic@decode:optional( story_decoder( ) ), fun( Story ) -> gleam@dynamic@decode:optional_field( <<"video"/utf8>>, none, gleam@dynamic@decode:optional( video_decoder( ) ), fun( Video ) -> gleam@dynamic@decode:optional_field( <<"video_note"/utf8>>, none, gleam@dynamic@decode:optional( video_note_decoder( ) ), fun( Video_note ) -> gleam@dynamic@decode:optional_field( <<"voice"/utf8>>, none, gleam@dynamic@decode:optional( voice_decoder( ) ), fun( Voice ) -> gleam@dynamic@decode:optional_field( <<"has_media_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_media_spoiler ) -> gleam@dynamic@decode:optional_field( <<"checklist"/utf8>>, none, gleam@dynamic@decode:optional( checklist_decoder( ) ), fun( Checklist ) -> gleam@dynamic@decode:optional_field( <<"contact"/utf8>>, none, gleam@dynamic@decode:optional( contact_decoder( ) ), fun( Contact ) -> gleam@dynamic@decode:optional_field( <<"dice"/utf8>>, none, gleam@dynamic@decode:optional( dice_decoder( ) ), fun( Dice ) -> gleam@dynamic@decode:optional_field( <<"game"/utf8>>, none, gleam@dynamic@decode:optional( game_decoder( ) ), fun( Game ) -> gleam@dynamic@decode:optional_field( <<"giveaway"/utf8>>, none, gleam@dynamic@decode:optional( giveaway_decoder( ) ), fun( Giveaway ) -> gleam@dynamic@decode:optional_field( <<"giveaway_winners"/utf8>>, none, gleam@dynamic@decode:optional( giveaway_winners_decoder( ) ), fun( Giveaway_winners ) -> gleam@dynamic@decode:optional_field( <<"invoice"/utf8>>, none, gleam@dynamic@decode:optional( invoice_decoder( ) ), fun( Invoice ) -> gleam@dynamic@decode:optional_field( <<"location"/utf8>>, none, gleam@dynamic@decode:optional( location_decoder( ) ), fun( Location ) -> gleam@dynamic@decode:optional_field( <<"poll"/utf8>>, none, gleam@dynamic@decode:optional( poll_decoder( ) ), fun( Poll ) -> gleam@dynamic@decode:optional_field( <<"venue"/utf8>>, none, gleam@dynamic@decode:optional( venue_decoder( ) ), fun( Venue ) -> gleam@dynamic@decode:success( {external_reply_info, Origin, Chat, Message_id, Link_preview_options, Animation, Audio, Document, Live_photo, Paid_media, Photo, Sticker, Story, Video, Video_note, Voice, Has_media_spoiler, Checklist, Contact, Dice, Game, Giveaway, Giveaway_winners, Invoice, Location, Poll, Venue} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2085). -spec direct_messages_topic_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:direct_messages_topic()). direct_messages_topic_decoder() -> gleam@dynamic@decode:field( <<"topic_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Topic_id) -> gleam@dynamic@decode:optional_field( <<"user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(User) -> gleam@dynamic@decode:success( {direct_messages_topic, Topic_id, User} ) end ) end ). -file("src/telega/model/decoder.gleam", 8694). -spec suggested_post_refunded_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_refunded()). suggested_post_refunded_decoder() -> gleam@dynamic@decode:optional_field( <<"suggested_post_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Suggested_post_message) -> gleam@dynamic@decode:field( <<"reason"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Reason) -> gleam@dynamic@decode:success( {suggested_post_refunded, Suggested_post_message, Reason} ) end ) end ). -file("src/telega/model/decoder.gleam", 8647). -spec suggested_post_paid_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_paid()). suggested_post_paid_decoder() -> gleam@dynamic@decode:optional_field( <<"suggested_post_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Suggested_post_message) -> gleam@dynamic@decode:field( <<"currency"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Currency) -> gleam@dynamic@decode:optional_field( <<"amount"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Amount) -> gleam@dynamic@decode:optional_field( <<"star_amount"/utf8>>, none, gleam@dynamic@decode:optional( star_amount_decoder() ), fun(Star_amount) -> gleam@dynamic@decode:success( {suggested_post_paid, Suggested_post_message, Currency, Amount, Star_amount} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8609). -spec suggested_post_declined_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_declined()). suggested_post_declined_decoder() -> gleam@dynamic@decode:optional_field( <<"suggested_post_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Suggested_post_message) -> gleam@dynamic@decode:optional_field( <<"comment"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Comment) -> gleam@dynamic@decode:success( {suggested_post_declined, Suggested_post_message, Comment} ) end ) end ). -file("src/telega/model/decoder.gleam", 8573). -spec suggested_post_approval_failed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_approval_failed()). suggested_post_approval_failed_decoder() -> gleam@dynamic@decode:optional_field( <<"suggested_post_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Suggested_post_message) -> gleam@dynamic@decode:field( <<"price"/utf8>>, suggested_post_price_decoder(), fun(Price) -> gleam@dynamic@decode:success( {suggested_post_approval_failed, Suggested_post_message, Price} ) end ) end ). -file("src/telega/model/decoder.gleam", 8588). -spec suggested_post_approved_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_approved()). suggested_post_approved_decoder() -> gleam@dynamic@decode:optional_field( <<"suggested_post_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Suggested_post_message) -> gleam@dynamic@decode:optional_field( <<"price"/utf8>>, none, gleam@dynamic@decode:optional(suggested_post_price_decoder()), fun(Price) -> gleam@dynamic@decode:field( <<"send_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Send_date) -> gleam@dynamic@decode:success( {suggested_post_approved, Suggested_post_message, Price, Send_date} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7325). -spec poll_option_deleted_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:poll_option_deleted()). poll_option_deleted_decoder() -> gleam@dynamic@decode:optional_field( <<"poll_message"/utf8>>, none, gleam@dynamic@decode:optional(maybe_inaccessible_message_decoder()), fun(Poll_message) -> gleam@dynamic@decode:field( <<"option_persistent_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Option_persistent_id) -> gleam@dynamic@decode:field( <<"option_text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Option_text) -> gleam@dynamic@decode:optional_field( <<"option_text_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Option_text_entities) -> gleam@dynamic@decode:success( {poll_option_deleted, Poll_message, Option_persistent_id, Option_text, Option_text_entities} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7301). -spec poll_option_added_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:poll_option_added()). poll_option_added_decoder() -> gleam@dynamic@decode:optional_field( <<"poll_message"/utf8>>, none, gleam@dynamic@decode:optional(maybe_inaccessible_message_decoder()), fun(Poll_message) -> gleam@dynamic@decode:field( <<"option_persistent_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Option_persistent_id) -> gleam@dynamic@decode:field( <<"option_text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Option_text) -> gleam@dynamic@decode:optional_field( <<"option_text_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Option_text_entities) -> gleam@dynamic@decode:success( {poll_option_added, Poll_message, Option_persistent_id, Option_text, Option_text_entities} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2706). -spec giveaway_completed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:giveaway_completed()). giveaway_completed_decoder() -> gleam@dynamic@decode:field( <<"winner_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Winner_count) -> gleam@dynamic@decode:optional_field( <<"unclaimed_prize_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Unclaimed_prize_count) -> gleam@dynamic@decode:optional_field( <<"giveaway_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Giveaway_message) -> gleam@dynamic@decode:optional_field( <<"is_star_giveaway"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_star_giveaway) -> gleam@dynamic@decode:success( {giveaway_completed, Winner_count, Unclaimed_prize_count, Giveaway_message, Is_star_giveaway} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1955). -spec checklist_tasks_added_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:checklist_tasks_added()). checklist_tasks_added_decoder() -> gleam@dynamic@decode:optional_field( <<"checklist_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Checklist_message) -> gleam@dynamic@decode:field( <<"tasks"/utf8>>, gleam@dynamic@decode:list(checklist_task_decoder()), fun(Tasks) -> gleam@dynamic@decode:success( {checklist_tasks_added, Checklist_message, Tasks} ) end ) end ). -file("src/telega/model/decoder.gleam", 1968). -spec checklist_tasks_done_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:checklist_tasks_done()). checklist_tasks_done_decoder() -> gleam@dynamic@decode:optional_field( <<"checklist_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Checklist_message) -> gleam@dynamic@decode:optional_field( <<"marked_as_done_task_ids"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ) ), fun(Marked_as_done_task_ids) -> gleam@dynamic@decode:optional_field( <<"marked_as_not_done_task_ids"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ) ), fun(Marked_as_not_done_task_ids) -> gleam@dynamic@decode:success( {checklist_tasks_done, Checklist_message, Marked_as_done_task_ids, Marked_as_not_done_task_ids} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5771). -spec message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message()). message_decoder() -> gleam@dynamic@decode:field( <<"message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_id) -> gleam@dynamic@decode:optional_field( <<"message_thread_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Message_thread_id) -> gleam@dynamic@decode:optional_field( <<"direct_messages_topic"/utf8>>, none, gleam@dynamic@decode:optional( direct_messages_topic_decoder() ), fun(Direct_messages_topic) -> gleam@dynamic@decode:optional_field( <<"from"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(From) -> gleam@dynamic@decode:optional_field( <<"sender_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder() ), fun(Sender_chat) -> gleam@dynamic@decode:optional_field( <<"sender_boost_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Sender_boost_count) -> gleam@dynamic@decode:optional_field( <<"sender_business_bot"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder() ), fun(Sender_business_bot) -> gleam@dynamic@decode:optional_field( <<"sender_tag"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Sender_tag) -> gleam@dynamic@decode:optional_field( <<"receiver_user"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder( ) ), fun( Receiver_user ) -> gleam@dynamic@decode:optional_field( <<"ephemeral_message_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Ephemeral_message_id ) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun( Date ) -> gleam@dynamic@decode:optional_field( <<"guest_query_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Guest_query_id ) -> gleam@dynamic@decode:optional_field( <<"business_connection_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Business_connection_id ) -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder( ), fun( Chat ) -> gleam@dynamic@decode:optional_field( <<"forward_origin"/utf8>>, none, gleam@dynamic@decode:optional( message_origin_decoder( ) ), fun( Forward_origin ) -> gleam@dynamic@decode:optional_field( <<"is_topic_message"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_topic_message ) -> gleam@dynamic@decode:optional_field( <<"is_automatic_forward"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_automatic_forward ) -> gleam@dynamic@decode:optional_field( <<"reply_to_message"/utf8>>, none, gleam@dynamic@decode:optional( message_decoder( ) ), fun( Reply_to_message ) -> gleam@dynamic@decode:optional_field( <<"external_reply"/utf8>>, none, gleam@dynamic@decode:optional( external_reply_info_decoder( ) ), fun( External_reply ) -> gleam@dynamic@decode:optional_field( <<"quote"/utf8>>, none, gleam@dynamic@decode:optional( text_quote_decoder( ) ), fun( Quote ) -> gleam@dynamic@decode:optional_field( <<"reply_to_story"/utf8>>, none, gleam@dynamic@decode:optional( story_decoder( ) ), fun( Reply_to_story ) -> gleam@dynamic@decode:optional_field( <<"reply_to_checklist_task_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Reply_to_checklist_task_id ) -> gleam@dynamic@decode:optional_field( <<"reply_to_poll_option_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Reply_to_poll_option_id ) -> gleam@dynamic@decode:optional_field( <<"via_bot"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder( ) ), fun( Via_bot ) -> gleam@dynamic@decode:optional_field( <<"guest_bot_caller_user"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder( ) ), fun( Guest_bot_caller_user ) -> gleam@dynamic@decode:optional_field( <<"guest_bot_caller_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder( ) ), fun( Guest_bot_caller_chat ) -> gleam@dynamic@decode:optional_field( <<"edit_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Edit_date ) -> gleam@dynamic@decode:optional_field( <<"has_protected_content"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_protected_content ) -> gleam@dynamic@decode:optional_field( <<"is_from_offline"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_from_offline ) -> gleam@dynamic@decode:optional_field( <<"is_paid_post"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_paid_post ) -> gleam@dynamic@decode:optional_field( <<"media_group_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Media_group_id ) -> gleam@dynamic@decode:optional_field( <<"author_signature"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Author_signature ) -> gleam@dynamic@decode:optional_field( <<"paid_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Paid_star_count ) -> gleam@dynamic@decode:optional_field( <<"text"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Text ) -> gleam@dynamic@decode:optional_field( <<"entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Entities ) -> gleam@dynamic@decode:optional_field( <<"link_preview_options"/utf8>>, none, gleam@dynamic@decode:optional( link_preview_options_decoder( ) ), fun( Link_preview_options ) -> gleam@dynamic@decode:optional_field( <<"suggested_post_info"/utf8>>, none, gleam@dynamic@decode:optional( suggested_post_info_decoder( ) ), fun( Suggested_post_info ) -> gleam@dynamic@decode:optional_field( <<"effect_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Effect_id ) -> gleam@dynamic@decode:optional_field( <<"rich_message"/utf8>>, none, gleam@dynamic@decode:optional( rich_message_decoder( ) ), fun( Rich_message ) -> gleam@dynamic@decode:optional_field( <<"animation"/utf8>>, none, gleam@dynamic@decode:optional( animation_decoder( ) ), fun( Animation ) -> gleam@dynamic@decode:optional_field( <<"audio"/utf8>>, none, gleam@dynamic@decode:optional( audio_decoder( ) ), fun( Audio ) -> gleam@dynamic@decode:optional_field( <<"document"/utf8>>, none, gleam@dynamic@decode:optional( document_decoder( ) ), fun( Document ) -> gleam@dynamic@decode:optional_field( <<"live_photo"/utf8>>, none, gleam@dynamic@decode:optional( live_photo_decoder( ) ), fun( Live_photo ) -> gleam@dynamic@decode:optional_field( <<"paid_media"/utf8>>, none, gleam@dynamic@decode:optional( paid_media_info_decoder( ) ), fun( Paid_media ) -> gleam@dynamic@decode:optional_field( <<"photo"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( photo_size_decoder( ) ) ), fun( Photo ) -> gleam@dynamic@decode:optional_field( <<"sticker"/utf8>>, none, gleam@dynamic@decode:optional( sticker_decoder( ) ), fun( Sticker ) -> gleam@dynamic@decode:optional_field( <<"story"/utf8>>, none, gleam@dynamic@decode:optional( story_decoder( ) ), fun( Story ) -> gleam@dynamic@decode:optional_field( <<"video"/utf8>>, none, gleam@dynamic@decode:optional( video_decoder( ) ), fun( Video ) -> gleam@dynamic@decode:optional_field( <<"video_note"/utf8>>, none, gleam@dynamic@decode:optional( video_note_decoder( ) ), fun( Video_note ) -> gleam@dynamic@decode:optional_field( <<"voice"/utf8>>, none, gleam@dynamic@decode:optional( voice_decoder( ) ), fun( Voice ) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Caption ) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"has_media_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_media_spoiler ) -> gleam@dynamic@decode:optional_field( <<"checklist"/utf8>>, none, gleam@dynamic@decode:optional( checklist_decoder( ) ), fun( Checklist ) -> gleam@dynamic@decode:optional_field( <<"contact"/utf8>>, none, gleam@dynamic@decode:optional( contact_decoder( ) ), fun( Contact ) -> gleam@dynamic@decode:optional_field( <<"dice"/utf8>>, none, gleam@dynamic@decode:optional( dice_decoder( ) ), fun( Dice ) -> gleam@dynamic@decode:optional_field( <<"game"/utf8>>, none, gleam@dynamic@decode:optional( game_decoder( ) ), fun( Game ) -> gleam@dynamic@decode:optional_field( <<"poll"/utf8>>, none, gleam@dynamic@decode:optional( poll_decoder( ) ), fun( Poll ) -> gleam@dynamic@decode:optional_field( <<"venue"/utf8>>, none, gleam@dynamic@decode:optional( venue_decoder( ) ), fun( Venue ) -> gleam@dynamic@decode:optional_field( <<"location"/utf8>>, none, gleam@dynamic@decode:optional( location_decoder( ) ), fun( Location ) -> gleam@dynamic@decode:optional_field( <<"new_chat_members"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( user_decoder( ) ) ), fun( New_chat_members ) -> gleam@dynamic@decode:optional_field( <<"left_chat_member"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder( ) ), fun( Left_chat_member ) -> gleam@dynamic@decode:optional_field( <<"chat_owner_left"/utf8>>, none, gleam@dynamic@decode:optional( chat_owner_left_decoder( ) ), fun( Chat_owner_left ) -> gleam@dynamic@decode:optional_field( <<"chat_owner_changed"/utf8>>, none, gleam@dynamic@decode:optional( chat_owner_changed_decoder( ) ), fun( Chat_owner_changed ) -> gleam@dynamic@decode:optional_field( <<"new_chat_title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( New_chat_title ) -> gleam@dynamic@decode:optional_field( <<"new_chat_photo"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( photo_size_decoder( ) ) ), fun( New_chat_photo ) -> gleam@dynamic@decode:optional_field( <<"delete_chat_photo"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Delete_chat_photo ) -> gleam@dynamic@decode:optional_field( <<"group_chat_created"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Group_chat_created ) -> gleam@dynamic@decode:optional_field( <<"supergroup_chat_created"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Supergroup_chat_created ) -> gleam@dynamic@decode:optional_field( <<"channel_chat_created"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Channel_chat_created ) -> gleam@dynamic@decode:optional_field( <<"message_auto_delete_timer_changed"/utf8>>, none, gleam@dynamic@decode:optional( message_auto_delete_timer_changed_decoder( ) ), fun( Message_auto_delete_timer_changed ) -> gleam@dynamic@decode:optional_field( <<"migrate_to_chat_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Migrate_to_chat_id ) -> gleam@dynamic@decode:optional_field( <<"migrate_from_chat_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Migrate_from_chat_id ) -> gleam@dynamic@decode:optional_field( <<"pinned_message"/utf8>>, none, gleam@dynamic@decode:optional( maybe_inaccessible_message_decoder( ) ), fun( Pinned_message ) -> gleam@dynamic@decode:optional_field( <<"invoice"/utf8>>, none, gleam@dynamic@decode:optional( invoice_decoder( ) ), fun( Invoice ) -> gleam@dynamic@decode:optional_field( <<"successful_payment"/utf8>>, none, gleam@dynamic@decode:optional( successful_payment_decoder( ) ), fun( Successful_payment ) -> gleam@dynamic@decode:optional_field( <<"refunded_payment"/utf8>>, none, gleam@dynamic@decode:optional( refunded_payment_decoder( ) ), fun( Refunded_payment ) -> gleam@dynamic@decode:optional_field( <<"users_shared"/utf8>>, none, gleam@dynamic@decode:optional( users_shared_decoder( ) ), fun( Users_shared ) -> gleam@dynamic@decode:optional_field( <<"chat_shared"/utf8>>, none, gleam@dynamic@decode:optional( chat_shared_decoder( ) ), fun( Chat_shared ) -> gleam@dynamic@decode:optional_field( <<"gift"/utf8>>, none, gleam@dynamic@decode:optional( gift_info_decoder( ) ), fun( Gift ) -> gleam@dynamic@decode:optional_field( <<"unique_gift"/utf8>>, none, gleam@dynamic@decode:optional( unique_gift_info_decoder( ) ), fun( Unique_gift ) -> gleam@dynamic@decode:optional_field( <<"gift_upgrade_sent"/utf8>>, none, gleam@dynamic@decode:optional( gift_info_decoder( ) ), fun( Gift_upgrade_sent ) -> gleam@dynamic@decode:optional_field( <<"connected_website"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Connected_website ) -> gleam@dynamic@decode:optional_field( <<"write_access_allowed"/utf8>>, none, gleam@dynamic@decode:optional( write_access_allowed_decoder( ) ), fun( Write_access_allowed ) -> gleam@dynamic@decode:optional_field( <<"passport_data"/utf8>>, none, gleam@dynamic@decode:optional( passport_data_decoder( ) ), fun( Passport_data ) -> gleam@dynamic@decode:optional_field( <<"proximity_alert_triggered"/utf8>>, none, gleam@dynamic@decode:optional( proximity_alert_triggered_decoder( ) ), fun( Proximity_alert_triggered ) -> gleam@dynamic@decode:optional_field( <<"boost_added"/utf8>>, none, gleam@dynamic@decode:optional( chat_boost_added_decoder( ) ), fun( Boost_added ) -> gleam@dynamic@decode:optional_field( <<"chat_background_set"/utf8>>, none, gleam@dynamic@decode:optional( chat_background_decoder( ) ), fun( Chat_background_set ) -> gleam@dynamic@decode:optional_field( <<"checklist_tasks_done"/utf8>>, none, gleam@dynamic@decode:optional( checklist_tasks_done_decoder( ) ), fun( Checklist_tasks_done ) -> gleam@dynamic@decode:optional_field( <<"checklist_tasks_added"/utf8>>, none, gleam@dynamic@decode:optional( checklist_tasks_added_decoder( ) ), fun( Checklist_tasks_added ) -> gleam@dynamic@decode:optional_field( <<"community_chat_added"/utf8>>, none, gleam@dynamic@decode:optional( community_chat_added_decoder( ) ), fun( Community_chat_added ) -> gleam@dynamic@decode:optional_field( <<"community_chat_removed"/utf8>>, none, gleam@dynamic@decode:optional( community_chat_removed_decoder( ) ), fun( Community_chat_removed ) -> gleam@dynamic@decode:optional_field( <<"direct_message_price_changed"/utf8>>, none, gleam@dynamic@decode:optional( direct_message_price_changed_decoder( ) ), fun( Direct_message_price_changed ) -> gleam@dynamic@decode:optional_field( <<"forum_topic_created"/utf8>>, none, gleam@dynamic@decode:optional( forum_topic_created_decoder( ) ), fun( Forum_topic_created ) -> gleam@dynamic@decode:optional_field( <<"forum_topic_edited"/utf8>>, none, gleam@dynamic@decode:optional( forum_topic_edited_decoder( ) ), fun( Forum_topic_edited ) -> gleam@dynamic@decode:optional_field( <<"forum_topic_closed"/utf8>>, none, gleam@dynamic@decode:optional( forum_topic_closed_decoder( ) ), fun( Forum_topic_closed ) -> gleam@dynamic@decode:optional_field( <<"forum_topic_reopened"/utf8>>, none, gleam@dynamic@decode:optional( forum_topic_reopened_decoder( ) ), fun( Forum_topic_reopened ) -> gleam@dynamic@decode:optional_field( <<"general_forum_topic_hidden"/utf8>>, none, gleam@dynamic@decode:optional( general_forum_topic_hidden_decoder( ) ), fun( General_forum_topic_hidden ) -> gleam@dynamic@decode:optional_field( <<"general_forum_topic_unhidden"/utf8>>, none, gleam@dynamic@decode:optional( general_forum_topic_unhidden_decoder( ) ), fun( General_forum_topic_unhidden ) -> gleam@dynamic@decode:optional_field( <<"giveaway_created"/utf8>>, none, gleam@dynamic@decode:optional( giveaway_created_decoder( ) ), fun( Giveaway_created ) -> gleam@dynamic@decode:optional_field( <<"giveaway"/utf8>>, none, gleam@dynamic@decode:optional( giveaway_decoder( ) ), fun( Giveaway ) -> gleam@dynamic@decode:optional_field( <<"giveaway_winners"/utf8>>, none, gleam@dynamic@decode:optional( giveaway_winners_decoder( ) ), fun( Giveaway_winners ) -> gleam@dynamic@decode:optional_field( <<"giveaway_completed"/utf8>>, none, gleam@dynamic@decode:optional( giveaway_completed_decoder( ) ), fun( Giveaway_completed ) -> gleam@dynamic@decode:optional_field( <<"managed_bot_created"/utf8>>, none, gleam@dynamic@decode:optional( managed_bot_created_decoder( ) ), fun( Managed_bot_created ) -> gleam@dynamic@decode:optional_field( <<"paid_message_price_changed"/utf8>>, none, gleam@dynamic@decode:optional( paid_message_price_changed_decoder( ) ), fun( Paid_message_price_changed ) -> gleam@dynamic@decode:optional_field( <<"poll_option_added"/utf8>>, none, gleam@dynamic@decode:optional( poll_option_added_decoder( ) ), fun( Poll_option_added ) -> gleam@dynamic@decode:optional_field( <<"poll_option_deleted"/utf8>>, none, gleam@dynamic@decode:optional( poll_option_deleted_decoder( ) ), fun( Poll_option_deleted ) -> gleam@dynamic@decode:optional_field( <<"suggested_post_approved"/utf8>>, none, gleam@dynamic@decode:optional( suggested_post_approved_decoder( ) ), fun( Suggested_post_approved ) -> gleam@dynamic@decode:optional_field( <<"suggested_post_approval_failed"/utf8>>, none, gleam@dynamic@decode:optional( suggested_post_approval_failed_decoder( ) ), fun( Suggested_post_approval_failed ) -> gleam@dynamic@decode:optional_field( <<"suggested_post_declined"/utf8>>, none, gleam@dynamic@decode:optional( suggested_post_declined_decoder( ) ), fun( Suggested_post_declined ) -> gleam@dynamic@decode:optional_field( <<"suggested_post_paid"/utf8>>, none, gleam@dynamic@decode:optional( suggested_post_paid_decoder( ) ), fun( Suggested_post_paid ) -> gleam@dynamic@decode:optional_field( <<"suggested_post_refunded"/utf8>>, none, gleam@dynamic@decode:optional( suggested_post_refunded_decoder( ) ), fun( Suggested_post_refunded ) -> gleam@dynamic@decode:optional_field( <<"video_chat_scheduled"/utf8>>, none, gleam@dynamic@decode:optional( video_chat_scheduled_decoder( ) ), fun( Video_chat_scheduled ) -> gleam@dynamic@decode:optional_field( <<"video_chat_started"/utf8>>, none, gleam@dynamic@decode:optional( video_chat_started_decoder( ) ), fun( Video_chat_started ) -> gleam@dynamic@decode:optional_field( <<"video_chat_ended"/utf8>>, none, gleam@dynamic@decode:optional( video_chat_ended_decoder( ) ), fun( Video_chat_ended ) -> gleam@dynamic@decode:optional_field( <<"video_chat_participants_invited"/utf8>>, none, gleam@dynamic@decode:optional( video_chat_participants_invited_decoder( ) ), fun( Video_chat_participants_invited ) -> gleam@dynamic@decode:optional_field( <<"web_app_data"/utf8>>, none, gleam@dynamic@decode:optional( web_app_data_decoder( ) ), fun( Web_app_data ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:success( {message, Message_id, Message_thread_id, Direct_messages_topic, From, Sender_chat, Sender_boost_count, Sender_business_bot, Sender_tag, Receiver_user, Ephemeral_message_id, Date, Guest_query_id, Business_connection_id, Chat, Forward_origin, Is_topic_message, Is_automatic_forward, Reply_to_message, External_reply, Quote, Reply_to_story, Reply_to_checklist_task_id, Reply_to_poll_option_id, Via_bot, Guest_bot_caller_user, Guest_bot_caller_chat, Edit_date, Has_protected_content, Is_from_offline, Is_paid_post, Media_group_id, Author_signature, Paid_star_count, Text, Entities, Link_preview_options, Suggested_post_info, Effect_id, Rich_message, Animation, Audio, Document, Live_photo, Paid_media, Photo, Sticker, Story, Video, Video_note, Voice, Caption, Caption_entities, Show_caption_above_media, Has_media_spoiler, Checklist, Contact, Dice, Game, Poll, Venue, Location, New_chat_members, Left_chat_member, Chat_owner_left, Chat_owner_changed, New_chat_title, New_chat_photo, Delete_chat_photo, Group_chat_created, Supergroup_chat_created, Channel_chat_created, Message_auto_delete_timer_changed, Migrate_to_chat_id, Migrate_from_chat_id, Pinned_message, Invoice, Successful_payment, Refunded_payment, Users_shared, Chat_shared, Gift, Unique_gift, Gift_upgrade_sent, Connected_website, Write_access_allowed, Passport_data, Proximity_alert_triggered, Boost_added, Chat_background_set, Checklist_tasks_done, Checklist_tasks_added, Community_chat_added, Community_chat_removed, Direct_message_price_changed, Forum_topic_created, Forum_topic_edited, Forum_topic_closed, Forum_topic_reopened, General_forum_topic_hidden, General_forum_topic_unhidden, Giveaway_created, Giveaway, Giveaway_winners, Giveaway_completed, Managed_bot_created, Paid_message_price_changed, Poll_option_added, Poll_option_deleted, Suggested_post_approved, Suggested_post_approval_failed, Suggested_post_declined, Suggested_post_paid, Suggested_post_refunded, Video_chat_scheduled, Video_chat_started, Video_chat_ended, Video_chat_participants_invited, Web_app_data, Reply_markup} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 10496). -spec maybe_inaccessible_message_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:maybe_inaccessible_message()). maybe_inaccessible_message_message_decoder() -> gleam@dynamic@decode:then( message_decoder(), fun(Message) -> gleam@dynamic@decode:success( {message_maybe_inaccessible_message, Message} ) end ). -file("src/telega/model/decoder.gleam", 10506). -spec maybe_inaccessible_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:maybe_inaccessible_message()). maybe_inaccessible_message_decoder() -> gleam@dynamic@decode:one_of( maybe_inaccessible_message_message_decoder(), [maybe_inaccessible_message_inaccessible_message_decoder()] ). -file("src/telega/model/decoder.gleam", 896). -spec callback_query_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:callback_query()). callback_query_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:optional_field( <<"message"/utf8>>, none, gleam@dynamic@decode:optional( maybe_inaccessible_message_decoder() ), fun(Message) -> gleam@dynamic@decode:optional_field( <<"inline_message_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Inline_message_id) -> gleam@dynamic@decode:field( <<"chat_instance"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Chat_instance) -> gleam@dynamic@decode:optional_field( <<"data"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Data) -> gleam@dynamic@decode:optional_field( <<"game_short_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Game_short_name) -> gleam@dynamic@decode:success( {callback_query, Id, From, Message, Inline_message_id, Chat_instance, Data, Game_short_name} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 976). -spec chat_administrator_rights_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_administrator_rights()). chat_administrator_rights_decoder() -> gleam@dynamic@decode:field( <<"is_anonymous"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_anonymous) -> gleam@dynamic@decode:field( <<"can_manage_chat"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_manage_chat) -> gleam@dynamic@decode:field( <<"can_delete_messages"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_delete_messages) -> gleam@dynamic@decode:field( <<"can_manage_video_chats"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_manage_video_chats) -> gleam@dynamic@decode:field( <<"can_restrict_members"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_restrict_members) -> gleam@dynamic@decode:field( <<"can_promote_members"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_promote_members) -> gleam@dynamic@decode:field( <<"can_change_info"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_change_info) -> gleam@dynamic@decode:field( <<"can_invite_users"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_invite_users ) -> gleam@dynamic@decode:field( <<"can_post_stories"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_post_stories ) -> gleam@dynamic@decode:field( <<"can_edit_stories"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_edit_stories ) -> gleam@dynamic@decode:field( <<"can_delete_stories"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_delete_stories ) -> gleam@dynamic@decode:optional_field( <<"can_post_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_post_messages ) -> gleam@dynamic@decode:optional_field( <<"can_edit_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_edit_messages ) -> gleam@dynamic@decode:optional_field( <<"can_pin_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_pin_messages ) -> gleam@dynamic@decode:optional_field( <<"can_manage_topics"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_topics ) -> gleam@dynamic@decode:optional_field( <<"can_manage_direct_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_direct_messages ) -> gleam@dynamic@decode:optional_field( <<"can_manage_tags"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_tags ) -> gleam@dynamic@decode:success( {chat_administrator_rights, Is_anonymous, Can_manage_chat, Can_delete_messages, Can_manage_video_chats, Can_restrict_members, Can_promote_members, Can_change_info, Can_invite_users, Can_post_stories, Can_edit_stories, Can_delete_stories, Can_post_messages, Can_edit_messages, Can_pin_messages, Can_manage_topics, Can_manage_direct_messages, Can_manage_tags} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1088). -spec chat_boost_source_giveaway_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost_source_giveaway()). chat_boost_source_giveaway_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"giveaway_message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Giveaway_message_id) -> gleam@dynamic@decode:optional_field( <<"user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(User) -> gleam@dynamic@decode:optional_field( <<"prize_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Prize_star_count) -> gleam@dynamic@decode:optional_field( <<"is_unclaimed"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_unclaimed) -> gleam@dynamic@decode:success( {chat_boost_source_giveaway, Source, Giveaway_message_id, User, Prize_star_count, Is_unclaimed} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1080). -spec chat_boost_source_gift_code_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost_source_gift_code()). chat_boost_source_gift_code_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:success( {chat_boost_source_gift_code, Source, User} ) end ) end ). -file("src/telega/model/decoder.gleam", 1117). -spec chat_boost_source_premium_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost_source_premium()). chat_boost_source_premium_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:success( {chat_boost_source_premium, Source, User} ) end ) end ). -file("src/telega/model/decoder.gleam", 9718). -spec chat_boost_source_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost_source()). chat_boost_source_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"premium"/utf8>> -> gleam@dynamic@decode:then( chat_boost_source_premium_decoder(), fun(Value) -> gleam@dynamic@decode:success( {chat_boost_source_premium_chat_boost_source, Value} ) end ); <<"gift_code"/utf8>> -> gleam@dynamic@decode:then( chat_boost_source_gift_code_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {chat_boost_source_gift_code_chat_boost_source, Value@1} ) end ); <<"giveaway"/utf8>> -> gleam@dynamic@decode:then( chat_boost_source_giveaway_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {chat_boost_source_giveaway_chat_boost_source, Value@2} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for ChatBoostSource"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"chat_boost_source_decoder"/utf8>>, line => 9733}) end end ). -file("src/telega/model/decoder.gleam", 1049). -spec chat_boost_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost()). chat_boost_decoder() -> gleam@dynamic@decode:field( <<"boost_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Boost_id) -> gleam@dynamic@decode:field( <<"add_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Add_date) -> gleam@dynamic@decode:field( <<"expiration_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Expiration_date) -> gleam@dynamic@decode:field( <<"source"/utf8>>, chat_boost_source_decoder(), fun(Source) -> gleam@dynamic@decode:success( {chat_boost, Boost_id, Add_date, Expiration_date, Source} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1067). -spec chat_boost_removed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost_removed()). chat_boost_removed_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"boost_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Boost_id) -> gleam@dynamic@decode:field( <<"remove_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Remove_date) -> gleam@dynamic@decode:field( <<"source"/utf8>>, chat_boost_source_decoder(), fun(Source) -> gleam@dynamic@decode:success( {chat_boost_removed, Chat, Boost_id, Remove_date, Source} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1125). -spec chat_boost_updated_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_boost_updated()). chat_boost_updated_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"boost"/utf8>>, chat_boost_decoder(), fun(Boost) -> gleam@dynamic@decode:success( {chat_boost_updated, Chat, Boost} ) end ) end ). -file("src/telega/model/decoder.gleam", 9350). -spec user_rating_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:user_rating()). user_rating_decoder() -> gleam@dynamic@decode:field( <<"level"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Level) -> gleam@dynamic@decode:field( <<"rating"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Rating) -> gleam@dynamic@decode:field( <<"current_level_rating"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Current_level_rating) -> gleam@dynamic@decode:optional_field( <<"next_level_rating"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Next_level_rating) -> gleam@dynamic@decode:success( {user_rating, Level, Rating, Current_level_rating, Next_level_rating} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1511). -spec chat_location_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_location()). chat_location_decoder() -> gleam@dynamic@decode:field( <<"location"/utf8>>, location_decoder(), fun(Location) -> gleam@dynamic@decode:field( <<"address"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Address) -> gleam@dynamic@decode:success( {chat_location, Location, Address} ) end ) end ). -file("src/telega/model/decoder.gleam", 1751). -spec chat_permissions_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_permissions()). chat_permissions_decoder() -> gleam@dynamic@decode:optional_field( <<"can_send_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_send_messages) -> gleam@dynamic@decode:optional_field( <<"can_send_audios"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_send_audios) -> gleam@dynamic@decode:optional_field( <<"can_send_documents"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_send_documents) -> gleam@dynamic@decode:optional_field( <<"can_send_photos"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_send_photos) -> gleam@dynamic@decode:optional_field( <<"can_send_videos"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_send_videos) -> gleam@dynamic@decode:optional_field( <<"can_send_video_notes"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_send_video_notes) -> gleam@dynamic@decode:optional_field( <<"can_send_voice_notes"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_send_voice_notes ) -> gleam@dynamic@decode:optional_field( <<"can_send_polls"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_send_polls ) -> gleam@dynamic@decode:optional_field( <<"can_send_other_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_send_other_messages ) -> gleam@dynamic@decode:optional_field( <<"can_add_web_page_previews"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_add_web_page_previews ) -> gleam@dynamic@decode:optional_field( <<"can_react_to_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_react_to_messages ) -> gleam@dynamic@decode:optional_field( <<"can_edit_tag"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_edit_tag ) -> gleam@dynamic@decode:optional_field( <<"can_change_info"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_change_info ) -> gleam@dynamic@decode:optional_field( <<"can_invite_users"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_invite_users ) -> gleam@dynamic@decode:optional_field( <<"can_pin_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_pin_messages ) -> gleam@dynamic@decode:optional_field( <<"can_manage_topics"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_topics ) -> gleam@dynamic@decode:success( {chat_permissions, Can_send_messages, Can_send_audios, Can_send_documents, Can_send_photos, Can_send_videos, Can_send_video_notes, Can_send_voice_notes, Can_send_polls, Can_send_other_messages, Can_add_web_page_previews, Can_react_to_messages, Can_edit_tag, Can_change_info, Can_invite_users, Can_pin_messages, Can_manage_topics} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7427). -spec reaction_type_paid_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reaction_type_paid()). reaction_type_paid_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success({reaction_type_paid, Type_}) end ). -file("src/telega/model/decoder.gleam", 7410). -spec reaction_type_custom_emoji_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reaction_type_custom_emoji()). reaction_type_custom_emoji_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"custom_emoji_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Custom_emoji_id) -> gleam@dynamic@decode:success( {reaction_type_custom_emoji, Type_, Custom_emoji_id} ) end ) end ). -file("src/telega/model/decoder.gleam", 7421). -spec reaction_type_emoji_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reaction_type_emoji()). reaction_type_emoji_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"emoji"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Emoji) -> gleam@dynamic@decode:success( {reaction_type_emoji, Type_, Emoji} ) end ) end ). -file("src/telega/model/decoder.gleam", 10119). -spec reaction_type_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reaction_type()). reaction_type_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"emoji"/utf8>> -> gleam@dynamic@decode:then( reaction_type_emoji_decoder(), fun(Value) -> gleam@dynamic@decode:success( {reaction_type_emoji_reaction_type, Value} ) end ); <<"custom_emoji"/utf8>> -> gleam@dynamic@decode:then( reaction_type_custom_emoji_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {reaction_type_custom_emoji_reaction_type, Value@1} ) end ); <<"paid"/utf8>> -> gleam@dynamic@decode:then( reaction_type_paid_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {reaction_type_paid_reaction_type, Value@2} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for ReactionType"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"reaction_type_decoder"/utf8>>, line => 10134}) end end ). -file("src/telega/model/decoder.gleam", 1852). -spec chat_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_photo()). chat_photo_decoder() -> gleam@dynamic@decode:field( <<"small_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Small_file_id) -> gleam@dynamic@decode:field( <<"small_file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Small_file_unique_id) -> gleam@dynamic@decode:field( <<"big_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Big_file_id) -> gleam@dynamic@decode:field( <<"big_file_unique_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Big_file_unique_id) -> gleam@dynamic@decode:success( {chat_photo, Small_file_id, Small_file_unique_id, Big_file_id, Big_file_unique_id} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1131). -spec chat_full_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_full_info()). chat_full_info_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Id) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Username) -> gleam@dynamic@decode:optional_field( <<"first_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(First_name) -> gleam@dynamic@decode:optional_field( <<"last_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_name) -> gleam@dynamic@decode:optional_field( <<"is_forum"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_forum) -> gleam@dynamic@decode:optional_field( <<"is_direct_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_direct_messages ) -> gleam@dynamic@decode:field( <<"accent_color_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun( Accent_color_id ) -> gleam@dynamic@decode:field( <<"max_reaction_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun( Max_reaction_count ) -> gleam@dynamic@decode:optional_field( <<"photo"/utf8>>, none, gleam@dynamic@decode:optional( chat_photo_decoder( ) ), fun( Photo ) -> gleam@dynamic@decode:optional_field( <<"active_usernames"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ), fun( Active_usernames ) -> gleam@dynamic@decode:optional_field( <<"birthdate"/utf8>>, none, gleam@dynamic@decode:optional( birthdate_decoder( ) ), fun( Birthdate ) -> gleam@dynamic@decode:optional_field( <<"business_intro"/utf8>>, none, gleam@dynamic@decode:optional( business_intro_decoder( ) ), fun( Business_intro ) -> gleam@dynamic@decode:optional_field( <<"business_location"/utf8>>, none, gleam@dynamic@decode:optional( business_location_decoder( ) ), fun( Business_location ) -> gleam@dynamic@decode:optional_field( <<"business_opening_hours"/utf8>>, none, gleam@dynamic@decode:optional( business_opening_hours_decoder( ) ), fun( Business_opening_hours ) -> gleam@dynamic@decode:optional_field( <<"personal_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder( ) ), fun( Personal_chat ) -> gleam@dynamic@decode:optional_field( <<"parent_chat"/utf8>>, none, gleam@dynamic@decode:optional( chat_decoder( ) ), fun( Parent_chat ) -> gleam@dynamic@decode:optional_field( <<"available_reactions"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( reaction_type_decoder( ) ) ), fun( Available_reactions ) -> gleam@dynamic@decode:optional_field( <<"background_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Background_custom_emoji_id ) -> gleam@dynamic@decode:optional_field( <<"profile_accent_color_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Profile_accent_color_id ) -> gleam@dynamic@decode:optional_field( <<"profile_background_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Profile_background_custom_emoji_id ) -> gleam@dynamic@decode:optional_field( <<"emoji_status_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Emoji_status_custom_emoji_id ) -> gleam@dynamic@decode:optional_field( <<"emoji_status_expiration_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Emoji_status_expiration_date ) -> gleam@dynamic@decode:optional_field( <<"bio"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Bio ) -> gleam@dynamic@decode:optional_field( <<"has_private_forwards"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_private_forwards ) -> gleam@dynamic@decode:optional_field( <<"has_restricted_voice_and_video_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_restricted_voice_and_video_messages ) -> gleam@dynamic@decode:optional_field( <<"join_to_send_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Join_to_send_messages ) -> gleam@dynamic@decode:optional_field( <<"join_by_request"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Join_by_request ) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Description ) -> gleam@dynamic@decode:optional_field( <<"invite_link"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Invite_link ) -> gleam@dynamic@decode:optional_field( <<"pinned_message"/utf8>>, none, gleam@dynamic@decode:optional( message_decoder( ) ), fun( Pinned_message ) -> gleam@dynamic@decode:optional_field( <<"permissions"/utf8>>, none, gleam@dynamic@decode:optional( chat_permissions_decoder( ) ), fun( Permissions ) -> gleam@dynamic@decode:field( <<"accepted_gift_types"/utf8>>, accepted_gift_types_decoder( ), fun( Accepted_gift_types ) -> gleam@dynamic@decode:optional_field( <<"can_send_paid_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_send_paid_media ) -> gleam@dynamic@decode:optional_field( <<"slow_mode_delay"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Slow_mode_delay ) -> gleam@dynamic@decode:optional_field( <<"unrestrict_boost_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Unrestrict_boost_count ) -> gleam@dynamic@decode:optional_field( <<"message_auto_delete_time"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Message_auto_delete_time ) -> gleam@dynamic@decode:optional_field( <<"has_aggressive_anti_spam_enabled"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_aggressive_anti_spam_enabled ) -> gleam@dynamic@decode:optional_field( <<"has_hidden_members"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_hidden_members ) -> gleam@dynamic@decode:optional_field( <<"has_protected_content"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_protected_content ) -> gleam@dynamic@decode:optional_field( <<"has_visible_history"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_visible_history ) -> gleam@dynamic@decode:optional_field( <<"sticker_set_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Sticker_set_name ) -> gleam@dynamic@decode:optional_field( <<"can_set_sticker_set"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_set_sticker_set ) -> gleam@dynamic@decode:optional_field( <<"custom_emoji_sticker_set_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Custom_emoji_sticker_set_name ) -> gleam@dynamic@decode:optional_field( <<"linked_chat_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Linked_chat_id ) -> gleam@dynamic@decode:optional_field( <<"location"/utf8>>, none, gleam@dynamic@decode:optional( chat_location_decoder( ) ), fun( Location ) -> gleam@dynamic@decode:optional_field( <<"rating"/utf8>>, none, gleam@dynamic@decode:optional( user_rating_decoder( ) ), fun( Rating ) -> gleam@dynamic@decode:optional_field( <<"first_profile_audio"/utf8>>, none, gleam@dynamic@decode:optional( audio_decoder( ) ), fun( First_profile_audio ) -> gleam@dynamic@decode:optional_field( <<"unique_gift_colors"/utf8>>, none, gleam@dynamic@decode:optional( unique_gift_colors_decoder( ) ), fun( Unique_gift_colors ) -> gleam@dynamic@decode:optional_field( <<"paid_message_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Paid_message_star_count ) -> gleam@dynamic@decode:optional_field( <<"guard_bot"/utf8>>, none, gleam@dynamic@decode:optional( user_decoder( ) ), fun( Guard_bot ) -> gleam@dynamic@decode:optional_field( <<"community"/utf8>>, none, gleam@dynamic@decode:optional( community_decoder( ) ), fun( Community ) -> gleam@dynamic@decode:success( {chat_full_info, Id, Type_, Title, Username, First_name, Last_name, Is_forum, Is_direct_messages, Accent_color_id, Max_reaction_count, Photo, Active_usernames, Birthdate, Business_intro, Business_location, Business_opening_hours, Personal_chat, Parent_chat, Available_reactions, Background_custom_emoji_id, Profile_accent_color_id, Profile_background_custom_emoji_id, Emoji_status_custom_emoji_id, Emoji_status_expiration_date, Bio, Has_private_forwards, Has_restricted_voice_and_video_messages, Join_to_send_messages, Join_by_request, Description, Invite_link, Pinned_message, Permissions, Accepted_gift_types, Can_send_paid_media, Slow_mode_delay, Unrestrict_boost_count, Message_auto_delete_time, Has_aggressive_anti_spam_enabled, Has_hidden_members, Has_protected_content, Has_visible_history, Sticker_set_name, Can_set_sticker_set, Custom_emoji_sticker_set_name, Linked_chat_id, Location, Rating, First_profile_audio, Unique_gift_colors, Paid_message_star_count, Guard_bot, Community} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1433). -spec chat_invite_link_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_invite_link()). chat_invite_link_decoder() -> gleam@dynamic@decode:field( <<"invite_link"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Invite_link) -> gleam@dynamic@decode:field( <<"creator"/utf8>>, user_decoder(), fun(Creator) -> gleam@dynamic@decode:field( <<"creates_join_request"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Creates_join_request) -> gleam@dynamic@decode:field( <<"is_primary"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_primary) -> gleam@dynamic@decode:field( <<"is_revoked"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_revoked) -> gleam@dynamic@decode:optional_field( <<"name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Name) -> gleam@dynamic@decode:optional_field( <<"expire_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Expire_date) -> gleam@dynamic@decode:optional_field( <<"member_limit"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Member_limit ) -> gleam@dynamic@decode:optional_field( <<"pending_join_request_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Pending_join_request_count ) -> gleam@dynamic@decode:optional_field( <<"subscription_period"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Subscription_period ) -> gleam@dynamic@decode:optional_field( <<"subscription_price"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Subscription_price ) -> gleam@dynamic@decode:success( {chat_invite_link, Invite_link, Creator, Creates_join_request, Is_primary, Is_revoked, Name, Expire_date, Member_limit, Pending_join_request_count, Subscription_period, Subscription_price} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1484). -spec chat_join_request_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_join_request()). chat_join_request_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:field( <<"user_chat_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(User_chat_id) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:optional_field( <<"bio"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Bio) -> gleam@dynamic@decode:optional_field( <<"invite_link"/utf8>>, none, gleam@dynamic@decode:optional( chat_invite_link_decoder() ), fun(Invite_link) -> gleam@dynamic@decode:optional_field( <<"query_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Query_id) -> gleam@dynamic@decode:success( {chat_join_request, Chat, From, User_chat_id, Date, Bio, Invite_link, Query_id} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1517). -spec chat_member_administrator_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member_administrator()). chat_member_administrator_decoder() -> gleam@dynamic@decode:field( <<"status"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"can_be_edited"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_be_edited) -> gleam@dynamic@decode:field( <<"is_anonymous"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_anonymous) -> gleam@dynamic@decode:field( <<"can_manage_chat"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_manage_chat) -> gleam@dynamic@decode:field( <<"can_delete_messages"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_delete_messages) -> gleam@dynamic@decode:field( <<"can_manage_video_chats"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_manage_video_chats ) -> gleam@dynamic@decode:field( <<"can_restrict_members"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_restrict_members ) -> gleam@dynamic@decode:field( <<"can_promote_members"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_promote_members ) -> gleam@dynamic@decode:field( <<"can_change_info"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_change_info ) -> gleam@dynamic@decode:field( <<"can_invite_users"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_invite_users ) -> gleam@dynamic@decode:field( <<"can_post_stories"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_post_stories ) -> gleam@dynamic@decode:field( <<"can_edit_stories"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_edit_stories ) -> gleam@dynamic@decode:field( <<"can_delete_stories"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_delete_stories ) -> gleam@dynamic@decode:optional_field( <<"can_post_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_post_messages ) -> gleam@dynamic@decode:optional_field( <<"can_edit_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_edit_messages ) -> gleam@dynamic@decode:optional_field( <<"can_pin_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_pin_messages ) -> gleam@dynamic@decode:optional_field( <<"can_manage_topics"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_topics ) -> gleam@dynamic@decode:optional_field( <<"can_manage_direct_messages"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_direct_messages ) -> gleam@dynamic@decode:optional_field( <<"can_manage_tags"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_manage_tags ) -> gleam@dynamic@decode:optional_field( <<"custom_title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Custom_title ) -> gleam@dynamic@decode:success( {chat_member_administrator, Status, User, Can_be_edited, Is_anonymous, Can_manage_chat, Can_delete_messages, Can_manage_video_chats, Can_restrict_members, Can_promote_members, Can_change_info, Can_invite_users, Can_post_stories, Can_edit_stories, Can_delete_stories, Can_post_messages, Can_edit_messages, Can_pin_messages, Can_manage_topics, Can_manage_direct_messages, Can_manage_tags, Custom_title} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1597). -spec chat_member_banned_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member_banned()). chat_member_banned_decoder() -> gleam@dynamic@decode:field( <<"status"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"until_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Until_date) -> gleam@dynamic@decode:success( {chat_member_banned, Status, User, Until_date} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1608). -spec chat_member_left_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member_left()). chat_member_left_decoder() -> gleam@dynamic@decode:field( <<"status"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:success( {chat_member_left, Status, User} ) end ) end ). -file("src/telega/model/decoder.gleam", 1614). -spec chat_member_member_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member_member()). chat_member_member_decoder() -> gleam@dynamic@decode:field( <<"status"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:optional_field( <<"tag"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Tag) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:optional_field( <<"until_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Until_date) -> gleam@dynamic@decode:success( {chat_member_member, Status, Tag, User, Until_date} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1631). -spec chat_member_owner_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member_owner()). chat_member_owner_decoder() -> gleam@dynamic@decode:field( <<"status"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"is_anonymous"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_anonymous) -> gleam@dynamic@decode:optional_field( <<"custom_title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Custom_title) -> gleam@dynamic@decode:success( {chat_member_owner, Status, User, Is_anonymous, Custom_title} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1648). -spec chat_member_restricted_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member_restricted()). chat_member_restricted_decoder() -> gleam@dynamic@decode:field( <<"status"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:optional_field( <<"tag"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Tag) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"is_member"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Is_member) -> gleam@dynamic@decode:field( <<"can_send_messages"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_send_messages) -> gleam@dynamic@decode:field( <<"can_send_audios"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_send_audios) -> gleam@dynamic@decode:field( <<"can_send_documents"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Can_send_documents) -> gleam@dynamic@decode:field( <<"can_send_photos"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_send_photos ) -> gleam@dynamic@decode:field( <<"can_send_videos"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_send_videos ) -> gleam@dynamic@decode:field( <<"can_send_video_notes"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_send_video_notes ) -> gleam@dynamic@decode:field( <<"can_send_voice_notes"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_send_voice_notes ) -> gleam@dynamic@decode:field( <<"can_send_polls"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_send_polls ) -> gleam@dynamic@decode:field( <<"can_send_other_messages"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_send_other_messages ) -> gleam@dynamic@decode:field( <<"can_add_web_page_previews"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_add_web_page_previews ) -> gleam@dynamic@decode:field( <<"can_react_to_messages"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_react_to_messages ) -> gleam@dynamic@decode:field( <<"can_edit_tag"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_edit_tag ) -> gleam@dynamic@decode:field( <<"can_change_info"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_change_info ) -> gleam@dynamic@decode:field( <<"can_invite_users"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_invite_users ) -> gleam@dynamic@decode:field( <<"can_pin_messages"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_pin_messages ) -> gleam@dynamic@decode:field( <<"can_manage_topics"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun( Can_manage_topics ) -> gleam@dynamic@decode:field( <<"until_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun( Until_date ) -> gleam@dynamic@decode:success( {chat_member_restricted, Status, Tag, User, Is_member, Can_send_messages, Can_send_audios, Can_send_documents, Can_send_photos, Can_send_videos, Can_send_video_notes, Can_send_voice_notes, Can_send_polls, Can_send_other_messages, Can_add_web_page_previews, Can_react_to_messages, Can_edit_tag, Can_change_info, Can_invite_users, Can_pin_messages, Can_manage_topics, Until_date} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9737). -spec chat_member_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member()). chat_member_decoder() -> gleam@dynamic@decode:field( <<"status"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"creator"/utf8>> -> gleam@dynamic@decode:then( chat_member_owner_decoder(), fun(Value) -> gleam@dynamic@decode:success( {chat_member_owner_chat_member, Value} ) end ); <<"administrator"/utf8>> -> gleam@dynamic@decode:then( chat_member_administrator_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {chat_member_administrator_chat_member, Value@1} ) end ); <<"member"/utf8>> -> gleam@dynamic@decode:then( chat_member_member_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {chat_member_member_chat_member, Value@2} ) end ); <<"restricted"/utf8>> -> gleam@dynamic@decode:then( chat_member_restricted_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {chat_member_restricted_chat_member, Value@3} ) end ); <<"left"/utf8>> -> gleam@dynamic@decode:then( chat_member_left_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {chat_member_left_chat_member, Value@4} ) end ); <<"kicked"/utf8>> -> gleam@dynamic@decode:then( chat_member_banned_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {chat_member_banned_chat_member, Value@5} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for ChatMember"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"chat_member_decoder"/utf8>>, line => 9764}) end end ). -file("src/telega/model/decoder.gleam", 1704). -spec chat_member_updated_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chat_member_updated()). chat_member_updated_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"old_chat_member"/utf8>>, chat_member_decoder(), fun(Old_chat_member) -> gleam@dynamic@decode:field( <<"new_chat_member"/utf8>>, chat_member_decoder(), fun(New_chat_member) -> gleam@dynamic@decode:optional_field( <<"invite_link"/utf8>>, none, gleam@dynamic@decode:optional( chat_invite_link_decoder() ), fun(Invite_link) -> gleam@dynamic@decode:optional_field( <<"via_join_request"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Via_join_request) -> gleam@dynamic@decode:optional_field( <<"via_chat_folder_invite_link"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Via_chat_folder_invite_link ) -> gleam@dynamic@decode:success( {chat_member_updated, Chat, From, Date, Old_chat_member, New_chat_member, Invite_link, Via_join_request, Via_chat_folder_invite_link} ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 1991). -spec chosen_inline_result_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:chosen_inline_result()). chosen_inline_result_decoder() -> gleam@dynamic@decode:field( <<"result_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Result_id) -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:optional_field( <<"location"/utf8>>, none, gleam@dynamic@decode:optional(location_decoder()), fun(Location) -> gleam@dynamic@decode:optional_field( <<"inline_message_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Inline_message_id) -> gleam@dynamic@decode:field( <<"query"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Query) -> gleam@dynamic@decode:success( {chosen_inline_result, Result_id, From, Location, Inline_message_id, Query} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2372). -spec force_reply_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:force_reply()). force_reply_decoder() -> gleam@dynamic@decode:field( <<"force_reply"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Force_reply) -> gleam@dynamic@decode:optional_field( <<"input_field_placeholder"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Input_field_placeholder) -> gleam@dynamic@decode:optional_field( <<"selective"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Selective) -> gleam@dynamic@decode:success( {force_reply, Force_reply, Input_field_placeholder, Selective} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2391). -spec forum_topic_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:forum_topic()). forum_topic_decoder() -> gleam@dynamic@decode:field( <<"message_thread_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_thread_id) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:field( <<"icon_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Icon_color) -> gleam@dynamic@decode:optional_field( <<"icon_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Icon_custom_emoji_id) -> gleam@dynamic@decode:optional_field( <<"is_name_implicit"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_name_implicit) -> gleam@dynamic@decode:success( {forum_topic, Message_thread_id, Name, Icon_color, Icon_custom_emoji_id, Is_name_implicit} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2489). -spec game_high_score_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:game_high_score()). game_high_score_decoder() -> gleam@dynamic@decode:field( <<"position"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Position) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"score"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Score) -> gleam@dynamic@decode:success( {game_high_score, Position, User, Score} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2651). -spec gifts_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:gifts()). gifts_decoder() -> gleam@dynamic@decode:field( <<"gifts"/utf8>>, gleam@dynamic@decode:list(gift_decoder()), fun(Gifts) -> gleam@dynamic@decode:success({gifts, Gifts}) end ). -file("src/telega/model/decoder.gleam", 2890). -spec inline_query_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query()). inline_query_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:field( <<"query"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Query) -> gleam@dynamic@decode:field( <<"offset"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Offset) -> gleam@dynamic@decode:optional_field( <<"chat_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Chat_type) -> gleam@dynamic@decode:optional_field( <<"location"/utf8>>, none, gleam@dynamic@decode:optional( location_decoder() ), fun(Location) -> gleam@dynamic@decode:success( {inline_query, Id, From, Query, Offset, Chat_type, Location} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5572). -spec labeled_price_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:labeled_price()). labeled_price_decoder() -> gleam@dynamic@decode:field( <<"label"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Label) -> gleam@dynamic@decode:field( <<"amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Amount) -> gleam@dynamic@decode:success({labeled_price, Label, Amount}) end ) end ). -file("src/telega/model/decoder.gleam", 4171). -spec input_invoice_message_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_invoice_message_content()). input_invoice_message_content_decoder() -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"description"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Description) -> gleam@dynamic@decode:field( <<"payload"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Payload) -> gleam@dynamic@decode:optional_field( <<"provider_token"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Provider_token) -> gleam@dynamic@decode:field( <<"currency"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Currency) -> gleam@dynamic@decode:field( <<"prices"/utf8>>, gleam@dynamic@decode:list( labeled_price_decoder() ), fun(Prices) -> gleam@dynamic@decode:optional_field( <<"max_tip_amount"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Max_tip_amount) -> gleam@dynamic@decode:optional_field( <<"suggested_tip_amounts"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ) ), fun( Suggested_tip_amounts ) -> gleam@dynamic@decode:optional_field( <<"provider_data"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Provider_data ) -> gleam@dynamic@decode:optional_field( <<"photo_url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Photo_url ) -> gleam@dynamic@decode:optional_field( <<"photo_size"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Photo_size ) -> gleam@dynamic@decode:optional_field( <<"photo_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Photo_width ) -> gleam@dynamic@decode:optional_field( <<"photo_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Photo_height ) -> gleam@dynamic@decode:optional_field( <<"need_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Need_name ) -> gleam@dynamic@decode:optional_field( <<"need_phone_number"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Need_phone_number ) -> gleam@dynamic@decode:optional_field( <<"need_email"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Need_email ) -> gleam@dynamic@decode:optional_field( <<"need_shipping_address"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Need_shipping_address ) -> gleam@dynamic@decode:optional_field( <<"send_phone_number_to_provider"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Send_phone_number_to_provider ) -> gleam@dynamic@decode:optional_field( <<"send_email_to_provider"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Send_email_to_provider ) -> gleam@dynamic@decode:optional_field( <<"is_flexible"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_flexible ) -> gleam@dynamic@decode:success( {input_invoice_message_content, Title, Description, Payload, Provider_token, Currency, Prices, Max_tip_amount, Suggested_tip_amounts, Provider_data, Photo_url, Photo_size, Photo_width, Photo_height, Need_name, Need_phone_number, Need_email, Need_shipping_address, Send_phone_number_to_provider, Send_email_to_provider, Is_flexible} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4148). -spec input_contact_message_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_contact_message_content()). input_contact_message_content_decoder() -> gleam@dynamic@decode:field( <<"phone_number"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Phone_number) -> gleam@dynamic@decode:field( <<"first_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(First_name) -> gleam@dynamic@decode:optional_field( <<"last_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_name) -> gleam@dynamic@decode:optional_field( <<"vcard"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Vcard) -> gleam@dynamic@decode:success( {input_contact_message_content, Phone_number, First_name, Last_name, Vcard} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5315). -spec input_venue_message_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_venue_message_content()). input_venue_message_content_decoder() -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"address"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Address) -> gleam@dynamic@decode:optional_field( <<"foursquare_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Foursquare_id) -> gleam@dynamic@decode:optional_field( <<"foursquare_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Foursquare_type) -> gleam@dynamic@decode:optional_field( <<"google_place_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Google_place_id) -> gleam@dynamic@decode:optional_field( <<"google_place_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Google_place_type ) -> gleam@dynamic@decode:success( {input_venue_message_content, Latitude, Longitude, Title, Address, Foursquare_id, Foursquare_type, Google_place_id, Google_place_type} ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4278). -spec input_location_message_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_location_message_content()). input_location_message_content_decoder() -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:optional_field( <<"horizontal_accuracy"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_float/1} ), fun(Horizontal_accuracy) -> gleam@dynamic@decode:optional_field( <<"live_period"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Live_period) -> gleam@dynamic@decode:optional_field( <<"heading"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Heading) -> gleam@dynamic@decode:optional_field( <<"proximity_alert_radius"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Proximity_alert_radius) -> gleam@dynamic@decode:success( {input_location_message_content, Latitude, Longitude, Horizontal_accuracy, Live_period, Heading, Proximity_alert_radius} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5288). -spec input_text_message_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_text_message_content()). input_text_message_content_decoder() -> gleam@dynamic@decode:field( <<"message_text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message_text) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Entities) -> gleam@dynamic@decode:optional_field( <<"link_preview_options"/utf8>>, none, gleam@dynamic@decode:optional( link_preview_options_decoder() ), fun(Link_preview_options) -> gleam@dynamic@decode:success( {input_text_message_content, Message_text, Parse_mode, Entities, Link_preview_options} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 10652). -spec input_message_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_message_content()). input_message_content_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"input_text_message_content"/utf8>> -> gleam@dynamic@decode:then( input_text_message_content_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_text_message_content_input_message_content, Value} ) end ); <<"input_location_message_content"/utf8>> -> gleam@dynamic@decode:then( input_location_message_content_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_location_message_content_input_message_content, Value@1} ) end ); <<"input_venue_message_content"/utf8>> -> gleam@dynamic@decode:then( input_venue_message_content_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {input_venue_message_content_input_message_content, Value@2} ) end ); <<"input_contact_message_content"/utf8>> -> gleam@dynamic@decode:then( input_contact_message_content_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {input_contact_message_content_input_message_content, Value@3} ) end ); <<"input_invoice_message_content"/utf8>> -> gleam@dynamic@decode:then( input_invoice_message_content_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {input_invoice_message_content_input_message_content, Value@4} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputMessageContent"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_message_content_decoder"/utf8>>, line => 10675}) end end ). -file("src/telega/model/decoder.gleam", 2915). -spec inline_query_result_article_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_article()). inline_query_result_article_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"input_message_content"/utf8>>, input_message_content_decoder(), fun(Input_message_content) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder() ), fun(Reply_markup) -> gleam@dynamic@decode:optional_field( <<"url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Url) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Description) -> gleam@dynamic@decode:optional_field( <<"thumbnail_url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Thumbnail_url ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_width ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_height ) -> gleam@dynamic@decode:success( {inline_query_result_article, Type_, Id, Title, Input_message_content, Reply_markup, Url, Description, Thumbnail_url, Thumbnail_width, Thumbnail_height} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 2965). -spec inline_query_result_audio_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_audio()). inline_query_result_audio_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"audio_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Audio_url) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"performer"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Performer) -> gleam@dynamic@decode:optional_field( <<"audio_duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Audio_duration ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_audio, Type_, Id, Audio_url, Title, Caption, Parse_mode, Caption_entities, Performer, Audio_duration, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3022). -spec inline_query_result_cached_audio_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_audio()). inline_query_result_cached_audio_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"audio_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Audio_file_id) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun(Reply_markup) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_cached_audio, Type_, Id, Audio_file_id, Caption, Parse_mode, Caption_entities, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3065). -spec inline_query_result_cached_document_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_document()). inline_query_result_cached_document_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"document_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Document_file_id) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Description) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_cached_document, Type_, Id, Title, Document_file_id, Description, Caption, Parse_mode, Caption_entities, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3116). -spec inline_query_result_cached_gif_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_gif()). inline_query_result_cached_gif_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"gif_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Gif_file_id) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_cached_gif, Type_, Id, Gif_file_id, Title, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3171). -spec inline_query_result_cached_mpeg4_gif_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_mpeg4_gif()). inline_query_result_cached_mpeg4_gif_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"mpeg4_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Mpeg4_file_id) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_cached_mpeg4_gif, Type_, Id, Mpeg4_file_id, Title, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3226). -spec inline_query_result_cached_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_photo()). inline_query_result_cached_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"photo_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Photo_file_id) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Description) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_cached_photo, Type_, Id, Photo_file_id, Title, Description, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3287). -spec inline_query_result_cached_sticker_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_sticker()). inline_query_result_cached_sticker_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"sticker_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Sticker_file_id) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder() ), fun(Reply_markup) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder() ), fun(Input_message_content) -> gleam@dynamic@decode:success( {inline_query_result_cached_sticker, Type_, Id, Sticker_file_id, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3312). -spec inline_query_result_cached_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_video()). inline_query_result_cached_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"video_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Video_file_id) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Description) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_cached_video, Type_, Id, Video_file_id, Title, Description, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3369). -spec inline_query_result_cached_voice_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_cached_voice()). inline_query_result_cached_voice_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"voice_file_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Voice_file_id) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_cached_voice, Type_, Id, Voice_file_id, Title, Caption, Parse_mode, Caption_entities, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3414). -spec inline_query_result_contact_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_contact()). inline_query_result_contact_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"phone_number"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Phone_number) -> gleam@dynamic@decode:field( <<"first_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(First_name) -> gleam@dynamic@decode:optional_field( <<"last_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_name) -> gleam@dynamic@decode:optional_field( <<"vcard"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Vcard) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun(Reply_markup) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Thumbnail_url ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_width ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_height ) -> gleam@dynamic@decode:success( {inline_query_result_contact, Type_, Id, Phone_number, First_name, Last_name, Vcard, Reply_markup, Input_message_content, Thumbnail_url, Thumbnail_width, Thumbnail_height} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3471). -spec inline_query_result_document_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_document()). inline_query_result_document_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:field( <<"document_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Document_url) -> gleam@dynamic@decode:field( <<"mime_type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Mime_type) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Description ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Thumbnail_url ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_width ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_height ) -> gleam@dynamic@decode:success( {inline_query_result_document, Type_, Id, Title, Caption, Parse_mode, Caption_entities, Document_url, Mime_type, Description, Reply_markup, Input_message_content, Thumbnail_url, Thumbnail_width, Thumbnail_height} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3542). -spec inline_query_result_game_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_game()). inline_query_result_game_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"game_short_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Game_short_name) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder() ), fun(Reply_markup) -> gleam@dynamic@decode:success( {inline_query_result_game, Type_, Id, Game_short_name, Reply_markup} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3561). -spec inline_query_result_gif_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_gif()). inline_query_result_gif_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"gif_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Gif_url) -> gleam@dynamic@decode:optional_field( <<"gif_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Gif_width) -> gleam@dynamic@decode:optional_field( <<"gif_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Gif_height) -> gleam@dynamic@decode:optional_field( <<"gif_duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Gif_duration) -> gleam@dynamic@decode:field( <<"thumbnail_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Thumbnail_url) -> gleam@dynamic@decode:optional_field( <<"thumbnail_mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Thumbnail_mime_type ) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Title ) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Caption ) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Parse_mode ) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_gif, Type_, Id, Gif_url, Gif_width, Gif_height, Gif_duration, Thumbnail_url, Thumbnail_mime_type, Title, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3640). -spec inline_query_result_location_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_location()). inline_query_result_location_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"horizontal_accuracy"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_float/1} ), fun(Horizontal_accuracy) -> gleam@dynamic@decode:optional_field( <<"live_period"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Live_period) -> gleam@dynamic@decode:optional_field( <<"heading"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Heading) -> gleam@dynamic@decode:optional_field( <<"proximity_alert_radius"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Proximity_alert_radius ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Thumbnail_url ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_width ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_height ) -> gleam@dynamic@decode:success( {inline_query_result_location, Type_, Id, Latitude, Longitude, Title, Horizontal_accuracy, Live_period, Heading, Proximity_alert_radius, Reply_markup, Input_message_content, Thumbnail_url, Thumbnail_width, Thumbnail_height} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3711). -spec inline_query_result_mpeg4_gif_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_mpeg4_gif()). inline_query_result_mpeg4_gif_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"mpeg4_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Mpeg4_url) -> gleam@dynamic@decode:optional_field( <<"mpeg4_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Mpeg4_width) -> gleam@dynamic@decode:optional_field( <<"mpeg4_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Mpeg4_height) -> gleam@dynamic@decode:optional_field( <<"mpeg4_duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Mpeg4_duration) -> gleam@dynamic@decode:field( <<"thumbnail_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Thumbnail_url) -> gleam@dynamic@decode:optional_field( <<"thumbnail_mime_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Thumbnail_mime_type ) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Title ) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Caption ) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Parse_mode ) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_mpeg4_gif, Type_, Id, Mpeg4_url, Mpeg4_width, Mpeg4_height, Mpeg4_duration, Thumbnail_url, Thumbnail_mime_type, Title, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3792). -spec inline_query_result_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_photo()). inline_query_result_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"photo_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Photo_url) -> gleam@dynamic@decode:field( <<"thumbnail_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Thumbnail_url) -> gleam@dynamic@decode:optional_field( <<"photo_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Photo_width) -> gleam@dynamic@decode:optional_field( <<"photo_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Photo_height) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Description) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Caption ) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Parse_mode ) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_photo, Type_, Id, Photo_url, Thumbnail_url, Photo_width, Photo_height, Title, Description, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3867). -spec inline_query_result_venue_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_venue()). inline_query_result_venue_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"address"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Address) -> gleam@dynamic@decode:optional_field( <<"foursquare_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Foursquare_id) -> gleam@dynamic@decode:optional_field( <<"foursquare_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Foursquare_type ) -> gleam@dynamic@decode:optional_field( <<"google_place_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Google_place_id ) -> gleam@dynamic@decode:optional_field( <<"google_place_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Google_place_type ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_url"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Thumbnail_url ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_width ) -> gleam@dynamic@decode:optional_field( <<"thumbnail_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Thumbnail_height ) -> gleam@dynamic@decode:success( {inline_query_result_venue, Type_, Id, Latitude, Longitude, Title, Address, Foursquare_id, Foursquare_type, Google_place_id, Google_place_type, Reply_markup, Input_message_content, Thumbnail_url, Thumbnail_width, Thumbnail_height} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 3940). -spec inline_query_result_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_video()). inline_query_result_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"video_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Video_url) -> gleam@dynamic@decode:field( <<"mime_type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Mime_type) -> gleam@dynamic@decode:field( <<"thumbnail_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Thumbnail_url) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"video_width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Video_width ) -> gleam@dynamic@decode:optional_field( <<"video_height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Video_height ) -> gleam@dynamic@decode:optional_field( <<"video_duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Video_duration ) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Description ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_video, Type_, Id, Video_url, Mime_type, Thumbnail_url, Title, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Video_width, Video_height, Video_duration, Description, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4019). -spec inline_query_result_voice_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result_voice()). inline_query_result_voice_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"voice_url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Voice_url) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"voice_duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Voice_duration ) -> gleam@dynamic@decode:optional_field( <<"reply_markup"/utf8>>, none, gleam@dynamic@decode:optional( inline_keyboard_markup_decoder( ) ), fun( Reply_markup ) -> gleam@dynamic@decode:optional_field( <<"input_message_content"/utf8>>, none, gleam@dynamic@decode:optional( input_message_content_decoder( ) ), fun( Input_message_content ) -> gleam@dynamic@decode:success( {inline_query_result_voice, Type_, Id, Voice_url, Title, Caption, Parse_mode, Caption_entities, Voice_duration, Reply_markup, Input_message_content} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4070). -spec inline_query_results_button_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_results_button()). inline_query_results_button_decoder() -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"web_app"/utf8>>, none, gleam@dynamic@decode:optional(web_app_info_decoder()), fun(Web_app) -> gleam@dynamic@decode:optional_field( <<"start_parameter"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Start_parameter) -> gleam@dynamic@decode:success( {inline_query_results_button, Text, Web_app, Start_parameter} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4127). -spec input_checklist_task_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_checklist_task()). input_checklist_task_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Id) -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"text_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Text_entities) -> gleam@dynamic@decode:success( {input_checklist_task, Id, Text, Parse_mode, Text_entities} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4091). -spec input_checklist_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_checklist()). input_checklist_decoder() -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"title_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Title_entities) -> gleam@dynamic@decode:field( <<"tasks"/utf8>>, gleam@dynamic@decode:list( input_checklist_task_decoder() ), fun(Tasks) -> gleam@dynamic@decode:optional_field( <<"others_can_add_tasks"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Others_can_add_tasks) -> gleam@dynamic@decode:optional_field( <<"others_can_mark_tasks_as_done"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Others_can_mark_tasks_as_done ) -> gleam@dynamic@decode:success( {input_checklist, Title, Parse_mode, Title_entities, Tasks, Others_can_add_tasks, Others_can_mark_tasks_as_done} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4313). -spec input_media_animation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_animation()). input_media_animation_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Width) -> gleam@dynamic@decode:optional_field( <<"height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Height ) -> gleam@dynamic@decode:optional_field( <<"duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Duration ) -> gleam@dynamic@decode:optional_field( <<"has_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_spoiler ) -> gleam@dynamic@decode:success( {input_media_animation, Type_, Media, Thumbnail, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Width, Height, Duration, Has_spoiler} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4372). -spec input_media_audio_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_audio()). input_media_audio_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Duration) -> gleam@dynamic@decode:optional_field( <<"performer"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Performer) -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Title ) -> gleam@dynamic@decode:success( {input_media_audio, Type_, Media, Thumbnail, Caption, Parse_mode, Caption_entities, Duration, Performer, Title} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4423). -spec input_media_document_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_document()). input_media_document_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"disable_content_type_detection"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Disable_content_type_detection ) -> gleam@dynamic@decode:success( {input_media_document, Type_, Media, Thumbnail, Caption, Parse_mode, Caption_entities, Disable_content_type_detection} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4462). -spec input_media_link_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_link()). input_media_link_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:success({input_media_link, Type_, Url}) end ) end ). -file("src/telega/model/decoder.gleam", 4468). -spec input_media_live_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_live_photo()). input_media_live_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Photo) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"has_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_spoiler) -> gleam@dynamic@decode:success( {input_media_live_photo, Type_, Media, Photo, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Has_spoiler} ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4509). -spec input_media_location_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_location()). input_media_location_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:optional_field( <<"horizontal_accuracy"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_float/1} ), fun(Horizontal_accuracy) -> gleam@dynamic@decode:success( {input_media_location, Type_, Latitude, Longitude, Horizontal_accuracy} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4526). -spec input_media_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_photo()). input_media_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Show_caption_above_media) -> gleam@dynamic@decode:optional_field( <<"has_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_spoiler) -> gleam@dynamic@decode:success( {input_media_photo, Type_, Media, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Has_spoiler} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4565). -spec input_media_sticker_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_sticker()). input_media_sticker_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"emoji"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Emoji) -> gleam@dynamic@decode:success( {input_media_sticker, Type_, Media, Emoji} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4576). -spec input_media_venue_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_venue()). input_media_venue_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"address"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Address) -> gleam@dynamic@decode:optional_field( <<"foursquare_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Foursquare_id) -> gleam@dynamic@decode:optional_field( <<"foursquare_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Foursquare_type) -> gleam@dynamic@decode:optional_field( <<"google_place_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Google_place_id ) -> gleam@dynamic@decode:optional_field( <<"google_place_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Google_place_type ) -> gleam@dynamic@decode:success( {input_media_venue, Type_, Latitude, Longitude, Title, Address, Foursquare_id, Foursquare_type, Google_place_id, Google_place_type} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4615). -spec input_media_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_video()). input_media_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"cover"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Cover) -> gleam@dynamic@decode:optional_field( <<"start_timestamp"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Start_timestamp) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun( Caption_entities ) -> gleam@dynamic@decode:optional_field( <<"show_caption_above_media"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Show_caption_above_media ) -> gleam@dynamic@decode:optional_field( <<"width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Width ) -> gleam@dynamic@decode:optional_field( <<"height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Height ) -> gleam@dynamic@decode:optional_field( <<"duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Duration ) -> gleam@dynamic@decode:optional_field( <<"supports_streaming"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Supports_streaming ) -> gleam@dynamic@decode:optional_field( <<"has_spoiler"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Has_spoiler ) -> gleam@dynamic@decode:success( {input_media_video, Type_, Media, Thumbnail, Cover, Start_timestamp, Caption, Parse_mode, Caption_entities, Show_caption_above_media, Width, Height, Duration, Supports_streaming, Has_spoiler} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4692). -spec input_media_voice_note_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media_voice_note()). input_media_voice_note_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Caption) -> gleam@dynamic@decode:optional_field( <<"parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Parse_mode) -> gleam@dynamic@decode:optional_field( <<"caption_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder() ) ), fun(Caption_entities) -> gleam@dynamic@decode:optional_field( <<"duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Duration) -> gleam@dynamic@decode:success( {input_media_voice_note, Type_, Media, Caption, Parse_mode, Caption_entities, Duration} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4725). -spec input_paid_media_live_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_paid_media_live_photo()). input_paid_media_live_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Photo) -> gleam@dynamic@decode:success( {input_paid_media_live_photo, Type_, Media, Photo} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4738). -spec input_paid_media_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_paid_media_photo()). input_paid_media_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:success( {input_paid_media_photo, Type_, Media} ) end ) end ). -file("src/telega/model/decoder.gleam", 4744). -spec input_paid_media_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_paid_media_video()). input_paid_media_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"media"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Media) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Thumbnail) -> gleam@dynamic@decode:optional_field( <<"cover"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Cover) -> gleam@dynamic@decode:optional_field( <<"start_timestamp"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Start_timestamp) -> gleam@dynamic@decode:optional_field( <<"width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Width) -> gleam@dynamic@decode:optional_field( <<"height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Height) -> gleam@dynamic@decode:optional_field( <<"duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Duration) -> gleam@dynamic@decode:optional_field( <<"supports_streaming"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Supports_streaming ) -> gleam@dynamic@decode:success( {input_paid_media_video, Type_, Media, Thumbnail, Cover, Start_timestamp, Width, Height, Duration, Supports_streaming} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9826). -spec input_poll_option_media_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_poll_option_media()). input_poll_option_media_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"animation"/utf8>> -> gleam@dynamic@decode:then( input_media_animation_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_media_animation_input_poll_option_media, Value} ) end ); <<"link"/utf8>> -> gleam@dynamic@decode:then( input_media_link_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_media_link_input_poll_option_media, Value@1} ) end ); <<"live_photo"/utf8>> -> gleam@dynamic@decode:then( input_media_live_photo_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {input_media_live_photo_input_poll_option_media, Value@2} ) end ); <<"location"/utf8>> -> gleam@dynamic@decode:then( input_media_location_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {input_media_location_input_poll_option_media, Value@3} ) end ); <<"photo"/utf8>> -> gleam@dynamic@decode:then( input_media_photo_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {input_media_photo_input_poll_option_media, Value@4} ) end ); <<"sticker"/utf8>> -> gleam@dynamic@decode:then( input_media_sticker_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {input_media_sticker_input_poll_option_media, Value@5} ) end ); <<"venue"/utf8>> -> gleam@dynamic@decode:then( input_media_venue_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {input_media_venue_input_poll_option_media, Value@6} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( input_media_video_decoder(), fun(Value@7) -> gleam@dynamic@decode:success( {input_media_video_input_poll_option_media, Value@7} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputPollOptionMedia"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_poll_option_media_decoder"/utf8>>, line => 9861}) end end ). -file("src/telega/model/decoder.gleam", 4791). -spec input_poll_option_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_poll_option()). input_poll_option_decoder() -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"text_parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Text_parse_mode) -> gleam@dynamic@decode:optional_field( <<"text_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(message_entity_decoder()) ), fun(Text_entities) -> gleam@dynamic@decode:optional_field( <<"media"/utf8>>, none, gleam@dynamic@decode:optional( input_poll_option_media_decoder() ), fun(Media) -> gleam@dynamic@decode:success( {input_poll_option, Text, Text_parse_mode, Text_entities, Media} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4816). -spec input_profile_photo_animated_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_profile_photo_animated()). input_profile_photo_animated_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"animation"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Animation) -> gleam@dynamic@decode:optional_field( <<"main_frame_timestamp"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_float/1} ), fun(Main_frame_timestamp) -> gleam@dynamic@decode:success( {input_profile_photo_animated, Type_, Animation, Main_frame_timestamp} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4833). -spec input_profile_photo_static_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_profile_photo_static()). input_profile_photo_static_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Photo) -> gleam@dynamic@decode:success( {input_profile_photo_static, Type_, Photo} ) end ) end ). -file("src/telega/model/decoder.gleam", 4841). -spec input_rich_block_anchor_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_anchor()). input_rich_block_anchor_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:success( {input_rich_block_anchor, Type_, Name} ) end ) end ). -file("src/telega/model/decoder.gleam", 4847). -spec input_rich_block_animation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_animation()). input_rich_block_animation_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"animation"/utf8>>, input_media_animation_decoder(), fun(Animation) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_animation, Type_, Animation, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4864). -spec input_rich_block_audio_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_audio()). input_rich_block_audio_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"audio"/utf8>>, input_media_audio_decoder(), fun(Audio) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_audio, Type_, Audio, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5132). -spec input_rich_block_thinking_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_thinking()). input_rich_block_thinking_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {input_rich_block_thinking, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 5155). -spec input_rich_block_voice_note_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_voice_note()). input_rich_block_voice_note_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"voice_note"/utf8>>, input_media_voice_note_decoder(), fun(Voice_note) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_voice_note, Type_, Voice_note, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5140). -spec input_rich_block_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_video()). input_rich_block_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"video"/utf8>>, input_media_video_decoder(), fun(Video) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_video, Type_, Video, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5023). -spec input_rich_block_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_photo()). input_rich_block_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, input_media_photo_decoder(), fun(Photo) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_photo, Type_, Photo, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4983). -spec input_rich_block_map_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_map()). input_rich_block_map_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"location"/utf8>>, location_decoder(), fun(Location) -> gleam@dynamic@decode:field( <<"zoom"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Zoom) -> gleam@dynamic@decode:field( <<"width"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Width) -> gleam@dynamic@decode:field( <<"height"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Height) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_map, Type_, Location, Zoom, Width, Height, Caption} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5102). -spec input_rich_block_table_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_table()). input_rich_block_table_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"cells"/utf8>>, gleam@dynamic@decode:list( gleam@dynamic@decode:list(rich_block_table_cell_decoder()) ), fun(Cells) -> gleam@dynamic@decode:optional_field( <<"is_bordered"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_bordered) -> gleam@dynamic@decode:optional_field( <<"is_striped"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_striped) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_text_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_table, Type_, Cells, Is_bordered, Is_striped, Caption} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5055). -spec input_rich_block_pull_quotation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_pull_quotation()). input_rich_block_pull_quotation_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:optional_field( <<"credit"/utf8>>, none, gleam@dynamic@decode:optional(rich_text_decoder()), fun(Credit) -> gleam@dynamic@decode:success( {input_rich_block_pull_quotation, Type_, Text, Credit} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5004). -spec input_rich_block_mathematical_expression_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_mathematical_expression()). input_rich_block_mathematical_expression_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"expression"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Expression) -> gleam@dynamic@decode:success( {input_rich_block_mathematical_expression, Type_, Expression} ) end ) end ). -file("src/telega/model/decoder.gleam", 4932). -spec input_rich_block_divider_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_divider()). input_rich_block_divider_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success({input_rich_block_divider, Type_}) end ). -file("src/telega/model/decoder.gleam", 4939). -spec input_rich_block_footer_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_footer()). input_rich_block_footer_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {input_rich_block_footer, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 5038). -spec input_rich_block_preformatted_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_preformatted()). input_rich_block_preformatted_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:optional_field( <<"language"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Language) -> gleam@dynamic@decode:success( {input_rich_block_preformatted, Type_, Text, Language} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5072). -spec input_rich_block_section_heading_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_section_heading()). input_rich_block_section_heading_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:field( <<"size"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Size) -> gleam@dynamic@decode:success( {input_rich_block_section_heading, Type_, Text, Size} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5015). -spec input_rich_block_paragraph_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_paragraph()). input_rich_block_paragraph_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, rich_text_decoder(), fun(Text) -> gleam@dynamic@decode:success( {input_rich_block_paragraph, Type_, Text} ) end ) end ). -file("src/telega/model/decoder.gleam", 4913). -spec input_rich_block_details_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_details()). input_rich_block_details_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"summary"/utf8>>, rich_text_decoder(), fun(Summary) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(input_rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"is_open"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_open) -> gleam@dynamic@decode:success( {input_rich_block_details, Type_, Summary, Blocks, Is_open} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5085). -spec input_rich_block_slideshow_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_slideshow()). input_rich_block_slideshow_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(input_rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_slideshow, Type_, Blocks, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4896). -spec input_rich_block_collage_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_collage()). input_rich_block_collage_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(input_rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"caption"/utf8>>, none, gleam@dynamic@decode:optional( rich_block_caption_decoder() ), fun(Caption) -> gleam@dynamic@decode:success( {input_rich_block_collage, Type_, Blocks, Caption} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4954). -spec input_rich_block_list_item_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_list_item()). input_rich_block_list_item_decoder() -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(input_rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"has_checkbox"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Has_checkbox) -> gleam@dynamic@decode:optional_field( <<"is_checked"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_checked) -> gleam@dynamic@decode:optional_field( <<"value"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Value) -> gleam@dynamic@decode:optional_field( <<"type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Type_) -> gleam@dynamic@decode:success( {input_rich_block_list_item, Blocks, Has_checkbox, Is_checked, Value, Type_} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 4945). -spec input_rich_block_list_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_list()). input_rich_block_list_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"items"/utf8>>, gleam@dynamic@decode:list(input_rich_block_list_item_decoder()), fun(Items) -> gleam@dynamic@decode:success( {input_rich_block_list, Type_, Items} ) end ) end ). -file("src/telega/model/decoder.gleam", 9880). -spec input_rich_block_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block()). input_rich_block_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"paragraph"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_paragraph_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_rich_block_paragraph_input_rich_block, Value} ) end ); <<"heading"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_section_heading_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_rich_block_section_heading_input_rich_block, Value@1} ) end ); <<"pre"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_preformatted_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {input_rich_block_preformatted_input_rich_block, Value@2} ) end ); <<"footer"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_footer_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {input_rich_block_footer_input_rich_block, Value@3} ) end ); <<"divider"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_divider_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {input_rich_block_divider_input_rich_block, Value@4} ) end ); <<"mathematical_expression"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_mathematical_expression_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {input_rich_block_mathematical_expression_input_rich_block, Value@5} ) end ); <<"anchor"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_anchor_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {input_rich_block_anchor_input_rich_block, Value@6} ) end ); <<"list"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_list_decoder(), fun(Value@7) -> gleam@dynamic@decode:success( {input_rich_block_list_input_rich_block, Value@7} ) end ); <<"blockquote"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_block_quotation_decoder(), fun(Value@8) -> gleam@dynamic@decode:success( {input_rich_block_block_quotation_input_rich_block, Value@8} ) end ); <<"pullquote"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_pull_quotation_decoder(), fun(Value@9) -> gleam@dynamic@decode:success( {input_rich_block_pull_quotation_input_rich_block, Value@9} ) end ); <<"collage"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_collage_decoder(), fun(Value@10) -> gleam@dynamic@decode:success( {input_rich_block_collage_input_rich_block, Value@10} ) end ); <<"slideshow"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_slideshow_decoder(), fun(Value@11) -> gleam@dynamic@decode:success( {input_rich_block_slideshow_input_rich_block, Value@11} ) end ); <<"table"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_table_decoder(), fun(Value@12) -> gleam@dynamic@decode:success( {input_rich_block_table_input_rich_block, Value@12} ) end ); <<"details"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_details_decoder(), fun(Value@13) -> gleam@dynamic@decode:success( {input_rich_block_details_input_rich_block, Value@13} ) end ); <<"map"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_map_decoder(), fun(Value@14) -> gleam@dynamic@decode:success( {input_rich_block_map_input_rich_block, Value@14} ) end ); <<"animation"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_animation_decoder(), fun(Value@15) -> gleam@dynamic@decode:success( {input_rich_block_animation_input_rich_block, Value@15} ) end ); <<"audio"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_audio_decoder(), fun(Value@16) -> gleam@dynamic@decode:success( {input_rich_block_audio_input_rich_block, Value@16} ) end ); <<"photo"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_photo_decoder(), fun(Value@17) -> gleam@dynamic@decode:success( {input_rich_block_photo_input_rich_block, Value@17} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_video_decoder(), fun(Value@18) -> gleam@dynamic@decode:success( {input_rich_block_video_input_rich_block, Value@18} ) end ); <<"voice_note"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_voice_note_decoder(), fun(Value@19) -> gleam@dynamic@decode:success( {input_rich_block_voice_note_input_rich_block, Value@19} ) end ); <<"thinking"/utf8>> -> gleam@dynamic@decode:then( input_rich_block_thinking_decoder(), fun(Value@20) -> gleam@dynamic@decode:success( {input_rich_block_thinking_input_rich_block, Value@20} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputRichBlock"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_rich_block_decoder"/utf8>>, line => 9969}) end end ). -file("src/telega/model/decoder.gleam", 4879). -spec input_rich_block_block_quotation_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_block_block_quotation()). input_rich_block_block_quotation_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"blocks"/utf8>>, gleam@dynamic@decode:list(input_rich_block_decoder()), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"credit"/utf8>>, none, gleam@dynamic@decode:optional(rich_text_decoder()), fun(Credit) -> gleam@dynamic@decode:success( {input_rich_block_block_quotation, Type_, Blocks, Credit} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5220). -spec input_rich_message_media_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_message_media()). input_rich_message_media_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"media"/utf8>>, input_media_animation_decoder(), fun(Media) -> gleam@dynamic@decode:success( {input_rich_message_media, Id, Media} ) end ) end ). -file("src/telega/model/decoder.gleam", 5172). -spec input_rich_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_message()). input_rich_message_decoder() -> gleam@dynamic@decode:optional_field( <<"blocks"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list(input_rich_block_decoder()) ), fun(Blocks) -> gleam@dynamic@decode:optional_field( <<"html"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Html) -> gleam@dynamic@decode:optional_field( <<"markdown"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Markdown) -> gleam@dynamic@decode:optional_field( <<"media"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( input_rich_message_media_decoder() ) ), fun(Media) -> gleam@dynamic@decode:optional_field( <<"is_rtl"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_rtl) -> gleam@dynamic@decode:optional_field( <<"skip_entity_detection"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Skip_entity_detection) -> gleam@dynamic@decode:success( {input_rich_message, Blocks, Html, Markdown, Media, Is_rtl, Skip_entity_detection} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5213). -spec input_rich_message_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_rich_message_content()). input_rich_message_content_decoder() -> gleam@dynamic@decode:field( <<"rich_message"/utf8>>, input_rich_message_decoder(), fun(Rich_message) -> gleam@dynamic@decode:success( {input_rich_message_content, Rich_message} ) end ). -file("src/telega/model/decoder.gleam", 5228). -spec input_sticker_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_sticker()). input_sticker_decoder() -> gleam@dynamic@decode:field( <<"sticker"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Sticker) -> gleam@dynamic@decode:field( <<"format"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Format) -> gleam@dynamic@decode:field( <<"emoji_list"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Emoji_list) -> gleam@dynamic@decode:optional_field( <<"mask_position"/utf8>>, none, gleam@dynamic@decode:optional( mask_position_decoder() ), fun(Mask_position) -> gleam@dynamic@decode:optional_field( <<"keywords"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ), fun(Keywords) -> gleam@dynamic@decode:success( {input_sticker, Sticker, Format, Emoji_list, Mask_position, Keywords} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5251). -spec input_story_content_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_story_content_photo()). input_story_content_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"photo"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Photo) -> gleam@dynamic@decode:success( {input_story_content_photo, Type_, Photo} ) end ) end ). -file("src/telega/model/decoder.gleam", 5259). -spec input_story_content_video_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_story_content_video()). input_story_content_video_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"video"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Video) -> gleam@dynamic@decode:optional_field( <<"duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_float/1} ), fun(Duration) -> gleam@dynamic@decode:optional_field( <<"cover_frame_timestamp"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_float/1} ), fun(Cover_frame_timestamp) -> gleam@dynamic@decode:optional_field( <<"is_animation"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_animation) -> gleam@dynamic@decode:success( {input_story_content_video, Type_, Video, Duration, Cover_frame_timestamp, Is_animation} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5430). -spec keyboard_button_poll_type_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:keyboard_button_poll_type()). keyboard_button_poll_type_decoder() -> gleam@dynamic@decode:optional_field( <<"type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Type_) -> gleam@dynamic@decode:success({keyboard_button_poll_type, Type_}) end ). -file("src/telega/model/decoder.gleam", 5506). -spec keyboard_button_request_managed_bot_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:keyboard_button_request_managed_bot()). keyboard_button_request_managed_bot_decoder() -> gleam@dynamic@decode:field( <<"request_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Request_id) -> gleam@dynamic@decode:optional_field( <<"suggested_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Suggested_name) -> gleam@dynamic@decode:optional_field( <<"suggested_username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Suggested_username) -> gleam@dynamic@decode:success( {keyboard_button_request_managed_bot, Request_id, Suggested_name, Suggested_username} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5441). -spec keyboard_button_request_chat_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:keyboard_button_request_chat()). keyboard_button_request_chat_decoder() -> gleam@dynamic@decode:field( <<"request_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Request_id) -> gleam@dynamic@decode:field( <<"chat_is_channel"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Chat_is_channel) -> gleam@dynamic@decode:optional_field( <<"chat_is_forum"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Chat_is_forum) -> gleam@dynamic@decode:optional_field( <<"chat_has_username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Chat_has_username) -> gleam@dynamic@decode:optional_field( <<"chat_is_created"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Chat_is_created) -> gleam@dynamic@decode:optional_field( <<"user_administrator_rights"/utf8>>, none, gleam@dynamic@decode:optional( chat_administrator_rights_decoder( ) ), fun(User_administrator_rights) -> gleam@dynamic@decode:optional_field( <<"bot_administrator_rights"/utf8>>, none, gleam@dynamic@decode:optional( chat_administrator_rights_decoder( ) ), fun( Bot_administrator_rights ) -> gleam@dynamic@decode:optional_field( <<"bot_is_member"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Bot_is_member ) -> gleam@dynamic@decode:optional_field( <<"request_title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Request_title ) -> gleam@dynamic@decode:optional_field( <<"request_username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Request_username ) -> gleam@dynamic@decode:optional_field( <<"request_photo"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Request_photo ) -> gleam@dynamic@decode:success( {keyboard_button_request_chat, Request_id, Chat_is_channel, Chat_is_forum, Chat_has_username, Chat_is_created, User_administrator_rights, Bot_administrator_rights, Bot_is_member, Request_title, Request_username, Request_photo} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5527). -spec keyboard_button_request_users_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:keyboard_button_request_users()). keyboard_button_request_users_decoder() -> gleam@dynamic@decode:field( <<"request_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Request_id) -> gleam@dynamic@decode:optional_field( <<"user_is_bot"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(User_is_bot) -> gleam@dynamic@decode:optional_field( <<"user_is_premium"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(User_is_premium) -> gleam@dynamic@decode:optional_field( <<"max_quantity"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Max_quantity) -> gleam@dynamic@decode:optional_field( <<"request_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Request_name) -> gleam@dynamic@decode:optional_field( <<"request_username"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Request_username) -> gleam@dynamic@decode:optional_field( <<"request_photo"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Request_photo) -> gleam@dynamic@decode:success( {keyboard_button_request_users, Request_id, User_is_bot, User_is_premium, Max_quantity, Request_name, Request_username, Request_photo} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5369). -spec keyboard_button_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:keyboard_button()). keyboard_button_decoder() -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:optional_field( <<"icon_custom_emoji_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Icon_custom_emoji_id) -> gleam@dynamic@decode:optional_field( <<"style"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Style) -> gleam@dynamic@decode:optional_field( <<"request_users"/utf8>>, none, gleam@dynamic@decode:optional( keyboard_button_request_users_decoder() ), fun(Request_users) -> gleam@dynamic@decode:optional_field( <<"request_chat"/utf8>>, none, gleam@dynamic@decode:optional( keyboard_button_request_chat_decoder( ) ), fun(Request_chat) -> gleam@dynamic@decode:optional_field( <<"request_managed_bot"/utf8>>, none, gleam@dynamic@decode:optional( keyboard_button_request_managed_bot_decoder( ) ), fun(Request_managed_bot) -> gleam@dynamic@decode:optional_field( <<"request_contact"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Request_contact) -> gleam@dynamic@decode:optional_field( <<"request_location"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Request_location ) -> gleam@dynamic@decode:optional_field( <<"request_poll"/utf8>>, none, gleam@dynamic@decode:optional( keyboard_button_poll_type_decoder( ) ), fun( Request_poll ) -> gleam@dynamic@decode:optional_field( <<"web_app"/utf8>>, none, gleam@dynamic@decode:optional( web_app_info_decoder( ) ), fun( Web_app ) -> gleam@dynamic@decode:success( {keyboard_button, Text, Icon_custom_emoji_id, Style, Request_users, Request_chat, Request_managed_bot, Request_contact, Request_location, Request_poll, Web_app} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5680). -spec location_address_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:location_address()). location_address_decoder() -> gleam@dynamic@decode:field( <<"country_code"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Country_code) -> gleam@dynamic@decode:optional_field( <<"state"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(State) -> gleam@dynamic@decode:optional_field( <<"city"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(City) -> gleam@dynamic@decode:optional_field( <<"street"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Street) -> gleam@dynamic@decode:success( {location_address, Country_code, State, City, Street} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 5735). -spec managed_bot_updated_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:managed_bot_updated()). managed_bot_updated_decoder() -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:field( <<"bot"/utf8>>, user_decoder(), fun(Bot) -> gleam@dynamic@decode:success( {managed_bot_updated, User, Bot} ) end ) end ). -file("src/telega/model/decoder.gleam", 5754). -spec menu_button_commands_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:menu_button_commands()). menu_button_commands_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success({menu_button_commands, Type_}) end ). -file("src/telega/model/decoder.gleam", 5759). -spec menu_button_default_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:menu_button_default()). menu_button_default_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success({menu_button_default, Type_}) end ). -file("src/telega/model/decoder.gleam", 5764). -spec menu_button_web_app_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:menu_button_web_app()). menu_button_web_app_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"text"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Text) -> gleam@dynamic@decode:field( <<"web_app"/utf8>>, web_app_info_decoder(), fun(Web_app) -> gleam@dynamic@decode:success( {menu_button_web_app, Type_, Text, Web_app} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6533). -spec message_id_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_id()). message_id_decoder() -> gleam@dynamic@decode:field( <<"message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_id) -> gleam@dynamic@decode:success({message_id, Message_id}) end ). -file("src/telega/model/decoder.gleam", 7404). -spec reaction_count_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reaction_count()). reaction_count_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, reaction_type_decoder(), fun(Type_) -> gleam@dynamic@decode:field( <<"total_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_count) -> gleam@dynamic@decode:success( {reaction_count, Type_, Total_count} ) end ) end ). -file("src/telega/model/decoder.gleam", 6598). -spec message_reaction_count_updated_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_reaction_count_updated()). message_reaction_count_updated_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_id) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"reactions"/utf8>>, gleam@dynamic@decode:list( reaction_count_decoder() ), fun(Reactions) -> gleam@dynamic@decode:success( {message_reaction_count_updated, Chat, Message_id, Date, Reactions} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6616). -spec message_reaction_updated_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:message_reaction_updated()). message_reaction_updated_decoder() -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:field( <<"message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Message_id) -> gleam@dynamic@decode:optional_field( <<"user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(User) -> gleam@dynamic@decode:optional_field( <<"actor_chat"/utf8>>, none, gleam@dynamic@decode:optional(chat_decoder()), fun(Actor_chat) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"old_reaction"/utf8>>, gleam@dynamic@decode:list( reaction_type_decoder() ), fun(Old_reaction) -> gleam@dynamic@decode:field( <<"new_reaction"/utf8>>, gleam@dynamic@decode:list( reaction_type_decoder( ) ), fun(New_reaction) -> gleam@dynamic@decode:success( {message_reaction_updated, Chat, Message_id, User, Actor_chat, Date, Old_reaction, New_reaction} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6680). -spec owned_gift_regular_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:owned_gift_regular()). owned_gift_regular_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"gift"/utf8>>, gift_decoder(), fun(Gift) -> gleam@dynamic@decode:optional_field( <<"owned_gift_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Owned_gift_id) -> gleam@dynamic@decode:optional_field( <<"sender_user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(Sender_user) -> gleam@dynamic@decode:field( <<"send_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Send_date) -> gleam@dynamic@decode:optional_field( <<"text"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Text) -> gleam@dynamic@decode:optional_field( <<"entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Entities) -> gleam@dynamic@decode:optional_field( <<"is_private"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_private) -> gleam@dynamic@decode:optional_field( <<"is_saved"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_saved ) -> gleam@dynamic@decode:optional_field( <<"can_be_upgraded"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Can_be_upgraded ) -> gleam@dynamic@decode:optional_field( <<"was_refunded"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Was_refunded ) -> gleam@dynamic@decode:optional_field( <<"convert_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Convert_star_count ) -> gleam@dynamic@decode:optional_field( <<"prepaid_upgrade_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Prepaid_upgrade_star_count ) -> gleam@dynamic@decode:optional_field( <<"is_upgrade_separate"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun( Is_upgrade_separate ) -> gleam@dynamic@decode:optional_field( <<"unique_gift_number"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Unique_gift_number ) -> gleam@dynamic@decode:success( {owned_gift_regular, Type_, Gift, Owned_gift_id, Sender_user, Send_date, Text, Entities, Is_private, Is_saved, Can_be_upgraded, Was_refunded, Convert_star_count, Prepaid_upgrade_star_count, Is_upgrade_separate, Unique_gift_number} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6763). -spec owned_gift_unique_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:owned_gift_unique()). owned_gift_unique_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"gift"/utf8>>, unique_gift_decoder(), fun(Gift) -> gleam@dynamic@decode:optional_field( <<"owned_gift_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Owned_gift_id) -> gleam@dynamic@decode:optional_field( <<"sender_user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(Sender_user) -> gleam@dynamic@decode:field( <<"send_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Send_date) -> gleam@dynamic@decode:optional_field( <<"is_saved"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_saved) -> gleam@dynamic@decode:optional_field( <<"can_be_transferred"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Can_be_transferred) -> gleam@dynamic@decode:optional_field( <<"transfer_star_count"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Transfer_star_count ) -> gleam@dynamic@decode:optional_field( <<"next_transfer_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Next_transfer_date ) -> gleam@dynamic@decode:success( {owned_gift_unique, Type_, Gift, Owned_gift_id, Sender_user, Send_date, Is_saved, Can_be_transferred, Transfer_star_count, Next_transfer_date} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 10030). -spec owned_gift_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:owned_gift()). owned_gift_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"regular"/utf8>> -> gleam@dynamic@decode:then( owned_gift_regular_decoder(), fun(Value) -> gleam@dynamic@decode:success( {owned_gift_regular_owned_gift, Value} ) end ); <<"unique"/utf8>> -> gleam@dynamic@decode:then( owned_gift_unique_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {owned_gift_unique_owned_gift, Value@1} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for OwnedGift"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"owned_gift_decoder"/utf8>>, line => 10041}) end end ). -file("src/telega/model/decoder.gleam", 6810). -spec owned_gifts_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:owned_gifts()). owned_gifts_decoder() -> gleam@dynamic@decode:field( <<"total_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_count) -> gleam@dynamic@decode:field( <<"gifts"/utf8>>, gleam@dynamic@decode:list(owned_gift_decoder()), fun(Gifts) -> gleam@dynamic@decode:optional_field( <<"next_offset"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Next_offset) -> gleam@dynamic@decode:success( {owned_gifts, Total_count, Gifts, Next_offset} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6867). -spec paid_media_purchased_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:paid_media_purchased()). paid_media_purchased_decoder() -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:field( <<"paid_media_payload"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Paid_media_payload) -> gleam@dynamic@decode:success( {paid_media_purchased, From, Paid_media_payload} ) end ) end ). -file("src/telega/model/decoder.gleam", 6906). -spec passport_element_error_data_field_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_data_field()). passport_element_error_data_field_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"field_name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Field_name) -> gleam@dynamic@decode:field( <<"data_hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Data_hash) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_data_field, Source, Type_, Field_name, Data_hash, Message} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6923). -spec passport_element_error_file_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_file()). passport_element_error_file_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"file_hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_hash) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_file, Source, Type_, File_hash, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6938). -spec passport_element_error_files_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_files()). passport_element_error_files_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"file_hashes"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(File_hashes) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_files, Source, Type_, File_hashes, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6953). -spec passport_element_error_front_side_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_front_side()). passport_element_error_front_side_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"file_hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_hash) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_front_side, Source, Type_, File_hash, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6968). -spec passport_element_error_reverse_side_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_reverse_side()). passport_element_error_reverse_side_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"file_hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_hash) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_reverse_side, Source, Type_, File_hash, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6983). -spec passport_element_error_selfie_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_selfie()). passport_element_error_selfie_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"file_hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_hash) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_selfie, Source, Type_, File_hash, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 6998). -spec passport_element_error_translation_file_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_translation_file()). passport_element_error_translation_file_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"file_hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(File_hash) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_translation_file, Source, Type_, File_hash, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7013). -spec passport_element_error_translation_files_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_translation_files()). passport_element_error_translation_files_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"file_hashes"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(File_hashes) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_translation_files, Source, Type_, File_hashes, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7028). -spec passport_element_error_unspecified_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error_unspecified()). passport_element_error_unspecified_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Source) -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"element_hash"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Element_hash) -> gleam@dynamic@decode:field( <<"message"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Message) -> gleam@dynamic@decode:success( {passport_element_error_unspecified, Source, Type_, Element_hash, Message} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7169). -spec poll_answer_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:poll_answer()). poll_answer_decoder() -> gleam@dynamic@decode:field( <<"poll_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Poll_id) -> gleam@dynamic@decode:optional_field( <<"voter_chat"/utf8>>, none, gleam@dynamic@decode:optional(chat_decoder()), fun(Voter_chat) -> gleam@dynamic@decode:optional_field( <<"user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(User) -> gleam@dynamic@decode:field( <<"option_ids"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Option_ids) -> gleam@dynamic@decode:field( <<"option_persistent_ids"/utf8>>, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Option_persistent_ids) -> gleam@dynamic@decode:success( {poll_answer, Poll_id, Voter_chat, User, Option_ids, Option_persistent_ids} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7349). -spec pre_checkout_query_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:pre_checkout_query()). pre_checkout_query_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:field( <<"currency"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Currency) -> gleam@dynamic@decode:field( <<"total_amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_amount) -> gleam@dynamic@decode:field( <<"invoice_payload"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Invoice_payload) -> gleam@dynamic@decode:optional_field( <<"shipping_option_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Shipping_option_id) -> gleam@dynamic@decode:optional_field( <<"order_info"/utf8>>, none, gleam@dynamic@decode:optional( order_info_decoder() ), fun(Order_info) -> gleam@dynamic@decode:success( {pre_checkout_query, Id, From, Currency, Total_amount, Invoice_payload, Shipping_option_id, Order_info} ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7376). -spec prepared_inline_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:prepared_inline_message()). prepared_inline_message_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"expiration_date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Expiration_date) -> gleam@dynamic@decode:success( {prepared_inline_message, Id, Expiration_date} ) end ) end ). -file("src/telega/model/decoder.gleam", 7384). -spec prepared_keyboard_button_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:prepared_keyboard_button()). prepared_keyboard_button_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:success({prepared_keyboard_button, Id}) end ). -file("src/telega/model/decoder.gleam", 7454). -spec reply_keyboard_markup_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reply_keyboard_markup()). reply_keyboard_markup_decoder() -> gleam@dynamic@decode:field( <<"keyboard"/utf8>>, gleam@dynamic@decode:list( gleam@dynamic@decode:list(keyboard_button_decoder()) ), fun(Keyboard) -> gleam@dynamic@decode:optional_field( <<"is_persistent"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_persistent) -> gleam@dynamic@decode:optional_field( <<"resize_keyboard"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Resize_keyboard) -> gleam@dynamic@decode:optional_field( <<"one_time_keyboard"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(One_time_keyboard) -> gleam@dynamic@decode:optional_field( <<"input_field_placeholder"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Input_field_placeholder) -> gleam@dynamic@decode:optional_field( <<"selective"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Selective) -> gleam@dynamic@decode:success( {reply_keyboard_markup, Keyboard, Is_persistent, Resize_keyboard, One_time_keyboard, Input_field_placeholder, Selective} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7494). -spec reply_keyboard_remove_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reply_keyboard_remove()). reply_keyboard_remove_decoder() -> gleam@dynamic@decode:field( <<"remove_keyboard"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Remove_keyboard) -> gleam@dynamic@decode:optional_field( <<"selective"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Selective) -> gleam@dynamic@decode:success( {reply_keyboard_remove, Remove_keyboard, Selective} ) end ) end ). -file("src/telega/model/decoder.gleam", 7507). -spec reply_parameters_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:reply_parameters()). reply_parameters_decoder() -> gleam@dynamic@decode:optional_field( <<"message_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Message_id) -> gleam@dynamic@decode:optional_field( <<"chat_id"/utf8>>, none, gleam@dynamic@decode:optional(int_or_string_decoder()), fun(Chat_id) -> gleam@dynamic@decode:optional_field( <<"ephemeral_message_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Ephemeral_message_id) -> gleam@dynamic@decode:optional_field( <<"allow_sending_without_reply"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Allow_sending_without_reply) -> gleam@dynamic@decode:optional_field( <<"quote"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Quote) -> gleam@dynamic@decode:optional_field( <<"quote_parse_mode"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Quote_parse_mode) -> gleam@dynamic@decode:optional_field( <<"quote_entities"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( message_entity_decoder( ) ) ), fun(Quote_entities) -> gleam@dynamic@decode:optional_field( <<"quote_position"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Quote_position ) -> gleam@dynamic@decode:optional_field( <<"checklist_task_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Checklist_task_id ) -> gleam@dynamic@decode:optional_field( <<"poll_option_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Poll_option_id ) -> gleam@dynamic@decode:success( {reply_parameters, Message_id, Chat_id, Ephemeral_message_id, Allow_sending_without_reply, Quote, Quote_parse_mode, Quote_entities, Quote_position, Checklist_task_id, Poll_option_id} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 7572). -spec response_parameters_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:response_parameters()). response_parameters_decoder() -> gleam@dynamic@decode:optional_field( <<"migrate_to_chat_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Migrate_to_chat_id) -> gleam@dynamic@decode:optional_field( <<"retry_after"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Retry_after) -> gleam@dynamic@decode:success( {response_parameters, Migrate_to_chat_id, Retry_after} ) end ) end ). -file("src/telega/model/decoder.gleam", 7589). -spec revenue_withdrawal_state_failed_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:revenue_withdrawal_state_failed()). revenue_withdrawal_state_failed_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success( {revenue_withdrawal_state_failed, Type_} ) end ). -file("src/telega/model/decoder.gleam", 7596). -spec revenue_withdrawal_state_pending_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:revenue_withdrawal_state_pending()). revenue_withdrawal_state_pending_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success( {revenue_withdrawal_state_pending, Type_} ) end ). -file("src/telega/model/decoder.gleam", 7603). -spec revenue_withdrawal_state_succeeded_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:revenue_withdrawal_state_succeeded()). revenue_withdrawal_state_succeeded_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:success( {revenue_withdrawal_state_succeeded, Type_, Date, Url} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8203). -spec sent_guest_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:sent_guest_message()). sent_guest_message_decoder() -> gleam@dynamic@decode:field( <<"inline_message_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Inline_message_id) -> gleam@dynamic@decode:success( {sent_guest_message, Inline_message_id} ) end ). -file("src/telega/model/decoder.gleam", 8208). -spec sent_web_app_message_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:sent_web_app_message()). sent_web_app_message_decoder() -> gleam@dynamic@decode:optional_field( <<"inline_message_id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Inline_message_id) -> gleam@dynamic@decode:success( {sent_web_app_message, Inline_message_id} ) end ). -file("src/telega/model/decoder.gleam", 8265). -spec shipping_option_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:shipping_option()). shipping_option_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"prices"/utf8>>, gleam@dynamic@decode:list(labeled_price_decoder()), fun(Prices) -> gleam@dynamic@decode:success( {shipping_option, Id, Title, Prices} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8272). -spec shipping_query_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:shipping_query()). shipping_query_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"from"/utf8>>, user_decoder(), fun(From) -> gleam@dynamic@decode:field( <<"invoice_payload"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Invoice_payload) -> gleam@dynamic@decode:field( <<"shipping_address"/utf8>>, shipping_address_decoder(), fun(Shipping_address) -> gleam@dynamic@decode:success( {shipping_query, Id, From, Invoice_payload, Shipping_address} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8812). -spec transaction_partner_other_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner_other()). transaction_partner_other_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success({transaction_partner_other, Type_}) end ). -file("src/telega/model/decoder.gleam", 8826). -spec transaction_partner_telegram_api_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner_telegram_api()). transaction_partner_telegram_api_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"request_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Request_count) -> gleam@dynamic@decode:success( {transaction_partner_telegram_api, Type_, Request_count} ) end ) end ). -file("src/telega/model/decoder.gleam", 8819). -spec transaction_partner_telegram_ads_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner_telegram_ads()). transaction_partner_telegram_ads_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:success( {transaction_partner_telegram_ads, Type_} ) end ). -file("src/telega/model/decoder.gleam", 10138). -spec revenue_withdrawal_state_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:revenue_withdrawal_state()). revenue_withdrawal_state_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"pending"/utf8>> -> gleam@dynamic@decode:then( revenue_withdrawal_state_pending_decoder(), fun(Value) -> gleam@dynamic@decode:success( {revenue_withdrawal_state_pending_revenue_withdrawal_state, Value} ) end ); <<"succeeded"/utf8>> -> gleam@dynamic@decode:then( revenue_withdrawal_state_succeeded_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {revenue_withdrawal_state_succeeded_revenue_withdrawal_state, Value@1} ) end ); <<"failed"/utf8>> -> gleam@dynamic@decode:then( revenue_withdrawal_state_failed_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {revenue_withdrawal_state_failed_revenue_withdrawal_state, Value@2} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for RevenueWithdrawalState"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"revenue_withdrawal_state_decoder"/utf8>>, line => 10157}) end end ). -file("src/telega/model/decoder.gleam", 8797). -spec transaction_partner_fragment_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner_fragment()). transaction_partner_fragment_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:optional_field( <<"withdrawal_state"/utf8>>, none, gleam@dynamic@decode:optional( revenue_withdrawal_state_decoder() ), fun(Withdrawal_state) -> gleam@dynamic@decode:success( {transaction_partner_fragment, Type_, Withdrawal_state} ) end ) end ). -file("src/telega/model/decoder.gleam", 8767). -spec transaction_partner_affiliate_program_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner_affiliate_program()). transaction_partner_affiliate_program_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:optional_field( <<"sponsor_user"/utf8>>, none, gleam@dynamic@decode:optional(user_decoder()), fun(Sponsor_user) -> gleam@dynamic@decode:field( <<"commission_per_mille"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Commission_per_mille) -> gleam@dynamic@decode:success( {transaction_partner_affiliate_program, Type_, Sponsor_user, Commission_per_mille} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8784). -spec transaction_partner_chat_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner_chat()). transaction_partner_chat_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"chat"/utf8>>, chat_decoder(), fun(Chat) -> gleam@dynamic@decode:optional_field( <<"gift"/utf8>>, none, gleam@dynamic@decode:optional(gift_decoder()), fun(Gift) -> gleam@dynamic@decode:success( {transaction_partner_chat, Type_, Chat, Gift} ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8837). -spec transaction_partner_user_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner_user()). transaction_partner_user_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"transaction_type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Transaction_type) -> gleam@dynamic@decode:field( <<"user"/utf8>>, user_decoder(), fun(User) -> gleam@dynamic@decode:optional_field( <<"affiliate"/utf8>>, none, gleam@dynamic@decode:optional( affiliate_info_decoder() ), fun(Affiliate) -> gleam@dynamic@decode:optional_field( <<"invoice_payload"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Invoice_payload) -> gleam@dynamic@decode:optional_field( <<"subscription_period"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Subscription_period) -> gleam@dynamic@decode:optional_field( <<"paid_media"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( paid_media_decoder( ) ) ), fun(Paid_media) -> gleam@dynamic@decode:optional_field( <<"paid_media_payload"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun( Paid_media_payload ) -> gleam@dynamic@decode:optional_field( <<"gift"/utf8>>, none, gleam@dynamic@decode:optional( gift_decoder( ) ), fun( Gift ) -> gleam@dynamic@decode:optional_field( <<"premium_subscription_duration"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Premium_subscription_duration ) -> gleam@dynamic@decode:success( {transaction_partner_user, Type_, Transaction_type, User, Affiliate, Invoice_payload, Subscription_period, Paid_media, Paid_media_payload, Gift, Premium_subscription_duration} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 10279). -spec transaction_partner_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:transaction_partner()). transaction_partner_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"user"/utf8>> -> gleam@dynamic@decode:then( transaction_partner_user_decoder(), fun(Value) -> gleam@dynamic@decode:success( {transaction_partner_user_transaction_partner, Value} ) end ); <<"chat"/utf8>> -> gleam@dynamic@decode:then( transaction_partner_chat_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {transaction_partner_chat_transaction_partner, Value@1} ) end ); <<"affiliate_program"/utf8>> -> gleam@dynamic@decode:then( transaction_partner_affiliate_program_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {transaction_partner_affiliate_program_transaction_partner, Value@2} ) end ); <<"fragment"/utf8>> -> gleam@dynamic@decode:then( transaction_partner_fragment_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {transaction_partner_fragment_transaction_partner, Value@3} ) end ); <<"telegram_ads"/utf8>> -> gleam@dynamic@decode:then( transaction_partner_telegram_ads_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {transaction_partner_telegram_ads_transaction_partner, Value@4} ) end ); <<"telegram_api"/utf8>> -> gleam@dynamic@decode:then( transaction_partner_telegram_api_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {transaction_partner_telegram_api_transaction_partner, Value@5} ) end ); <<"other"/utf8>> -> gleam@dynamic@decode:then( transaction_partner_other_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {transaction_partner_other_transaction_partner, Value@6} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for TransactionPartner"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"transaction_partner_decoder"/utf8>>, line => 10310}) end end ). -file("src/telega/model/decoder.gleam", 8298). -spec star_transaction_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:star_transaction()). star_transaction_decoder() -> gleam@dynamic@decode:field( <<"id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Id) -> gleam@dynamic@decode:field( <<"amount"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Amount) -> gleam@dynamic@decode:optional_field( <<"nanostar_amount"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Nanostar_amount) -> gleam@dynamic@decode:field( <<"date"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Date) -> gleam@dynamic@decode:optional_field( <<"source"/utf8>>, none, gleam@dynamic@decode:optional( transaction_partner_decoder() ), fun(Source) -> gleam@dynamic@decode:optional_field( <<"receiver"/utf8>>, none, gleam@dynamic@decode:optional( transaction_partner_decoder( ) ), fun(Receiver) -> gleam@dynamic@decode:success( {star_transaction, Id, Amount, Nanostar_amount, Date, Source, Receiver} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8327). -spec star_transactions_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:star_transactions()). star_transactions_decoder() -> gleam@dynamic@decode:field( <<"transactions"/utf8>>, gleam@dynamic@decode:list(star_transaction_decoder()), fun(Transactions) -> gleam@dynamic@decode:success({star_transactions, Transactions}) end ). -file("src/telega/model/decoder.gleam", 8402). -spec sticker_set_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:sticker_set()). sticker_set_decoder() -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:field( <<"title"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Title) -> gleam@dynamic@decode:field( <<"sticker_type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Sticker_type) -> gleam@dynamic@decode:field( <<"stickers"/utf8>>, gleam@dynamic@decode:list(sticker_decoder()), fun(Stickers) -> gleam@dynamic@decode:optional_field( <<"thumbnail"/utf8>>, none, gleam@dynamic@decode:optional( photo_size_decoder() ), fun(Thumbnail) -> gleam@dynamic@decode:success( {sticker_set, Name, Title, Sticker_type, Stickers, Thumbnail} ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8501). -spec story_area_type_unique_gift_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area_type_unique_gift()). story_area_type_unique_gift_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"name"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Name) -> gleam@dynamic@decode:success( {story_area_type_unique_gift, Type_, Name} ) end ) end ). -file("src/telega/model/decoder.gleam", 8509). -spec story_area_type_weather_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area_type_weather()). story_area_type_weather_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"temperature"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Temperature) -> gleam@dynamic@decode:field( <<"emoji"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Emoji) -> gleam@dynamic@decode:field( <<"background_color"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Background_color) -> gleam@dynamic@decode:success( {story_area_type_weather, Type_, Temperature, Emoji, Background_color} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8453). -spec story_area_type_link_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area_type_link()). story_area_type_link_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:success( {story_area_type_link, Type_, Url} ) end ) end ). -file("src/telega/model/decoder.gleam", 8478). -spec story_area_type_suggested_reaction_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area_type_suggested_reaction()). story_area_type_suggested_reaction_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"reaction_type"/utf8>>, reaction_type_decoder(), fun(Reaction_type) -> gleam@dynamic@decode:optional_field( <<"is_dark"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_dark) -> gleam@dynamic@decode:optional_field( <<"is_flipped"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_bool/1} ), fun(Is_flipped) -> gleam@dynamic@decode:success( {story_area_type_suggested_reaction, Type_, Reaction_type, Is_dark, Is_flipped} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8459). -spec story_area_type_location_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area_type_location()). story_area_type_location_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Type_) -> gleam@dynamic@decode:field( <<"latitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Latitude) -> gleam@dynamic@decode:field( <<"longitude"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Longitude) -> gleam@dynamic@decode:optional_field( <<"address"/utf8>>, none, gleam@dynamic@decode:optional( location_address_decoder() ), fun(Address) -> gleam@dynamic@decode:success( {story_area_type_location, Type_, Latitude, Longitude, Address} ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 10252). -spec story_area_type_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area_type()). story_area_type_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"location"/utf8>> -> gleam@dynamic@decode:then( story_area_type_location_decoder(), fun(Value) -> gleam@dynamic@decode:success( {story_area_type_location_story_area_type, Value} ) end ); <<"suggested_reaction"/utf8>> -> gleam@dynamic@decode:then( story_area_type_suggested_reaction_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {story_area_type_suggested_reaction_story_area_type, Value@1} ) end ); <<"link"/utf8>> -> gleam@dynamic@decode:then( story_area_type_link_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {story_area_type_link_story_area_type, Value@2} ) end ); <<"weather"/utf8>> -> gleam@dynamic@decode:then( story_area_type_weather_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {story_area_type_weather_story_area_type, Value@3} ) end ); <<"unique_gift"/utf8>> -> gleam@dynamic@decode:then( story_area_type_unique_gift_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {story_area_type_unique_gift_story_area_type, Value@4} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for StoryAreaType"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"story_area_type_decoder"/utf8>>, line => 10275}) end end ). -file("src/telega/model/decoder.gleam", 8433). -spec story_area_position_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area_position()). story_area_position_decoder() -> gleam@dynamic@decode:field( <<"x_percentage"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(X_percentage) -> gleam@dynamic@decode:field( <<"y_percentage"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Y_percentage) -> gleam@dynamic@decode:field( <<"width_percentage"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Width_percentage) -> gleam@dynamic@decode:field( <<"height_percentage"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Height_percentage) -> gleam@dynamic@decode:field( <<"rotation_angle"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Rotation_angle) -> gleam@dynamic@decode:field( <<"corner_radius_percentage"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_float/1}, fun(Corner_radius_percentage) -> gleam@dynamic@decode:success( {story_area_position, X_percentage, Y_percentage, Width_percentage, Height_percentage, Rotation_angle, Corner_radius_percentage} ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 8427). -spec story_area_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:story_area()). story_area_decoder() -> gleam@dynamic@decode:field( <<"position"/utf8>>, story_area_position_decoder(), fun(Position) -> gleam@dynamic@decode:field( <<"type"/utf8>>, story_area_type_decoder(), fun(Type_) -> gleam@dynamic@decode:success({story_area, Position, Type_}) end ) end ). -file("src/telega/model/decoder.gleam", 8672). -spec suggested_post_parameters_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:suggested_post_parameters()). suggested_post_parameters_decoder() -> gleam@dynamic@decode:optional_field( <<"price"/utf8>>, none, gleam@dynamic@decode:optional(suggested_post_price_decoder()), fun(Price) -> gleam@dynamic@decode:optional_field( <<"send_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Send_date) -> gleam@dynamic@decode:success( {suggested_post_parameters, Price, Send_date} ) end ) end ). -file("src/telega/model/decoder.gleam", 9066). -spec update_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:update()). update_decoder() -> gleam@dynamic@decode:field( <<"update_id"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Update_id) -> gleam@dynamic@decode:optional_field( <<"message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Message) -> gleam@dynamic@decode:optional_field( <<"edited_message"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Edited_message) -> gleam@dynamic@decode:optional_field( <<"channel_post"/utf8>>, none, gleam@dynamic@decode:optional(message_decoder()), fun(Channel_post) -> gleam@dynamic@decode:optional_field( <<"edited_channel_post"/utf8>>, none, gleam@dynamic@decode:optional( message_decoder() ), fun(Edited_channel_post) -> gleam@dynamic@decode:optional_field( <<"business_connection"/utf8>>, none, gleam@dynamic@decode:optional( business_connection_decoder( ) ), fun(Business_connection) -> gleam@dynamic@decode:optional_field( <<"business_message"/utf8>>, none, gleam@dynamic@decode:optional( message_decoder() ), fun(Business_message) -> gleam@dynamic@decode:optional_field( <<"edited_business_message"/utf8>>, none, gleam@dynamic@decode:optional( message_decoder( ) ), fun( Edited_business_message ) -> gleam@dynamic@decode:optional_field( <<"deleted_business_messages"/utf8>>, none, gleam@dynamic@decode:optional( business_messages_deleted_decoder( ) ), fun( Deleted_business_messages ) -> gleam@dynamic@decode:optional_field( <<"guest_message"/utf8>>, none, gleam@dynamic@decode:optional( message_decoder( ) ), fun( Guest_message ) -> gleam@dynamic@decode:optional_field( <<"message_reaction"/utf8>>, none, gleam@dynamic@decode:optional( message_reaction_updated_decoder( ) ), fun( Message_reaction ) -> gleam@dynamic@decode:optional_field( <<"message_reaction_count"/utf8>>, none, gleam@dynamic@decode:optional( message_reaction_count_updated_decoder( ) ), fun( Message_reaction_count ) -> gleam@dynamic@decode:optional_field( <<"inline_query"/utf8>>, none, gleam@dynamic@decode:optional( inline_query_decoder( ) ), fun( Inline_query ) -> gleam@dynamic@decode:optional_field( <<"chosen_inline_result"/utf8>>, none, gleam@dynamic@decode:optional( chosen_inline_result_decoder( ) ), fun( Chosen_inline_result ) -> gleam@dynamic@decode:optional_field( <<"callback_query"/utf8>>, none, gleam@dynamic@decode:optional( callback_query_decoder( ) ), fun( Callback_query ) -> gleam@dynamic@decode:optional_field( <<"shipping_query"/utf8>>, none, gleam@dynamic@decode:optional( shipping_query_decoder( ) ), fun( Shipping_query ) -> gleam@dynamic@decode:optional_field( <<"pre_checkout_query"/utf8>>, none, gleam@dynamic@decode:optional( pre_checkout_query_decoder( ) ), fun( Pre_checkout_query ) -> gleam@dynamic@decode:optional_field( <<"purchased_paid_media"/utf8>>, none, gleam@dynamic@decode:optional( paid_media_purchased_decoder( ) ), fun( Purchased_paid_media ) -> gleam@dynamic@decode:optional_field( <<"poll"/utf8>>, none, gleam@dynamic@decode:optional( poll_decoder( ) ), fun( Poll ) -> gleam@dynamic@decode:optional_field( <<"poll_answer"/utf8>>, none, gleam@dynamic@decode:optional( poll_answer_decoder( ) ), fun( Poll_answer ) -> gleam@dynamic@decode:optional_field( <<"my_chat_member"/utf8>>, none, gleam@dynamic@decode:optional( chat_member_updated_decoder( ) ), fun( My_chat_member ) -> gleam@dynamic@decode:optional_field( <<"chat_member"/utf8>>, none, gleam@dynamic@decode:optional( chat_member_updated_decoder( ) ), fun( Chat_member ) -> gleam@dynamic@decode:optional_field( <<"chat_join_request"/utf8>>, none, gleam@dynamic@decode:optional( chat_join_request_decoder( ) ), fun( Chat_join_request ) -> gleam@dynamic@decode:optional_field( <<"chat_boost"/utf8>>, none, gleam@dynamic@decode:optional( chat_boost_updated_decoder( ) ), fun( Chat_boost ) -> gleam@dynamic@decode:optional_field( <<"removed_chat_boost"/utf8>>, none, gleam@dynamic@decode:optional( chat_boost_removed_decoder( ) ), fun( Removed_chat_boost ) -> gleam@dynamic@decode:optional_field( <<"managed_bot"/utf8>>, none, gleam@dynamic@decode:optional( managed_bot_updated_decoder( ) ), fun( Managed_bot ) -> gleam@dynamic@decode:optional_field( <<"subscription"/utf8>>, none, gleam@dynamic@decode:optional( bot_subscription_updated_decoder( ) ), fun( Subscription ) -> gleam@dynamic@decode:success( {update, Update_id, Message, Edited_message, Channel_post, Edited_channel_post, Business_connection, Business_message, Edited_business_message, Deleted_business_messages, Guest_message, Message_reaction, Message_reaction_count, Inline_query, Chosen_inline_result, Callback_query, Shipping_query, Pre_checkout_query, Purchased_paid_media, Poll, Poll_answer, My_chat_member, Chat_member, Chat_join_request, Chat_boost, Removed_chat_boost, Managed_bot, Subscription} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9330). -spec user_chat_boosts_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:user_chat_boosts()). user_chat_boosts_decoder() -> gleam@dynamic@decode:field( <<"boosts"/utf8>>, gleam@dynamic@decode:list(chat_boost_decoder()), fun(Boosts) -> gleam@dynamic@decode:success({user_chat_boosts, Boosts}) end ). -file("src/telega/model/decoder.gleam", 9335). -spec user_profile_audios_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:user_profile_audios()). user_profile_audios_decoder() -> gleam@dynamic@decode:field( <<"total_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_count) -> gleam@dynamic@decode:field( <<"audios"/utf8>>, gleam@dynamic@decode:list(audio_decoder()), fun(Audios) -> gleam@dynamic@decode:success( {user_profile_audios, Total_count, Audios} ) end ) end ). -file("src/telega/model/decoder.gleam", 9341). -spec user_profile_photos_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:user_profile_photos()). user_profile_photos_decoder() -> gleam@dynamic@decode:field( <<"total_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_count) -> gleam@dynamic@decode:field( <<"photos"/utf8>>, gleam@dynamic@decode:list( gleam@dynamic@decode:list(photo_size_decoder()) ), fun(Photos) -> gleam@dynamic@decode:success( {user_profile_photos, Total_count, Photos} ) end ) end ). -file("src/telega/model/decoder.gleam", 9566). -spec webhook_info_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:webhook_info()). webhook_info_decoder() -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:field( <<"has_custom_certificate"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_bool/1}, fun(Has_custom_certificate) -> gleam@dynamic@decode:field( <<"pending_update_count"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Pending_update_count) -> gleam@dynamic@decode:optional_field( <<"ip_address"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Ip_address) -> gleam@dynamic@decode:optional_field( <<"last_error_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Last_error_date) -> gleam@dynamic@decode:optional_field( <<"last_error_message"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Last_error_message) -> gleam@dynamic@decode:optional_field( <<"last_synchronization_error_date"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Last_synchronization_error_date ) -> gleam@dynamic@decode:optional_field( <<"max_connections"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun( Max_connections ) -> gleam@dynamic@decode:optional_field( <<"allowed_updates"/utf8>>, none, gleam@dynamic@decode:optional( gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ), fun( Allowed_updates ) -> gleam@dynamic@decode:success( {webhook_info, Url, Has_custom_certificate, Pending_update_count, Ip_address, Last_error_date, Last_error_message, Last_synchronization_error_date, Max_connections, Allowed_updates} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/telega/model/decoder.gleam", 9681). -spec bot_command_scope_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:bot_command_scope()). bot_command_scope_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"default"/utf8>> -> gleam@dynamic@decode:then( bot_command_scope_default_decoder(), fun(Value) -> gleam@dynamic@decode:success( {bot_command_scope_default_bot_command_scope, Value} ) end ); <<"all_private_chats"/utf8>> -> gleam@dynamic@decode:then( bot_command_scope_all_private_chats_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {bot_command_scope_all_private_chats_bot_command_scope, Value@1} ) end ); <<"all_group_chats"/utf8>> -> gleam@dynamic@decode:then( bot_command_scope_all_group_chats_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {bot_command_scope_all_group_chats_bot_command_scope, Value@2} ) end ); <<"all_chat_administrators"/utf8>> -> gleam@dynamic@decode:then( bot_command_scope_all_chat_administrators_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {bot_command_scope_all_chat_administrators_bot_command_scope, Value@3} ) end ); <<"chat"/utf8>> -> gleam@dynamic@decode:then( bot_command_scope_chat_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {bot_command_scope_chat_bot_command_scope, Value@4} ) end ); <<"chat_administrators"/utf8>> -> gleam@dynamic@decode:then( bot_command_scope_chat_administrators_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {bot_command_scope_chat_administrators_bot_command_scope, Value@5} ) end ); <<"chat_member"/utf8>> -> gleam@dynamic@decode:then( bot_command_scope_chat_member_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {bot_command_scope_chat_member_bot_command_scope, Value@6} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for BotCommandScope"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"bot_command_scope_decoder"/utf8>>, line => 9714}) end end ). -file("src/telega/model/decoder.gleam", 9768). -spec input_paid_media_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_paid_media()). input_paid_media_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"live_photo"/utf8>> -> gleam@dynamic@decode:then( input_paid_media_live_photo_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_paid_media_live_photo_input_paid_media, Value} ) end ); <<"photo"/utf8>> -> gleam@dynamic@decode:then( input_paid_media_photo_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_paid_media_photo_input_paid_media, Value@1} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( input_paid_media_video_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {input_paid_media_video_input_paid_media, Value@2} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputPaidMedia"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_paid_media_decoder"/utf8>>, line => 9783}) end end ). -file("src/telega/model/decoder.gleam", 9787). -spec input_poll_media_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_poll_media()). input_poll_media_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"animation"/utf8>> -> gleam@dynamic@decode:then( input_media_animation_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_media_animation_input_poll_media, Value} ) end ); <<"audio"/utf8>> -> gleam@dynamic@decode:then( input_media_audio_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_media_audio_input_poll_media, Value@1} ) end ); <<"document"/utf8>> -> gleam@dynamic@decode:then( input_media_document_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {input_media_document_input_poll_media, Value@2} ) end ); <<"live_photo"/utf8>> -> gleam@dynamic@decode:then( input_media_live_photo_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {input_media_live_photo_input_poll_media, Value@3} ) end ); <<"location"/utf8>> -> gleam@dynamic@decode:then( input_media_location_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {input_media_location_input_poll_media, Value@4} ) end ); <<"photo"/utf8>> -> gleam@dynamic@decode:then( input_media_photo_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {input_media_photo_input_poll_media, Value@5} ) end ); <<"venue"/utf8>> -> gleam@dynamic@decode:then( input_media_venue_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {input_media_venue_input_poll_media, Value@6} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( input_media_video_decoder(), fun(Value@7) -> gleam@dynamic@decode:success( {input_media_video_input_poll_media, Value@7} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputPollMedia"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_poll_media_decoder"/utf8>>, line => 9822}) end end ). -file("src/telega/model/decoder.gleam", 9865). -spec input_profile_photo_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_profile_photo()). input_profile_photo_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"static"/utf8>> -> gleam@dynamic@decode:then( input_profile_photo_static_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_profile_photo_static_input_profile_photo, Value} ) end ); <<"animated"/utf8>> -> gleam@dynamic@decode:then( input_profile_photo_animated_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_profile_photo_animated_input_profile_photo, Value@1} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputProfilePhoto"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_profile_photo_decoder"/utf8>>, line => 9876}) end end ). -file("src/telega/model/decoder.gleam", 9973). -spec input_story_content_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_story_content()). input_story_content_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"photo"/utf8>> -> gleam@dynamic@decode:then( input_story_content_photo_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_story_content_photo_input_story_content, Value} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( input_story_content_video_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_story_content_video_input_story_content, Value@1} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputStoryContent"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_story_content_decoder"/utf8>>, line => 9984}) end end ). -file("src/telega/model/decoder.gleam", 9988). -spec menu_button_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:menu_button()). menu_button_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"commands"/utf8>> -> gleam@dynamic@decode:then( menu_button_commands_decoder(), fun(Value) -> gleam@dynamic@decode:success( {menu_button_commands_menu_button, Value} ) end ); <<"web_app"/utf8>> -> gleam@dynamic@decode:then( menu_button_web_app_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {menu_button_web_app_menu_button, Value@1} ) end ); <<"default"/utf8>> -> gleam@dynamic@decode:then( menu_button_default_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {menu_button_default_menu_button, Value@2} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for MenuButton"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"menu_button_decoder"/utf8>>, line => 10003}) end end ). -file("src/telega/model/decoder.gleam", 10068). -spec passport_element_error_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:passport_element_error()). passport_element_error_decoder() -> gleam@dynamic@decode:field( <<"source"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"data"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_data_field_decoder(), fun(Value) -> gleam@dynamic@decode:success( {passport_element_error_data_field_passport_element_error, Value} ) end ); <<"front_side"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_front_side_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {passport_element_error_front_side_passport_element_error, Value@1} ) end ); <<"reverse_side"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_reverse_side_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {passport_element_error_reverse_side_passport_element_error, Value@2} ) end ); <<"selfie"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_selfie_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {passport_element_error_selfie_passport_element_error, Value@3} ) end ); <<"file"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_file_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {passport_element_error_file_passport_element_error, Value@4} ) end ); <<"files"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_files_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {passport_element_error_files_passport_element_error, Value@5} ) end ); <<"translation_file"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_translation_file_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {passport_element_error_translation_file_passport_element_error, Value@6} ) end ); <<"translation_files"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_translation_files_decoder(), fun(Value@7) -> gleam@dynamic@decode:success( {passport_element_error_translation_files_passport_element_error, Value@7} ) end ); <<"unspecified"/utf8>> -> gleam@dynamic@decode:then( passport_element_error_unspecified_decoder(), fun(Value@8) -> gleam@dynamic@decode:success( {passport_element_error_unspecified_passport_element_error, Value@8} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for PassportElementError"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"passport_element_error_decoder"/utf8>>, line => 10115}) end end ). -file("src/telega/model/decoder.gleam", 10321). -spec messages_array_decoder() -> gleam@dynamic@decode:decoder(list(telega@model@types:message())). messages_array_decoder() -> gleam@dynamic@decode:list(message_decoder()). -file("src/telega/model/decoder.gleam", 10325). -spec input_media_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:input_media()). input_media_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"animation"/utf8>> -> gleam@dynamic@decode:then( input_media_animation_decoder(), fun(Value) -> gleam@dynamic@decode:success( {input_media_animation_input_media, Value} ) end ); <<"document"/utf8>> -> gleam@dynamic@decode:then( input_media_document_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {input_media_document_input_media, Value@1} ) end ); <<"audio"/utf8>> -> gleam@dynamic@decode:then( input_media_audio_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {input_media_audio_input_media, Value@2} ) end ); <<"photo"/utf8>> -> gleam@dynamic@decode:then( input_media_photo_decoder(), fun(Value@3) -> gleam@dynamic@decode:success( {input_media_photo_input_media, Value@3} ) end ); <<"video"/utf8>> -> gleam@dynamic@decode:then( input_media_video_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {input_media_video_input_media, Value@4} ) end ); <<"live_photo"/utf8>> -> gleam@dynamic@decode:then( input_media_live_photo_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {input_media_live_photo_input_media, Value@5} ) end ); <<"location"/utf8>> -> gleam@dynamic@decode:then( input_media_location_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {input_media_location_input_media, Value@6} ) end ); <<"sticker"/utf8>> -> gleam@dynamic@decode:then( input_media_sticker_decoder(), fun(Value@7) -> gleam@dynamic@decode:success( {input_media_sticker_input_media, Value@7} ) end ); <<"venue"/utf8>> -> gleam@dynamic@decode:then( input_media_venue_decoder(), fun(Value@8) -> gleam@dynamic@decode:success( {input_media_venue_input_media, Value@8} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InputMedia"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"input_media_decoder"/utf8>>, line => 10364}) end end ). -file("src/telega/model/decoder.gleam", 10514). -spec inline_query_result_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:inline_query_result()). inline_query_result_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"audio"/utf8>> -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( inline_query_result_cached_audio_decoder(), fun(Value) -> gleam@dynamic@decode:success( {inline_query_result_cached_audio_inline_query_result, Value} ) end ) end, [begin gleam@dynamic@decode:then( inline_query_result_cached_audio_decoder(), fun(Value@1) -> gleam@dynamic@decode:success( {inline_query_result_cached_audio_inline_query_result, Value@1} ) end ) end] ); <<"document"/utf8>> -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( inline_query_result_document_decoder(), fun(Value@2) -> gleam@dynamic@decode:success( {inline_query_result_document_inline_query_result, Value@2} ) end ) end, [begin gleam@dynamic@decode:then( inline_query_result_cached_document_decoder( ), fun(Value@3) -> gleam@dynamic@decode:success( {inline_query_result_cached_document_inline_query_result, Value@3} ) end ) end] ); <<"gif"/utf8>> -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( inline_query_result_gif_decoder(), fun(Value@4) -> gleam@dynamic@decode:success( {inline_query_result_gif_inline_query_result, Value@4} ) end ) end, [begin gleam@dynamic@decode:then( inline_query_result_cached_gif_decoder(), fun(Value@5) -> gleam@dynamic@decode:success( {inline_query_result_cached_gif_inline_query_result, Value@5} ) end ) end] ); <<"mpeg4_gif"/utf8>> -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( inline_query_result_mpeg4_gif_decoder(), fun(Value@6) -> gleam@dynamic@decode:success( {inline_query_result_mpeg4_gif_inline_query_result, Value@6} ) end ) end, [begin gleam@dynamic@decode:then( inline_query_result_cached_mpeg4_gif_decoder( ), fun(Value@7) -> gleam@dynamic@decode:success( {inline_query_result_cached_mpeg4_gif_inline_query_result, Value@7} ) end ) end] ); <<"photo"/utf8>> -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( inline_query_result_photo_decoder(), fun(Value@8) -> gleam@dynamic@decode:success( {inline_query_result_photo_inline_query_result, Value@8} ) end ) end, [begin gleam@dynamic@decode:then( inline_query_result_cached_photo_decoder(), fun(Value@9) -> gleam@dynamic@decode:success( {inline_query_result_cached_photo_inline_query_result, Value@9} ) end ) end] ); <<"video"/utf8>> -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( inline_query_result_video_decoder(), fun(Value@10) -> gleam@dynamic@decode:success( {inline_query_result_video_inline_query_result, Value@10} ) end ) end, [begin gleam@dynamic@decode:then( inline_query_result_cached_video_decoder(), fun(Value@11) -> gleam@dynamic@decode:success( {inline_query_result_cached_video_inline_query_result, Value@11} ) end ) end] ); <<"voice"/utf8>> -> gleam@dynamic@decode:one_of( begin gleam@dynamic@decode:then( inline_query_result_voice_decoder(), fun(Value@12) -> gleam@dynamic@decode:success( {inline_query_result_voice_inline_query_result, Value@12} ) end ) end, [begin gleam@dynamic@decode:then( inline_query_result_cached_voice_decoder(), fun(Value@13) -> gleam@dynamic@decode:success( {inline_query_result_cached_voice_inline_query_result, Value@13} ) end ) end] ); <<"sticker"/utf8>> -> gleam@dynamic@decode:then( inline_query_result_cached_sticker_decoder(), fun(Value@14) -> gleam@dynamic@decode:success( {inline_query_result_cached_sticker_inline_query_result, Value@14} ) end ); <<"article"/utf8>> -> gleam@dynamic@decode:then( inline_query_result_article_decoder(), fun(Value@15) -> gleam@dynamic@decode:success( {inline_query_result_article_inline_query_result, Value@15} ) end ); <<"contact"/utf8>> -> gleam@dynamic@decode:then( inline_query_result_contact_decoder(), fun(Value@16) -> gleam@dynamic@decode:success( {inline_query_result_contact_inline_query_result, Value@16} ) end ); <<"game"/utf8>> -> gleam@dynamic@decode:then( inline_query_result_game_decoder(), fun(Value@17) -> gleam@dynamic@decode:success( {inline_query_result_game_inline_query_result, Value@17} ) end ); <<"location"/utf8>> -> gleam@dynamic@decode:then( inline_query_result_location_decoder(), fun(Value@18) -> gleam@dynamic@decode:success( {inline_query_result_location_inline_query_result, Value@18} ) end ); <<"venue"/utf8>> -> gleam@dynamic@decode:then( inline_query_result_venue_decoder(), fun(Value@19) -> gleam@dynamic@decode:success( {inline_query_result_venue_inline_query_result, Value@19} ) end ); _ -> erlang:error(#{gleam_error => panic, message => <<"Invalid variant for InlineQueryResult"/utf8>>, file => <>, module => <<"telega/model/decoder"/utf8>>, function => <<"inline_query_result_decoder"/utf8>>, line => 10648}) end end ). -file("src/telega/model/decoder.gleam", 10681). -spec file_or_string_decoder() -> gleam@dynamic@decode:decoder(telega@model@types:file_or_string()). file_or_string_decoder() -> gleam@dynamic@decode:field( <<"type"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Variant) -> case Variant of <<"file_v"/utf8>> -> gleam@dynamic@decode:then( file_decoder(), fun(Value) -> gleam@dynamic@decode:success({file_v, Value}) end ); <<"string"/utf8>> -> gleam@dynamic@decode:then( {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(String) -> gleam@dynamic@decode:success({string_v, String}) end ); _ -> gleam@dynamic@decode:failure( {string_v, <<""/utf8>>}, <<"FileOrString"/utf8>> ) end end ).