tdlib-ruby 2.2.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.gitmodules +0 -3
- data/.travis.yml +5 -2
- data/bin/build +2 -2
- data/lib/tdlib-ruby.rb +3 -3
- data/lib/tdlib/client.rb +2 -2
- data/lib/tdlib/update_handler.rb +3 -0
- data/lib/tdlib/version.rb +1 -1
- data/spec/integration/tdlib_spec.rb +1 -1
- data/tdlib-ruby.gemspec +1 -3
- metadata +17 -875
- data/bin/parser +0 -467
- data/lib/tdlib/client_methods.rb +0 -4244
- data/lib/tdlib/types.rb +0 -1109
- data/lib/tdlib/types/account_ttl.rb +0 -10
- data/lib/tdlib/types/address.rb +0 -18
- data/lib/tdlib/types/animation.rb +0 -23
- data/lib/tdlib/types/animations.rb +0 -8
- data/lib/tdlib/types/audio.rb +0 -24
- data/lib/tdlib/types/authentication_code_info.rb +0 -15
- data/lib/tdlib/types/authentication_code_type.rb +0 -13
- data/lib/tdlib/types/authentication_code_type/call.rb +0 -8
- data/lib/tdlib/types/authentication_code_type/flash_call.rb +0 -9
- data/lib/tdlib/types/authentication_code_type/sms.rb +0 -8
- data/lib/tdlib/types/authentication_code_type/telegram_message.rb +0 -8
- data/lib/tdlib/types/authorization_state.rb +0 -20
- data/lib/tdlib/types/authorization_state/closed.rb +0 -9
- data/lib/tdlib/types/authorization_state/closing.rb +0 -7
- data/lib/tdlib/types/authorization_state/logging_out.rb +0 -5
- data/lib/tdlib/types/authorization_state/ready.rb +0 -6
- data/lib/tdlib/types/authorization_state/wait_code.rb +0 -8
- data/lib/tdlib/types/authorization_state/wait_encryption_key.rb +0 -8
- data/lib/tdlib/types/authorization_state/wait_other_device_confirmation.rb +0 -9
- data/lib/tdlib/types/authorization_state/wait_password.rb +0 -13
- data/lib/tdlib/types/authorization_state/wait_phone_number.rb +0 -7
- data/lib/tdlib/types/authorization_state/wait_registration.rb +0 -9
- data/lib/tdlib/types/authorization_state/wait_tdlib_parameters.rb +0 -5
- data/lib/tdlib/types/auto_download_settings.rb +0 -23
- data/lib/tdlib/types/auto_download_settings_presets.rb +0 -15
- data/lib/tdlib/types/background.rb +0 -19
- data/lib/tdlib/types/background_fill.rb +0 -11
- data/lib/tdlib/types/background_fill/gradient.rb +0 -13
- data/lib/tdlib/types/background_fill/solid.rb +0 -8
- data/lib/tdlib/types/background_type.rb +0 -12
- data/lib/tdlib/types/background_type/fill.rb +0 -8
- data/lib/tdlib/types/background_type/pattern.rb +0 -13
- data/lib/tdlib/types/background_type/wallpaper.rb +0 -11
- data/lib/tdlib/types/backgrounds.rb +0 -8
- data/lib/tdlib/types/base.rb +0 -29
- data/lib/tdlib/types/basic_group.rb +0 -16
- data/lib/tdlib/types/basic_group_full_info.rb +0 -15
- data/lib/tdlib/types/bot_command.rb +0 -10
- data/lib/tdlib/types/bot_info.rb +0 -10
- data/lib/tdlib/types/call.rb +0 -14
- data/lib/tdlib/types/call_connection.rb +0 -16
- data/lib/tdlib/types/call_discard_reason.rb +0 -14
- data/lib/tdlib/types/call_discard_reason/declined.rb +0 -6
- data/lib/tdlib/types/call_discard_reason/disconnected.rb +0 -5
- data/lib/tdlib/types/call_discard_reason/empty.rb +0 -5
- data/lib/tdlib/types/call_discard_reason/hung_up.rb +0 -5
- data/lib/tdlib/types/call_discard_reason/missed.rb +0 -6
- data/lib/tdlib/types/call_id.rb +0 -8
- data/lib/tdlib/types/call_problem.rb +0 -16
- data/lib/tdlib/types/call_problem/distorted_speech.rb +0 -5
- data/lib/tdlib/types/call_problem/dropped.rb +0 -5
- data/lib/tdlib/types/call_problem/echo.rb +0 -5
- data/lib/tdlib/types/call_problem/interruptions.rb +0 -5
- data/lib/tdlib/types/call_problem/noise.rb +0 -5
- data/lib/tdlib/types/call_problem/silent_local.rb +0 -5
- data/lib/tdlib/types/call_problem/silent_remote.rb +0 -5
- data/lib/tdlib/types/call_protocol.rb +0 -14
- data/lib/tdlib/types/call_state.rb +0 -15
- data/lib/tdlib/types/call_state/discarded.rb +0 -12
- data/lib/tdlib/types/call_state/error.rb +0 -9
- data/lib/tdlib/types/call_state/exchanging_keys.rb +0 -5
- data/lib/tdlib/types/call_state/hanging_up.rb +0 -5
- data/lib/tdlib/types/call_state/pending.rb +0 -10
- data/lib/tdlib/types/call_state/ready.rb +0 -18
- data/lib/tdlib/types/callback_query_answer.rb +0 -12
- data/lib/tdlib/types/callback_query_payload.rb +0 -11
- data/lib/tdlib/types/callback_query_payload/data.rb +0 -8
- data/lib/tdlib/types/callback_query_payload/game.rb +0 -8
- data/lib/tdlib/types/can_transfer_ownership_result.rb +0 -13
- data/lib/tdlib/types/can_transfer_ownership_result/ok.rb +0 -5
- data/lib/tdlib/types/can_transfer_ownership_result/password_needed.rb +0 -5
- data/lib/tdlib/types/can_transfer_ownership_result/password_too_fresh.rb +0 -8
- data/lib/tdlib/types/can_transfer_ownership_result/session_too_fresh.rb +0 -8
- data/lib/tdlib/types/chat.rb +0 -68
- data/lib/tdlib/types/chat_action.rb +0 -22
- data/lib/tdlib/types/chat_action/cancel.rb +0 -5
- data/lib/tdlib/types/chat_action/choosing_contact.rb +0 -5
- data/lib/tdlib/types/chat_action/choosing_location.rb +0 -5
- data/lib/tdlib/types/chat_action/recording_video.rb +0 -5
- data/lib/tdlib/types/chat_action/recording_video_note.rb +0 -5
- data/lib/tdlib/types/chat_action/recording_voice_note.rb +0 -5
- data/lib/tdlib/types/chat_action/start_playing_game.rb +0 -5
- data/lib/tdlib/types/chat_action/typing.rb +0 -5
- data/lib/tdlib/types/chat_action/uploading_document.rb +0 -8
- data/lib/tdlib/types/chat_action/uploading_photo.rb +0 -8
- data/lib/tdlib/types/chat_action/uploading_video.rb +0 -8
- data/lib/tdlib/types/chat_action/uploading_video_note.rb +0 -8
- data/lib/tdlib/types/chat_action/uploading_voice_note.rb +0 -8
- data/lib/tdlib/types/chat_action_bar.rb +0 -14
- data/lib/tdlib/types/chat_action_bar/add_contact.rb +0 -6
- data/lib/tdlib/types/chat_action_bar/report_add_block.rb +0 -6
- data/lib/tdlib/types/chat_action_bar/report_spam.rb +0 -5
- data/lib/tdlib/types/chat_action_bar/report_unrelated_location.rb +0 -6
- data/lib/tdlib/types/chat_action_bar/share_phone_number.rb +0 -6
- data/lib/tdlib/types/chat_administrator.rb +0 -12
- data/lib/tdlib/types/chat_administrators.rb +0 -8
- data/lib/tdlib/types/chat_event.rb +0 -14
- data/lib/tdlib/types/chat_event_action.rb +0 -31
- data/lib/tdlib/types/chat_event_action/description_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/invites_toggled.rb +0 -8
- data/lib/tdlib/types/chat_event_action/is_all_history_available_toggled.rb +0 -8
- data/lib/tdlib/types/chat_event_action/linked_chat_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/location_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/member_invited.rb +0 -10
- data/lib/tdlib/types/chat_event_action/member_joined.rb +0 -5
- data/lib/tdlib/types/chat_event_action/member_left.rb +0 -5
- data/lib/tdlib/types/chat_event_action/member_promoted.rb +0 -12
- data/lib/tdlib/types/chat_event_action/member_restricted.rb +0 -12
- data/lib/tdlib/types/chat_event_action/message_deleted.rb +0 -8
- data/lib/tdlib/types/chat_event_action/message_edited.rb +0 -10
- data/lib/tdlib/types/chat_event_action/message_pinned.rb +0 -8
- data/lib/tdlib/types/chat_event_action/message_unpinned.rb +0 -5
- data/lib/tdlib/types/chat_event_action/permissions_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/photo_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/poll_stopped.rb +0 -8
- data/lib/tdlib/types/chat_event_action/sign_messages_toggled.rb +0 -8
- data/lib/tdlib/types/chat_event_action/slow_mode_delay_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/sticker_set_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/title_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_action/username_changed.rb +0 -10
- data/lib/tdlib/types/chat_event_log_filters.rb +0 -27
- data/lib/tdlib/types/chat_events.rb +0 -8
- data/lib/tdlib/types/chat_invite_link.rb +0 -8
- data/lib/tdlib/types/chat_invite_link_info.rb +0 -21
- data/lib/tdlib/types/chat_list.rb +0 -11
- data/lib/tdlib/types/chat_list/archive.rb +0 -6
- data/lib/tdlib/types/chat_list/main.rb +0 -5
- data/lib/tdlib/types/chat_location.rb +0 -10
- data/lib/tdlib/types/chat_member.rb +0 -18
- data/lib/tdlib/types/chat_member_status.rb +0 -15
- data/lib/tdlib/types/chat_member_status/administrator.rb +0 -32
- data/lib/tdlib/types/chat_member_status/banned.rb +0 -11
- data/lib/tdlib/types/chat_member_status/creator.rb +0 -11
- data/lib/tdlib/types/chat_member_status/left.rb +0 -5
- data/lib/tdlib/types/chat_member_status/member.rb +0 -5
- data/lib/tdlib/types/chat_member_status/restricted.rb +0 -16
- data/lib/tdlib/types/chat_members.rb +0 -10
- data/lib/tdlib/types/chat_members_filter.rb +0 -15
- data/lib/tdlib/types/chat_members_filter/administrators.rb +0 -5
- data/lib/tdlib/types/chat_members_filter/banned.rb +0 -5
- data/lib/tdlib/types/chat_members_filter/bots.rb +0 -5
- data/lib/tdlib/types/chat_members_filter/contacts.rb +0 -5
- data/lib/tdlib/types/chat_members_filter/members.rb +0 -5
- data/lib/tdlib/types/chat_members_filter/restricted.rb +0 -5
- data/lib/tdlib/types/chat_nearby.rb +0 -10
- data/lib/tdlib/types/chat_notification_settings.rb +0 -34
- data/lib/tdlib/types/chat_permissions.rb +0 -28
- data/lib/tdlib/types/chat_photo.rb +0 -12
- data/lib/tdlib/types/chat_report_reason.rb +0 -16
- data/lib/tdlib/types/chat_report_reason/child_abuse.rb +0 -5
- data/lib/tdlib/types/chat_report_reason/copyright.rb +0 -5
- data/lib/tdlib/types/chat_report_reason/custom.rb +0 -8
- data/lib/tdlib/types/chat_report_reason/pornography.rb +0 -5
- data/lib/tdlib/types/chat_report_reason/spam.rb +0 -5
- data/lib/tdlib/types/chat_report_reason/unrelated_location.rb +0 -5
- data/lib/tdlib/types/chat_report_reason/violence.rb +0 -5
- data/lib/tdlib/types/chat_type.rb +0 -13
- data/lib/tdlib/types/chat_type/basic_group.rb +0 -8
- data/lib/tdlib/types/chat_type/private.rb +0 -8
- data/lib/tdlib/types/chat_type/secret.rb +0 -10
- data/lib/tdlib/types/chat_type/supergroup.rb +0 -11
- data/lib/tdlib/types/chats.rb +0 -8
- data/lib/tdlib/types/chats_nearby.rb +0 -10
- data/lib/tdlib/types/check_chat_username_result.rb +0 -14
- data/lib/tdlib/types/check_chat_username_result/ok.rb +0 -5
- data/lib/tdlib/types/check_chat_username_result/public_chats_too_much.rb +0 -5
- data/lib/tdlib/types/check_chat_username_result/public_groups_unavailable.rb +0 -5
- data/lib/tdlib/types/check_chat_username_result/username_invalid.rb +0 -5
- data/lib/tdlib/types/check_chat_username_result/username_occupied.rb +0 -5
- data/lib/tdlib/types/connected_website.rb +0 -25
- data/lib/tdlib/types/connected_websites.rb +0 -8
- data/lib/tdlib/types/connection_state.rb +0 -14
- data/lib/tdlib/types/connection_state/connecting.rb +0 -5
- data/lib/tdlib/types/connection_state/connecting_to_proxy.rb +0 -5
- data/lib/tdlib/types/connection_state/ready.rb +0 -5
- data/lib/tdlib/types/connection_state/updating.rb +0 -5
- data/lib/tdlib/types/connection_state/waiting_for_network.rb +0 -6
- data/lib/tdlib/types/contact.rb +0 -16
- data/lib/tdlib/types/count.rb +0 -8
- data/lib/tdlib/types/custom_request_result.rb +0 -8
- data/lib/tdlib/types/database_statistics.rb +0 -8
- data/lib/tdlib/types/date.rb +0 -12
- data/lib/tdlib/types/dated_file.rb +0 -10
- data/lib/tdlib/types/deep_link_info.rb +0 -10
- data/lib/tdlib/types/device_token.rb +0 -22
- data/lib/tdlib/types/device_token/apple_push.rb +0 -10
- data/lib/tdlib/types/device_token/apple_push_vo_ip.rb +0 -12
- data/lib/tdlib/types/device_token/black_berry_push.rb +0 -8
- data/lib/tdlib/types/device_token/firebase_cloud_messaging.rb +0 -10
- data/lib/tdlib/types/device_token/microsoft_push.rb +0 -8
- data/lib/tdlib/types/device_token/microsoft_push_vo_ip.rb +0 -8
- data/lib/tdlib/types/device_token/simple_push.rb +0 -9
- data/lib/tdlib/types/device_token/tizen_push.rb +0 -8
- data/lib/tdlib/types/device_token/ubuntu_push.rb +0 -8
- data/lib/tdlib/types/device_token/web_push.rb +0 -13
- data/lib/tdlib/types/device_token/windows_push.rb +0 -9
- data/lib/tdlib/types/document.rb +0 -17
- data/lib/tdlib/types/draft_message.rb +0 -11
- data/lib/tdlib/types/email_address_authentication_code_info.rb +0 -10
- data/lib/tdlib/types/emojis.rb +0 -8
- data/lib/tdlib/types/encrypted_credentials.rb +0 -12
- data/lib/tdlib/types/encrypted_passport_element.rb +0 -25
- data/lib/tdlib/types/error.rb +0 -12
- data/lib/tdlib/types/file.rb +0 -18
- data/lib/tdlib/types/file_part.rb +0 -8
- data/lib/tdlib/types/file_type.rb +0 -25
- data/lib/tdlib/types/file_type/animation.rb +0 -5
- data/lib/tdlib/types/file_type/audio.rb +0 -5
- data/lib/tdlib/types/file_type/document.rb +0 -5
- data/lib/tdlib/types/file_type/none.rb +0 -5
- data/lib/tdlib/types/file_type/photo.rb +0 -5
- data/lib/tdlib/types/file_type/profile_photo.rb +0 -5
- data/lib/tdlib/types/file_type/secret.rb +0 -5
- data/lib/tdlib/types/file_type/secret_thumbnail.rb +0 -5
- data/lib/tdlib/types/file_type/secure.rb +0 -5
- data/lib/tdlib/types/file_type/sticker.rb +0 -5
- data/lib/tdlib/types/file_type/thumbnail.rb +0 -5
- data/lib/tdlib/types/file_type/unknown.rb +0 -5
- data/lib/tdlib/types/file_type/video.rb +0 -5
- data/lib/tdlib/types/file_type/video_note.rb +0 -5
- data/lib/tdlib/types/file_type/voice_note.rb +0 -5
- data/lib/tdlib/types/file_type/wallpaper.rb +0 -5
- data/lib/tdlib/types/formatted_text.rb +0 -14
- data/lib/tdlib/types/found_messages.rb +0 -10
- data/lib/tdlib/types/game.rb +0 -21
- data/lib/tdlib/types/game_high_score.rb +0 -12
- data/lib/tdlib/types/game_high_scores.rb +0 -8
- data/lib/tdlib/types/hashtags.rb +0 -8
- data/lib/tdlib/types/http_url.rb +0 -8
- data/lib/tdlib/types/identity_document.rb +0 -19
- data/lib/tdlib/types/imported_contacts.rb +0 -12
- data/lib/tdlib/types/inline_keyboard_button.rb +0 -10
- data/lib/tdlib/types/inline_keyboard_button_type.rb +0 -15
- data/lib/tdlib/types/inline_keyboard_button_type/buy.rb +0 -7
- data/lib/tdlib/types/inline_keyboard_button_type/callback.rb +0 -8
- data/lib/tdlib/types/inline_keyboard_button_type/callback_game.rb +0 -7
- data/lib/tdlib/types/inline_keyboard_button_type/login_url.rb +0 -12
- data/lib/tdlib/types/inline_keyboard_button_type/switch_inline.rb +0 -10
- data/lib/tdlib/types/inline_keyboard_button_type/url.rb +0 -8
- data/lib/tdlib/types/inline_query_result.rb +0 -21
- data/lib/tdlib/types/inline_query_result/animation.rb +0 -12
- data/lib/tdlib/types/inline_query_result/article.rb +0 -18
- data/lib/tdlib/types/inline_query_result/audio.rb +0 -10
- data/lib/tdlib/types/inline_query_result/contact.rb +0 -12
- data/lib/tdlib/types/inline_query_result/document.rb +0 -14
- data/lib/tdlib/types/inline_query_result/game.rb +0 -10
- data/lib/tdlib/types/inline_query_result/location.rb +0 -14
- data/lib/tdlib/types/inline_query_result/photo.rb +0 -14
- data/lib/tdlib/types/inline_query_result/sticker.rb +0 -10
- data/lib/tdlib/types/inline_query_result/venue.rb +0 -12
- data/lib/tdlib/types/inline_query_result/video.rb +0 -14
- data/lib/tdlib/types/inline_query_result/voice_note.rb +0 -12
- data/lib/tdlib/types/inline_query_results.rb +0 -19
- data/lib/tdlib/types/input_background.rb +0 -11
- data/lib/tdlib/types/input_background/local.rb +0 -10
- data/lib/tdlib/types/input_background/remote.rb +0 -8
- data/lib/tdlib/types/input_credentials.rb +0 -13
- data/lib/tdlib/types/input_credentials/android_pay.rb +0 -8
- data/lib/tdlib/types/input_credentials/apple_pay.rb +0 -8
- data/lib/tdlib/types/input_credentials/new.rb +0 -10
- data/lib/tdlib/types/input_credentials/saved.rb +0 -9
- data/lib/tdlib/types/input_file.rb +0 -13
- data/lib/tdlib/types/input_file/generated.rb +0 -15
- data/lib/tdlib/types/input_file/id.rb +0 -8
- data/lib/tdlib/types/input_file/local.rb +0 -8
- data/lib/tdlib/types/input_file/remote.rb +0 -12
- data/lib/tdlib/types/input_identity_document.rb +0 -19
- data/lib/tdlib/types/input_inline_query_result.rb +0 -22
- data/lib/tdlib/types/input_inline_query_result/animated_gif.rb +0 -27
- data/lib/tdlib/types/input_inline_query_result/animated_mpeg4.rb +0 -28
- data/lib/tdlib/types/input_inline_query_result/article.rb +0 -29
- data/lib/tdlib/types/input_inline_query_result/audio.rb +0 -23
- data/lib/tdlib/types/input_inline_query_result/contact.rb +0 -23
- data/lib/tdlib/types/input_inline_query_result/document.rb +0 -30
- data/lib/tdlib/types/input_inline_query_result/game.rb +0 -13
- data/lib/tdlib/types/input_inline_query_result/location.rb +0 -28
- data/lib/tdlib/types/input_inline_query_result/photo.rb +0 -27
- data/lib/tdlib/types/input_inline_query_result/sticker.rb +0 -23
- data/lib/tdlib/types/input_inline_query_result/venue.rb +0 -23
- data/lib/tdlib/types/input_inline_query_result/video.rb +0 -32
- data/lib/tdlib/types/input_inline_query_result/voice_note.rb +0 -21
- data/lib/tdlib/types/input_message_content.rb +0 -25
- data/lib/tdlib/types/input_message_content/animation.rb +0 -18
- data/lib/tdlib/types/input_message_content/audio.rb +0 -18
- data/lib/tdlib/types/input_message_content/contact.rb +0 -8
- data/lib/tdlib/types/input_message_content/document.rb +0 -12
- data/lib/tdlib/types/input_message_content/forwarded.rb +0 -20
- data/lib/tdlib/types/input_message_content/game.rb +0 -10
- data/lib/tdlib/types/input_message_content/invoice.rb +0 -28
- data/lib/tdlib/types/input_message_content/location.rb +0 -11
- data/lib/tdlib/types/input_message_content/photo.rb +0 -22
- data/lib/tdlib/types/input_message_content/poll.rb +0 -11
- data/lib/tdlib/types/input_message_content/sticker.rb +0 -14
- data/lib/tdlib/types/input_message_content/text.rb +0 -15
- data/lib/tdlib/types/input_message_content/venue.rb +0 -8
- data/lib/tdlib/types/input_message_content/video.rb +0 -25
- data/lib/tdlib/types/input_message_content/video_note.rb +0 -14
- data/lib/tdlib/types/input_message_content/voice_note.rb +0 -14
- data/lib/tdlib/types/input_passport_element.rb +0 -22
- data/lib/tdlib/types/input_passport_element/address.rb +0 -8
- data/lib/tdlib/types/input_passport_element/bank_statement.rb +0 -8
- data/lib/tdlib/types/input_passport_element/driver_license.rb +0 -8
- data/lib/tdlib/types/input_passport_element/email_address.rb +0 -8
- data/lib/tdlib/types/input_passport_element/identity_card.rb +0 -8
- data/lib/tdlib/types/input_passport_element/internal_passport.rb +0 -8
- data/lib/tdlib/types/input_passport_element/passport.rb +0 -8
- data/lib/tdlib/types/input_passport_element/passport_registration.rb +0 -8
- data/lib/tdlib/types/input_passport_element/personal_details.rb +0 -8
- data/lib/tdlib/types/input_passport_element/phone_number.rb +0 -8
- data/lib/tdlib/types/input_passport_element/rental_agreement.rb +0 -8
- data/lib/tdlib/types/input_passport_element/temporary_registration.rb +0 -8
- data/lib/tdlib/types/input_passport_element/utility_bill.rb +0 -8
- data/lib/tdlib/types/input_passport_element_error.rb +0 -12
- data/lib/tdlib/types/input_passport_element_error_source.rb +0 -18
- data/lib/tdlib/types/input_passport_element_error_source/data_field.rb +0 -11
- data/lib/tdlib/types/input_passport_element_error_source/file.rb +0 -9
- data/lib/tdlib/types/input_passport_element_error_source/files.rb +0 -9
- data/lib/tdlib/types/input_passport_element_error_source/front_side.rb +0 -9
- data/lib/tdlib/types/input_passport_element_error_source/reverse_side.rb +0 -9
- data/lib/tdlib/types/input_passport_element_error_source/selfie.rb +0 -9
- data/lib/tdlib/types/input_passport_element_error_source/translation_file.rb +0 -9
- data/lib/tdlib/types/input_passport_element_error_source/translation_files.rb +0 -9
- data/lib/tdlib/types/input_passport_element_error_source/unspecified.rb +0 -9
- data/lib/tdlib/types/input_personal_document.rb +0 -11
- data/lib/tdlib/types/input_sticker.rb +0 -14
- data/lib/tdlib/types/input_thumbnail.rb +0 -16
- data/lib/tdlib/types/invoice.rb +0 -27
- data/lib/tdlib/types/json_object_member.rb +0 -10
- data/lib/tdlib/types/json_value.rb +0 -15
- data/lib/tdlib/types/json_value/array.rb +0 -8
- data/lib/tdlib/types/json_value/boolean.rb +0 -8
- data/lib/tdlib/types/json_value/null.rb +0 -5
- data/lib/tdlib/types/json_value/number.rb +0 -8
- data/lib/tdlib/types/json_value/object.rb +0 -8
- data/lib/tdlib/types/json_value/string.rb +0 -8
- data/lib/tdlib/types/keyboard_button.rb +0 -10
- data/lib/tdlib/types/keyboard_button_type.rb +0 -12
- data/lib/tdlib/types/keyboard_button_type/request_location.rb +0 -5
- data/lib/tdlib/types/keyboard_button_type/request_phone_number.rb +0 -5
- data/lib/tdlib/types/keyboard_button_type/text.rb +0 -5
- data/lib/tdlib/types/labeled_price_part.rb +0 -10
- data/lib/tdlib/types/language_pack_info.rb +0 -35
- data/lib/tdlib/types/language_pack_string.rb +0 -10
- data/lib/tdlib/types/language_pack_string_value.rb +0 -12
- data/lib/tdlib/types/language_pack_string_value/deleted.rb +0 -5
- data/lib/tdlib/types/language_pack_string_value/ordinary.rb +0 -8
- data/lib/tdlib/types/language_pack_string_value/pluralized.rb +0 -19
- data/lib/tdlib/types/language_pack_strings.rb +0 -8
- data/lib/tdlib/types/local_file.rb +0 -28
- data/lib/tdlib/types/localization_target_info.rb +0 -8
- data/lib/tdlib/types/location.rb +0 -10
- data/lib/tdlib/types/log_stream.rb +0 -12
- data/lib/tdlib/types/log_stream/default.rb +0 -5
- data/lib/tdlib/types/log_stream/empty.rb +0 -5
- data/lib/tdlib/types/log_stream/file.rb +0 -11
- data/lib/tdlib/types/log_tags.rb +0 -8
- data/lib/tdlib/types/log_verbosity_level.rb +0 -8
- data/lib/tdlib/types/login_url_info.rb +0 -11
- data/lib/tdlib/types/login_url_info/open.rb +0 -10
- data/lib/tdlib/types/login_url_info/request_confirmation.rb +0 -15
- data/lib/tdlib/types/mask_point.rb +0 -13
- data/lib/tdlib/types/mask_point/chin.rb +0 -5
- data/lib/tdlib/types/mask_point/eyes.rb +0 -5
- data/lib/tdlib/types/mask_point/forehead.rb +0 -5
- data/lib/tdlib/types/mask_point/mouth.rb +0 -5
- data/lib/tdlib/types/mask_position.rb +0 -17
- data/lib/tdlib/types/message.rb +0 -67
- data/lib/tdlib/types/message_content.rb +0 -49
- data/lib/tdlib/types/message_content/animation.rb +0 -13
- data/lib/tdlib/types/message_content/audio.rb +0 -10
- data/lib/tdlib/types/message_content/basic_group_chat_create.rb +0 -10
- data/lib/tdlib/types/message_content/call.rb +0 -10
- data/lib/tdlib/types/message_content/chat_add_members.rb +0 -8
- data/lib/tdlib/types/message_content/chat_change_photo.rb +0 -8
- data/lib/tdlib/types/message_content/chat_change_title.rb +0 -8
- data/lib/tdlib/types/message_content/chat_delete_member.rb +0 -8
- data/lib/tdlib/types/message_content/chat_delete_photo.rb +0 -5
- data/lib/tdlib/types/message_content/chat_join_by_link.rb +0 -5
- data/lib/tdlib/types/message_content/chat_set_ttl.rb +0 -8
- data/lib/tdlib/types/message_content/chat_upgrade_from.rb +0 -10
- data/lib/tdlib/types/message_content/chat_upgrade_to.rb +0 -8
- data/lib/tdlib/types/message_content/contact.rb +0 -8
- data/lib/tdlib/types/message_content/contact_registered.rb +0 -5
- data/lib/tdlib/types/message_content/custom_service_action.rb +0 -8
- data/lib/tdlib/types/message_content/document.rb +0 -10
- data/lib/tdlib/types/message_content/expired_photo.rb +0 -5
- data/lib/tdlib/types/message_content/expired_video.rb +0 -5
- data/lib/tdlib/types/message_content/game.rb +0 -8
- data/lib/tdlib/types/message_content/game_score.rb +0 -13
- data/lib/tdlib/types/message_content/invoice.rb +0 -26
- data/lib/tdlib/types/message_content/location.rb +0 -14
- data/lib/tdlib/types/message_content/passport_data_received.rb +0 -10
- data/lib/tdlib/types/message_content/passport_data_sent.rb +0 -8
- data/lib/tdlib/types/message_content/payment_successful.rb +0 -13
- data/lib/tdlib/types/message_content/payment_successful_bot.rb +0 -24
- data/lib/tdlib/types/message_content/photo.rb +0 -12
- data/lib/tdlib/types/message_content/pin_message.rb +0 -8
- data/lib/tdlib/types/message_content/poll.rb +0 -8
- data/lib/tdlib/types/message_content/screenshot_taken.rb +0 -5
- data/lib/tdlib/types/message_content/sticker.rb +0 -8
- data/lib/tdlib/types/message_content/supergroup_chat_create.rb +0 -8
- data/lib/tdlib/types/message_content/text.rb +0 -10
- data/lib/tdlib/types/message_content/unsupported.rb +0 -5
- data/lib/tdlib/types/message_content/venue.rb +0 -8
- data/lib/tdlib/types/message_content/video.rb +0 -13
- data/lib/tdlib/types/message_content/video_note.rb +0 -13
- data/lib/tdlib/types/message_content/voice_note.rb +0 -12
- data/lib/tdlib/types/message_content/website_connected.rb +0 -8
- data/lib/tdlib/types/message_forward_info.rb +0 -17
- data/lib/tdlib/types/message_forward_origin.rb +0 -12
- data/lib/tdlib/types/message_forward_origin/channel.rb +0 -12
- data/lib/tdlib/types/message_forward_origin/hidden_user.rb +0 -8
- data/lib/tdlib/types/message_forward_origin/user.rb +0 -8
- data/lib/tdlib/types/message_link_info.rb +0 -14
- data/lib/tdlib/types/message_scheduling_state.rb +0 -11
- data/lib/tdlib/types/message_scheduling_state/send_at_date.rb +0 -9
- data/lib/tdlib/types/message_scheduling_state/send_when_online.rb +0 -6
- data/lib/tdlib/types/message_sending_state.rb +0 -11
- data/lib/tdlib/types/message_sending_state/failed.rb +0 -15
- data/lib/tdlib/types/message_sending_state/pending.rb +0 -5
- data/lib/tdlib/types/messages.rb +0 -10
- data/lib/tdlib/types/minithumbnail.rb +0 -12
- data/lib/tdlib/types/network_statistics.rb +0 -10
- data/lib/tdlib/types/network_statistics_entry.rb +0 -11
- data/lib/tdlib/types/network_statistics_entry/call.rb +0 -15
- data/lib/tdlib/types/network_statistics_entry/file.rb +0 -15
- data/lib/tdlib/types/network_type.rb +0 -14
- data/lib/tdlib/types/network_type/mobile.rb +0 -5
- data/lib/tdlib/types/network_type/mobile_roaming.rb +0 -5
- data/lib/tdlib/types/network_type/none.rb +0 -5
- data/lib/tdlib/types/network_type/other.rb +0 -5
- data/lib/tdlib/types/network_type/wi_fi.rb +0 -5
- data/lib/tdlib/types/notification.rb +0 -14
- data/lib/tdlib/types/notification_group.rb +0 -16
- data/lib/tdlib/types/notification_group_type.rb +0 -13
- data/lib/tdlib/types/notification_group_type/calls.rb +0 -5
- data/lib/tdlib/types/notification_group_type/mentions.rb +0 -6
- data/lib/tdlib/types/notification_group_type/messages.rb +0 -6
- data/lib/tdlib/types/notification_group_type/secret_chat.rb +0 -5
- data/lib/tdlib/types/notification_settings_scope.rb +0 -12
- data/lib/tdlib/types/notification_settings_scope/channel_chats.rb +0 -5
- data/lib/tdlib/types/notification_settings_scope/group_chats.rb +0 -6
- data/lib/tdlib/types/notification_settings_scope/private_chats.rb +0 -6
- data/lib/tdlib/types/notification_type.rb +0 -13
- data/lib/tdlib/types/notification_type/new_call.rb +0 -8
- data/lib/tdlib/types/notification_type/new_message.rb +0 -8
- data/lib/tdlib/types/notification_type/new_push_message.rb +0 -15
- data/lib/tdlib/types/notification_type/new_secret_chat.rb +0 -5
- data/lib/tdlib/types/ok.rb +0 -5
- data/lib/tdlib/types/option_value.rb +0 -13
- data/lib/tdlib/types/option_value/boolean.rb +0 -8
- data/lib/tdlib/types/option_value/empty.rb +0 -5
- data/lib/tdlib/types/option_value/integer.rb +0 -8
- data/lib/tdlib/types/option_value/string.rb +0 -8
- data/lib/tdlib/types/order_info.rb +0 -14
- data/lib/tdlib/types/page_block.rb +0 -38
- data/lib/tdlib/types/page_block/anchor.rb +0 -8
- data/lib/tdlib/types/page_block/animation.rb +0 -12
- data/lib/tdlib/types/page_block/audio.rb +0 -10
- data/lib/tdlib/types/page_block/author_date.rb +0 -10
- data/lib/tdlib/types/page_block/block_quote.rb +0 -10
- data/lib/tdlib/types/page_block/chat_link.rb +0 -12
- data/lib/tdlib/types/page_block/collage.rb +0 -10
- data/lib/tdlib/types/page_block/cover.rb +0 -8
- data/lib/tdlib/types/page_block/details.rb +0 -12
- data/lib/tdlib/types/page_block/divider.rb +0 -5
- data/lib/tdlib/types/page_block/embedded.rb +0 -22
- data/lib/tdlib/types/page_block/embedded_post.rb +0 -18
- data/lib/tdlib/types/page_block/footer.rb +0 -8
- data/lib/tdlib/types/page_block/header.rb +0 -8
- data/lib/tdlib/types/page_block/kicker.rb +0 -8
- data/lib/tdlib/types/page_block/list.rb +0 -8
- data/lib/tdlib/types/page_block/map.rb +0 -16
- data/lib/tdlib/types/page_block/paragraph.rb +0 -8
- data/lib/tdlib/types/page_block/photo.rb +0 -12
- data/lib/tdlib/types/page_block/preformatted.rb +0 -10
- data/lib/tdlib/types/page_block/pull_quote.rb +0 -10
- data/lib/tdlib/types/page_block/related_articles.rb +0 -10
- data/lib/tdlib/types/page_block/slideshow.rb +0 -10
- data/lib/tdlib/types/page_block/subheader.rb +0 -8
- data/lib/tdlib/types/page_block/subtitle.rb +0 -8
- data/lib/tdlib/types/page_block/table.rb +0 -14
- data/lib/tdlib/types/page_block/title.rb +0 -8
- data/lib/tdlib/types/page_block/video.rb +0 -14
- data/lib/tdlib/types/page_block/voice_note.rb +0 -10
- data/lib/tdlib/types/page_block_caption.rb +0 -10
- data/lib/tdlib/types/page_block_horizontal_alignment.rb +0 -12
- data/lib/tdlib/types/page_block_horizontal_alignment/center.rb +0 -5
- data/lib/tdlib/types/page_block_horizontal_alignment/left.rb +0 -5
- data/lib/tdlib/types/page_block_horizontal_alignment/right.rb +0 -5
- data/lib/tdlib/types/page_block_list_item.rb +0 -10
- data/lib/tdlib/types/page_block_related_article.rb +0 -18
- data/lib/tdlib/types/page_block_table_cell.rb +0 -19
- data/lib/tdlib/types/page_block_vertical_alignment.rb +0 -12
- data/lib/tdlib/types/page_block_vertical_alignment/bottom.rb +0 -5
- data/lib/tdlib/types/page_block_vertical_alignment/middle.rb +0 -5
- data/lib/tdlib/types/page_block_vertical_alignment/top.rb +0 -5
- data/lib/tdlib/types/passport_authorization_form.rb +0 -13
- data/lib/tdlib/types/passport_element.rb +0 -22
- data/lib/tdlib/types/passport_element/address.rb +0 -8
- data/lib/tdlib/types/passport_element/bank_statement.rb +0 -8
- data/lib/tdlib/types/passport_element/driver_license.rb +0 -8
- data/lib/tdlib/types/passport_element/email_address.rb +0 -8
- data/lib/tdlib/types/passport_element/identity_card.rb +0 -8
- data/lib/tdlib/types/passport_element/internal_passport.rb +0 -8
- data/lib/tdlib/types/passport_element/passport.rb +0 -8
- data/lib/tdlib/types/passport_element/passport_registration.rb +0 -8
- data/lib/tdlib/types/passport_element/personal_details.rb +0 -8
- data/lib/tdlib/types/passport_element/phone_number.rb +0 -8
- data/lib/tdlib/types/passport_element/rental_agreement.rb +0 -8
- data/lib/tdlib/types/passport_element/temporary_registration.rb +0 -8
- data/lib/tdlib/types/passport_element/utility_bill.rb +0 -8
- data/lib/tdlib/types/passport_element_error.rb +0 -12
- data/lib/tdlib/types/passport_element_error_source.rb +0 -18
- data/lib/tdlib/types/passport_element_error_source/data_field.rb +0 -9
- data/lib/tdlib/types/passport_element_error_source/file.rb +0 -9
- data/lib/tdlib/types/passport_element_error_source/files.rb +0 -6
- data/lib/tdlib/types/passport_element_error_source/front_side.rb +0 -6
- data/lib/tdlib/types/passport_element_error_source/reverse_side.rb +0 -6
- data/lib/tdlib/types/passport_element_error_source/selfie.rb +0 -6
- data/lib/tdlib/types/passport_element_error_source/translation_file.rb +0 -9
- data/lib/tdlib/types/passport_element_error_source/translation_files.rb +0 -6
- data/lib/tdlib/types/passport_element_error_source/unspecified.rb +0 -6
- data/lib/tdlib/types/passport_element_type.rb +0 -22
- data/lib/tdlib/types/passport_element_type/address.rb +0 -5
- data/lib/tdlib/types/passport_element_type/bank_statement.rb +0 -5
- data/lib/tdlib/types/passport_element_type/driver_license.rb +0 -5
- data/lib/tdlib/types/passport_element_type/email_address.rb +0 -5
- data/lib/tdlib/types/passport_element_type/identity_card.rb +0 -5
- data/lib/tdlib/types/passport_element_type/internal_passport.rb +0 -5
- data/lib/tdlib/types/passport_element_type/passport.rb +0 -5
- data/lib/tdlib/types/passport_element_type/passport_registration.rb +0 -5
- data/lib/tdlib/types/passport_element_type/personal_details.rb +0 -5
- data/lib/tdlib/types/passport_element_type/phone_number.rb +0 -5
- data/lib/tdlib/types/passport_element_type/rental_agreement.rb +0 -5
- data/lib/tdlib/types/passport_element_type/temporary_registration.rb +0 -5
- data/lib/tdlib/types/passport_element_type/utility_bill.rb +0 -5
- data/lib/tdlib/types/passport_elements.rb +0 -8
- data/lib/tdlib/types/passport_elements_with_errors.rb +0 -10
- data/lib/tdlib/types/passport_required_element.rb +0 -9
- data/lib/tdlib/types/passport_suitable_element.rb +0 -15
- data/lib/tdlib/types/password_state.rb +0 -17
- data/lib/tdlib/types/payment_form.rb +0 -23
- data/lib/tdlib/types/payment_receipt.rb +0 -18
- data/lib/tdlib/types/payment_result.rb +0 -11
- data/lib/tdlib/types/payments_provider_stripe.rb +0 -14
- data/lib/tdlib/types/personal_details.rb +0 -26
- data/lib/tdlib/types/personal_document.rb +0 -11
- data/lib/tdlib/types/phone_number_authentication_settings.rb +0 -16
- data/lib/tdlib/types/photo.rb +0 -12
- data/lib/tdlib/types/photo_size.rb +0 -14
- data/lib/tdlib/types/poll.rb +0 -16
- data/lib/tdlib/types/poll_option.rb +0 -16
- data/lib/tdlib/types/profile_photo.rb +0 -15
- data/lib/tdlib/types/proxies.rb +0 -8
- data/lib/tdlib/types/proxy.rb +0 -18
- data/lib/tdlib/types/proxy_type.rb +0 -12
- data/lib/tdlib/types/proxy_type/http.rb +0 -13
- data/lib/tdlib/types/proxy_type/mtproto.rb +0 -8
- data/lib/tdlib/types/proxy_type/socks5.rb +0 -10
- data/lib/tdlib/types/public_chat_type.rb +0 -11
- data/lib/tdlib/types/public_chat_type/has_username.rb +0 -5
- data/lib/tdlib/types/public_chat_type/is_location_based.rb +0 -5
- data/lib/tdlib/types/public_message_link.rb +0 -10
- data/lib/tdlib/types/push_message_content.rb +0 -35
- data/lib/tdlib/types/push_message_content/animation.rb +0 -12
- data/lib/tdlib/types/push_message_content/audio.rb +0 -10
- data/lib/tdlib/types/push_message_content/basic_group_chat_create.rb +0 -5
- data/lib/tdlib/types/push_message_content/chat_add_members.rb +0 -12
- data/lib/tdlib/types/push_message_content/chat_change_photo.rb +0 -5
- data/lib/tdlib/types/push_message_content/chat_change_title.rb +0 -8
- data/lib/tdlib/types/push_message_content/chat_delete_member.rb +0 -12
- data/lib/tdlib/types/push_message_content/chat_join_by_link.rb +0 -5
- data/lib/tdlib/types/push_message_content/contact.rb +0 -10
- data/lib/tdlib/types/push_message_content/contact_registered.rb +0 -5
- data/lib/tdlib/types/push_message_content/document.rb +0 -10
- data/lib/tdlib/types/push_message_content/game.rb +0 -10
- data/lib/tdlib/types/push_message_content/game_score.rb +0 -12
- data/lib/tdlib/types/push_message_content/hidden.rb +0 -8
- data/lib/tdlib/types/push_message_content/invoice.rb +0 -10
- data/lib/tdlib/types/push_message_content/location.rb +0 -10
- data/lib/tdlib/types/push_message_content/media_album.rb +0 -12
- data/lib/tdlib/types/push_message_content/message_forwards.rb +0 -8
- data/lib/tdlib/types/push_message_content/photo.rb +0 -14
- data/lib/tdlib/types/push_message_content/poll.rb +0 -10
- data/lib/tdlib/types/push_message_content/screenshot_taken.rb +0 -5
- data/lib/tdlib/types/push_message_content/sticker.rb +0 -12
- data/lib/tdlib/types/push_message_content/text.rb +0 -10
- data/lib/tdlib/types/push_message_content/video.rb +0 -14
- data/lib/tdlib/types/push_message_content/video_note.rb +0 -10
- data/lib/tdlib/types/push_message_content/voice_note.rb +0 -10
- data/lib/tdlib/types/push_receiver_id.rb +0 -9
- data/lib/tdlib/types/recovery_email_address.rb +0 -8
- data/lib/tdlib/types/remote_file.rb +0 -27
- data/lib/tdlib/types/reply_markup.rb +0 -13
- data/lib/tdlib/types/reply_markup/force_reply.rb +0 -10
- data/lib/tdlib/types/reply_markup/inline_keyboard.rb +0 -8
- data/lib/tdlib/types/reply_markup/remove_keyboard.rb +0 -11
- data/lib/tdlib/types/reply_markup/show_keyboard.rb +0 -16
- data/lib/tdlib/types/rich_text.rb +0 -24
- data/lib/tdlib/types/rich_text/anchor.rb +0 -10
- data/lib/tdlib/types/rich_text/bold.rb +0 -8
- data/lib/tdlib/types/rich_text/email_address.rb +0 -10
- data/lib/tdlib/types/rich_text/fixed.rb +0 -8
- data/lib/tdlib/types/rich_text/icon.rb +0 -13
- data/lib/tdlib/types/rich_text/italic.rb +0 -8
- data/lib/tdlib/types/rich_text/marked.rb +0 -8
- data/lib/tdlib/types/rich_text/phone_number.rb +0 -10
- data/lib/tdlib/types/rich_text/plain.rb +0 -8
- data/lib/tdlib/types/rich_text/s.rb +0 -8
- data/lib/tdlib/types/rich_text/strikethrough.rb +0 -8
- data/lib/tdlib/types/rich_text/subscript.rb +0 -8
- data/lib/tdlib/types/rich_text/superscript.rb +0 -8
- data/lib/tdlib/types/rich_text/underline.rb +0 -8
- data/lib/tdlib/types/rich_text/url.rb +0 -12
- data/lib/tdlib/types/saved_credentials.rb +0 -10
- data/lib/tdlib/types/scope_notification_settings.rb +0 -19
- data/lib/tdlib/types/search_messages_filter.rb +0 -25
- data/lib/tdlib/types/search_messages_filter/animation.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/audio.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/call.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/chat_photo.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/document.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/empty.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/mention.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/missed_call.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/photo.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/photo_and_video.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/unread_mention.rb +0 -6
- data/lib/tdlib/types/search_messages_filter/url.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/video.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/video_note.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/voice_and_video_note.rb +0 -5
- data/lib/tdlib/types/search_messages_filter/voice_note.rb +0 -5
- data/lib/tdlib/types/seconds.rb +0 -8
- data/lib/tdlib/types/secret_chat.rb +0 -27
- data/lib/tdlib/types/secret_chat_state.rb +0 -12
- data/lib/tdlib/types/secret_chat_state/closed.rb +0 -5
- data/lib/tdlib/types/secret_chat_state/pending.rb +0 -5
- data/lib/tdlib/types/secret_chat_state/ready.rb +0 -5
- data/lib/tdlib/types/send_message_options.rb +0 -14
- data/lib/tdlib/types/session.rb +0 -42
- data/lib/tdlib/types/sessions.rb +0 -8
- data/lib/tdlib/types/shipping_option.rb +0 -13
- data/lib/tdlib/types/sticker.rb +0 -24
- data/lib/tdlib/types/sticker_set.rb +0 -35
- data/lib/tdlib/types/sticker_set_info.rb +0 -34
- data/lib/tdlib/types/sticker_sets.rb +0 -10
- data/lib/tdlib/types/stickers.rb +0 -8
- data/lib/tdlib/types/storage_statistics.rb +0 -12
- data/lib/tdlib/types/storage_statistics_by_chat.rb +0 -14
- data/lib/tdlib/types/storage_statistics_by_file_type.rb +0 -12
- data/lib/tdlib/types/storage_statistics_fast.rb +0 -16
- data/lib/tdlib/types/supergroup.rb +0 -43
- data/lib/tdlib/types/supergroup_full_info.rb +0 -53
- data/lib/tdlib/types/supergroup_members_filter.rb +0 -16
- data/lib/tdlib/types/supergroup_members_filter/administrators.rb +0 -5
- data/lib/tdlib/types/supergroup_members_filter/banned.rb +0 -8
- data/lib/tdlib/types/supergroup_members_filter/bots.rb +0 -5
- data/lib/tdlib/types/supergroup_members_filter/contacts.rb +0 -8
- data/lib/tdlib/types/supergroup_members_filter/recent.rb +0 -5
- data/lib/tdlib/types/supergroup_members_filter/restricted.rb +0 -8
- data/lib/tdlib/types/supergroup_members_filter/search.rb +0 -8
- data/lib/tdlib/types/t_me_url.rb +0 -10
- data/lib/tdlib/types/t_me_url_type.rb +0 -13
- data/lib/tdlib/types/t_me_url_type/chat_invite.rb +0 -8
- data/lib/tdlib/types/t_me_url_type/sticker_set.rb +0 -8
- data/lib/tdlib/types/t_me_url_type/supergroup.rb +0 -8
- data/lib/tdlib/types/t_me_url_type/user.rb +0 -8
- data/lib/tdlib/types/t_me_urls.rb +0 -8
- data/lib/tdlib/types/tdlib_parameters.rb +0 -46
- data/lib/tdlib/types/temporary_password_state.rb +0 -10
- data/lib/tdlib/types/terms_of_service.rb +0 -12
- data/lib/tdlib/types/text.rb +0 -8
- data/lib/tdlib/types/text_entities.rb +0 -8
- data/lib/tdlib/types/text_entity.rb +0 -12
- data/lib/tdlib/types/text_entity_type.rb +0 -25
- data/lib/tdlib/types/text_entity_type/bold.rb +0 -5
- data/lib/tdlib/types/text_entity_type/bot_command.rb +0 -6
- data/lib/tdlib/types/text_entity_type/cashtag.rb +0 -6
- data/lib/tdlib/types/text_entity_type/code.rb +0 -5
- data/lib/tdlib/types/text_entity_type/email_address.rb +0 -5
- data/lib/tdlib/types/text_entity_type/hashtag.rb +0 -5
- data/lib/tdlib/types/text_entity_type/italic.rb +0 -5
- data/lib/tdlib/types/text_entity_type/mention.rb +0 -5
- data/lib/tdlib/types/text_entity_type/mention_name.rb +0 -8
- data/lib/tdlib/types/text_entity_type/phone_number.rb +0 -5
- data/lib/tdlib/types/text_entity_type/pre.rb +0 -5
- data/lib/tdlib/types/text_entity_type/pre_code.rb +0 -8
- data/lib/tdlib/types/text_entity_type/strikethrough.rb +0 -5
- data/lib/tdlib/types/text_entity_type/text_url.rb +0 -8
- data/lib/tdlib/types/text_entity_type/underline.rb +0 -5
- data/lib/tdlib/types/text_entity_type/url.rb +0 -5
- data/lib/tdlib/types/text_parse_mode.rb +0 -11
- data/lib/tdlib/types/text_parse_mode/html.rb +0 -5
- data/lib/tdlib/types/text_parse_mode/markdown.rb +0 -9
- data/lib/tdlib/types/ton_lite_server_response.rb +0 -8
- data/lib/tdlib/types/ton_wallet_password_salt.rb +0 -8
- data/lib/tdlib/types/top_chat_category.rb +0 -16
- data/lib/tdlib/types/top_chat_category/bots.rb +0 -5
- data/lib/tdlib/types/top_chat_category/calls.rb +0 -5
- data/lib/tdlib/types/top_chat_category/channels.rb +0 -5
- data/lib/tdlib/types/top_chat_category/forward_chats.rb +0 -5
- data/lib/tdlib/types/top_chat_category/groups.rb +0 -5
- data/lib/tdlib/types/top_chat_category/inline_bots.rb +0 -5
- data/lib/tdlib/types/top_chat_category/users.rb +0 -5
- data/lib/tdlib/types/update.rb +0 -84
- data/lib/tdlib/types/update/active_notifications.rb +0 -10
- data/lib/tdlib/types/update/authorization_state.rb +0 -8
- data/lib/tdlib/types/update/basic_group.rb +0 -9
- data/lib/tdlib/types/update/basic_group_full_info.rb +0 -10
- data/lib/tdlib/types/update/call.rb +0 -8
- data/lib/tdlib/types/update/chat_action_bar.rb +0 -10
- data/lib/tdlib/types/update/chat_chat_list.rb +0 -11
- data/lib/tdlib/types/update/chat_default_disable_notification.rb +0 -10
- data/lib/tdlib/types/update/chat_draft_message.rb +0 -14
- data/lib/tdlib/types/update/chat_has_scheduled_messages.rb +0 -10
- data/lib/tdlib/types/update/chat_is_marked_as_unread.rb +0 -10
- data/lib/tdlib/types/update/chat_is_pinned.rb +0 -12
- data/lib/tdlib/types/update/chat_is_sponsored.rb +0 -12
- data/lib/tdlib/types/update/chat_last_message.rb +0 -14
- data/lib/tdlib/types/update/chat_notification_settings.rb +0 -10
- data/lib/tdlib/types/update/chat_online_member_count.rb +0 -12
- data/lib/tdlib/types/update/chat_order.rb +0 -12
- data/lib/tdlib/types/update/chat_permissions.rb +0 -10
- data/lib/tdlib/types/update/chat_photo.rb +0 -10
- data/lib/tdlib/types/update/chat_pinned_message.rb +0 -11
- data/lib/tdlib/types/update/chat_read_inbox.rb +0 -12
- data/lib/tdlib/types/update/chat_read_outbox.rb +0 -10
- data/lib/tdlib/types/update/chat_reply_markup.rb +0 -13
- data/lib/tdlib/types/update/chat_title.rb +0 -10
- data/lib/tdlib/types/update/chat_unread_mention_count.rb +0 -10
- data/lib/tdlib/types/update/connection_state.rb +0 -8
- data/lib/tdlib/types/update/delete_messages.rb +0 -16
- data/lib/tdlib/types/update/favorite_stickers.rb +0 -8
- data/lib/tdlib/types/update/file.rb +0 -8
- data/lib/tdlib/types/update/file_generation_start.rb +0 -17
- data/lib/tdlib/types/update/file_generation_stop.rb +0 -8
- data/lib/tdlib/types/update/have_pending_notifications.rb +0 -13
- data/lib/tdlib/types/update/installed_sticker_sets.rb +0 -10
- data/lib/tdlib/types/update/language_pack_strings.rb +0 -12
- data/lib/tdlib/types/update/message_content.rb +0 -12
- data/lib/tdlib/types/update/message_content_opened.rb +0 -12
- data/lib/tdlib/types/update/message_edited.rb +0 -15
- data/lib/tdlib/types/update/message_live_location_viewed.rb +0 -11
- data/lib/tdlib/types/update/message_mention_read.rb +0 -12
- data/lib/tdlib/types/update/message_send_acknowledged.rb +0 -14
- data/lib/tdlib/types/update/message_send_failed.rb +0 -16
- data/lib/tdlib/types/update/message_send_succeeded.rb +0 -11
- data/lib/tdlib/types/update/message_views.rb +0 -12
- data/lib/tdlib/types/update/new_callback_query.rb +0 -18
- data/lib/tdlib/types/update/new_chat.rb +0 -10
- data/lib/tdlib/types/update/new_chosen_inline_result.rb +0 -16
- data/lib/tdlib/types/update/new_custom_event.rb +0 -8
- data/lib/tdlib/types/update/new_custom_query.rb +0 -12
- data/lib/tdlib/types/update/new_inline_callback_query.rb +0 -16
- data/lib/tdlib/types/update/new_inline_query.rb +0 -16
- data/lib/tdlib/types/update/new_message.rb +0 -8
- data/lib/tdlib/types/update/new_pre_checkout_query.rb +0 -22
- data/lib/tdlib/types/update/new_shipping_query.rb +0 -15
- data/lib/tdlib/types/update/notification.rb +0 -10
- data/lib/tdlib/types/update/notification_group.rb +0 -26
- data/lib/tdlib/types/update/option.rb +0 -10
- data/lib/tdlib/types/update/poll.rb +0 -8
- data/lib/tdlib/types/update/recent_stickers.rb +0 -11
- data/lib/tdlib/types/update/saved_animations.rb +0 -8
- data/lib/tdlib/types/update/scope_notification_settings.rb +0 -10
- data/lib/tdlib/types/update/secret_chat.rb +0 -9
- data/lib/tdlib/types/update/selected_background.rb +0 -10
- data/lib/tdlib/types/update/service_notification.rb +0 -13
- data/lib/tdlib/types/update/supergroup.rb +0 -9
- data/lib/tdlib/types/update/supergroup_full_info.rb +0 -10
- data/lib/tdlib/types/update/terms_of_service.rb +0 -12
- data/lib/tdlib/types/update/trending_sticker_sets.rb +0 -8
- data/lib/tdlib/types/update/unread_chat_count.rb +0 -20
- data/lib/tdlib/types/update/unread_message_count.rb +0 -13
- data/lib/tdlib/types/update/user.rb +0 -9
- data/lib/tdlib/types/update/user_chat_action.rb +0 -12
- data/lib/tdlib/types/update/user_full_info.rb +0 -10
- data/lib/tdlib/types/update/user_privacy_setting_rules.rb +0 -10
- data/lib/tdlib/types/update/user_status.rb +0 -10
- data/lib/tdlib/types/update/users_nearby.rb +0 -9
- data/lib/tdlib/types/updates.rb +0 -8
- data/lib/tdlib/types/user.rb +0 -42
- data/lib/tdlib/types/user_full_info.rb +0 -24
- data/lib/tdlib/types/user_privacy_setting.rb +0 -17
- data/lib/tdlib/types/user_privacy_setting/allow_calls.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting/allow_chat_invites.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting/allow_finding_by_phone_number.rb +0 -7
- data/lib/tdlib/types/user_privacy_setting/allow_peer_to_peer_calls.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting/show_link_in_forwarded_messages.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting/show_phone_number.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting/show_profile_photo.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting/show_status.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting_rule.rb +0 -17
- data/lib/tdlib/types/user_privacy_setting_rule/allow_all.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting_rule/allow_chat_members.rb +0 -8
- data/lib/tdlib/types/user_privacy_setting_rule/allow_contacts.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting_rule/allow_users.rb +0 -8
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_all.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_chat_members.rb +0 -8
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_contacts.rb +0 -5
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_users.rb +0 -8
- data/lib/tdlib/types/user_privacy_setting_rules.rb +0 -11
- data/lib/tdlib/types/user_profile_photo.rb +0 -12
- data/lib/tdlib/types/user_profile_photos.rb +0 -10
- data/lib/tdlib/types/user_status.rb +0 -15
- data/lib/tdlib/types/user_status/empty.rb +0 -5
- data/lib/tdlib/types/user_status/last_month.rb +0 -5
- data/lib/tdlib/types/user_status/last_week.rb +0 -5
- data/lib/tdlib/types/user_status/offline.rb +0 -8
- data/lib/tdlib/types/user_status/online.rb +0 -8
- data/lib/tdlib/types/user_status/recently.rb +0 -5
- data/lib/tdlib/types/user_type.rb +0 -14
- data/lib/tdlib/types/user_type/bot.rb +0 -18
- data/lib/tdlib/types/user_type/deleted.rb +0 -7
- data/lib/tdlib/types/user_type/regular.rb +0 -5
- data/lib/tdlib/types/user_type/unknown.rb +0 -7
- data/lib/tdlib/types/users.rb +0 -10
- data/lib/tdlib/types/validated_order_info.rb +0 -11
- data/lib/tdlib/types/venue.rb +0 -19
- data/lib/tdlib/types/video.rb +0 -26
- data/lib/tdlib/types/video_note.rb +0 -17
- data/lib/tdlib/types/voice_note.rb +0 -16
- data/lib/tdlib/types/web_page.rb +0 -52
- data/lib/tdlib/types/web_page_instant_view.rb +0 -18
data/bin/parser
DELETED
@@ -1,467 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require 'active_support/all'
|
3
|
-
|
4
|
-
AUTOLOAD_BASE_DIR = 'tdlib/types'
|
5
|
-
TD_API_TL_LOCATION = 'td/td/generate/scheme/td_api.tl'
|
6
|
-
|
7
|
-
|
8
|
-
def parse_tl_type(type)
|
9
|
-
if (vector = type.scan(/[vV]ector<(.*)>/)).length > 0
|
10
|
-
"TD::Types::Array.of(#{parse_tl_type(vector[0][0])})"
|
11
|
-
elsif type.match?(/[iI]nt\d\d/)
|
12
|
-
'TD::Types::Integer'
|
13
|
-
elsif type.match?(/[dD]ouble/)
|
14
|
-
'TD::Types::Float'
|
15
|
-
elsif type.match?(/[bB]ytes/)
|
16
|
-
'TD::Types::String'
|
17
|
-
else
|
18
|
-
"TD::Types::#{type.camelcase}"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def parse_argument_description(argument, description)
|
23
|
-
statements = description.split('; ')[1..-1]
|
24
|
-
|
25
|
-
if statements.length == 0
|
26
|
-
statements = description.split(', ')[1..-1]
|
27
|
-
end
|
28
|
-
|
29
|
-
optional = nil
|
30
|
-
|
31
|
-
if statements.length > 0
|
32
|
-
statements.each do |statement|
|
33
|
-
statement.downcase!
|
34
|
-
|
35
|
-
if statement.match?(/(can be null|may be null|can be empty|may be empty|optional|if empty|empty until|empty for|if available)/)
|
36
|
-
optional = true
|
37
|
-
elsif statement.match?(/(must be non-empty)/)
|
38
|
-
optional = false
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
{
|
44
|
-
argument => {
|
45
|
-
description: description,
|
46
|
-
optional: optional
|
47
|
-
}
|
48
|
-
}
|
49
|
-
end
|
50
|
-
|
51
|
-
def parse_tl_entry(tl_entry)
|
52
|
-
info = {}
|
53
|
-
arguments = {}
|
54
|
-
|
55
|
-
# A fix for multiline comments
|
56
|
-
tl_entry.gsub!("\n//-", " ")
|
57
|
-
|
58
|
-
tl_entry.strip!
|
59
|
-
|
60
|
-
tl_entry.split("\n").each do |line|
|
61
|
-
if line.start_with?('//')
|
62
|
-
line.sub('//@', '').split(' @').each do |at_statement|
|
63
|
-
if at_statement.start_with?('class')
|
64
|
-
info[:class] = at_statement[6..-1]
|
65
|
-
elsif at_statement.start_with?('description')
|
66
|
-
info[:description] = at_statement[12..-1]
|
67
|
-
elsif at_statement.start_with?('param_description')
|
68
|
-
arguments.deep_merge!(parse_argument_description('description', at_statement[18..-1]))
|
69
|
-
else
|
70
|
-
argument = at_statement.split(' ')[0]
|
71
|
-
description = at_statement[(argument.length + 1)..-1]
|
72
|
-
|
73
|
-
arguments.deep_merge!(parse_argument_description(argument, description))
|
74
|
-
end
|
75
|
-
end
|
76
|
-
else
|
77
|
-
args, super_class = line.sub(';', '').split(" = ")
|
78
|
-
args = args.split(' ')
|
79
|
-
|
80
|
-
info[:class] = args[0]
|
81
|
-
info[:super_class] = super_class
|
82
|
-
|
83
|
-
args = (args[1..-1] || []).map do |a|
|
84
|
-
arg, type = a.split(':')
|
85
|
-
|
86
|
-
{ arg => { type: parse_tl_type(type) } }
|
87
|
-
end.reduce(&:merge) || {}
|
88
|
-
|
89
|
-
arguments.deep_merge!(args)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
if !info[:super_class] or info[:class].downcase == info[:super_class].downcase
|
94
|
-
info[:super_class] = 'Base'
|
95
|
-
end
|
96
|
-
|
97
|
-
# Setting all arguments to optional, if at least one argument stated to be required
|
98
|
-
# noinspection RubySimplifyBooleanInspection
|
99
|
-
if arguments.any? { |_,v| v[:optional] == false }
|
100
|
-
arguments.select { |_,v| v[:optional] == nil }.each { |k,_| arguments[k][:optional] = true }
|
101
|
-
end
|
102
|
-
|
103
|
-
info[:arguments] = arguments
|
104
|
-
|
105
|
-
info
|
106
|
-
end
|
107
|
-
|
108
|
-
def normalize_class_name(class_name, super_class_name)
|
109
|
-
class_name = class_name.camelcase
|
110
|
-
|
111
|
-
case super_class_name
|
112
|
-
when 'ChatEventAction'
|
113
|
-
class_name.sub('ChatEvent', '')
|
114
|
-
when 'InputMessageContent'
|
115
|
-
class_name.sub('InputMessage', '')
|
116
|
-
when 'MessageContent'
|
117
|
-
class_name.sub('Message', '')
|
118
|
-
else
|
119
|
-
class_name
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
def build_hierarchy(classes)
|
124
|
-
hierarchy = {}
|
125
|
-
|
126
|
-
classes.each do |c|
|
127
|
-
(hierarchy[c[:super_class].camelcase] ||= []).push(normalize_class_name(c[:class], c[:super_class]))
|
128
|
-
end
|
129
|
-
|
130
|
-
hierarchy
|
131
|
-
end
|
132
|
-
|
133
|
-
def build_lookup_table(classes)
|
134
|
-
lookup_table = {}
|
135
|
-
|
136
|
-
classes.each do |c|
|
137
|
-
class_name = normalize_class_name(c[:class], c[:super_class])
|
138
|
-
super_class_name = c[:super_class].camelcase
|
139
|
-
|
140
|
-
unless super_class_name == 'Base'
|
141
|
-
class_name = "#{super_class_name}::#{class_name.sub(super_class_name, '')}"
|
142
|
-
end
|
143
|
-
|
144
|
-
lookup_table[c[:class]] = class_name
|
145
|
-
end
|
146
|
-
|
147
|
-
lookup_table
|
148
|
-
end
|
149
|
-
|
150
|
-
# Splits tl file into usable chunks. Usually starts with a SuperClass followed by subclasses.
|
151
|
-
def split_tl_file(tl_file, range = 0..-1)
|
152
|
-
# A fix for some entries (mainly chatAction ones) having a different structure from the rest
|
153
|
-
tl_file.gsub!(";\n//", ";\n\n//")
|
154
|
-
|
155
|
-
tl_file.split("\n\n\n")[range].map { |e| e.split("\n\n") }.flatten
|
156
|
-
end
|
157
|
-
|
158
|
-
# Partially taken from ActionView's word_wrap. Sowwy ;w;
|
159
|
-
def wrap_comment(comment, indent = " ", line_width: 117,
|
160
|
-
start_sequence: "#{indent}# ",
|
161
|
-
first_start_sequence: start_sequence,
|
162
|
-
break_sequence: "\n#{indent}# ")
|
163
|
-
comment.split('. ').map.with_index do |sentence, i|
|
164
|
-
this_start_sequence = i == 0 ? first_start_sequence : start_sequence
|
165
|
-
|
166
|
-
line = "#{this_start_sequence}#{sentence}.".split("\n").collect!.with_index do |line, j|
|
167
|
-
this_line_width = j == 0 ? line_width + 2 : line_width
|
168
|
-
|
169
|
-
line.length > this_line_width ? line.gsub(/(.{1,#{this_line_width}})(\s+|$)/, "\\1#{break_sequence}") : line
|
170
|
-
end.join(break_sequence)
|
171
|
-
|
172
|
-
if line.end_with?(break_sequence)
|
173
|
-
line = line[0..-(break_sequence.length + 1)]
|
174
|
-
end
|
175
|
-
|
176
|
-
line
|
177
|
-
end.join("\n")
|
178
|
-
end
|
179
|
-
|
180
|
-
def wrap_params(param_string, max_length, indent_num)
|
181
|
-
if param_string.length > max_length
|
182
|
-
param_string.gsub(/(.{1,#{max_length}})(\s+|$)/, "\\1\n#{' ' * indent_num}").strip
|
183
|
-
else
|
184
|
-
param_string
|
185
|
-
end
|
186
|
-
end
|
187
|
-
|
188
|
-
def type_to_comment_type(type)
|
189
|
-
type.gsub('TD::Types::Array.of(', 'Array<').gsub(')', '>').
|
190
|
-
gsub('TD::Types::Integer', 'Integer').
|
191
|
-
gsub('TD::Types::Float', 'Float').
|
192
|
-
gsub('TD::Types::String', 'String').
|
193
|
-
gsub('TD::Types::Bool', 'Boolean')
|
194
|
-
end
|
195
|
-
|
196
|
-
# Generates YARD documentation comment for each param
|
197
|
-
def attrs_to_yard_comment(attrs, key = 'attr')
|
198
|
-
attrs.map do |attr, info|
|
199
|
-
type = type_to_comment_type(info[:type])
|
200
|
-
description = info[:description].gsub(@lookup_regex) do |m|
|
201
|
-
@lookup_table[m.strip] ? "#{m[0]}{TD::Types::#{@lookup_table[m.strip]}}#{m[-1]}" : m
|
202
|
-
end
|
203
|
-
|
204
|
-
wrap_comment(description, " ",
|
205
|
-
first_start_sequence: " # @#{key} #{attr} [#{type}#{", nil" if info[:optional]}] ",
|
206
|
-
start_sequence: " # ", break_sequence: "\n # ")
|
207
|
-
end.join("\n")
|
208
|
-
end
|
209
|
-
|
210
|
-
puts "Removing lib/tdlib/types"
|
211
|
-
# `find lib/tdlib/types | grep -v base.rb | xargs rm -rf`
|
212
|
-
`rm -rf lib/tdlib/types`
|
213
|
-
|
214
|
-
puts "MKDIR 'lib/tdlib/types'"
|
215
|
-
FileUtils.mkdir_p "lib/tdlib/types"
|
216
|
-
|
217
|
-
puts "Writing Base class"
|
218
|
-
|
219
|
-
klass = <<-RUBY
|
220
|
-
module TD::Types
|
221
|
-
class Base < Dry::Struct
|
222
|
-
# throw an error when unknown keys provided
|
223
|
-
schema schema.strict
|
224
|
-
|
225
|
-
# convert string keys to symbols
|
226
|
-
transform_keys(&:to_sym)
|
227
|
-
|
228
|
-
# resolve default types on nil
|
229
|
-
transform_types do |type|
|
230
|
-
if type.default?
|
231
|
-
type.constructor do |value|
|
232
|
-
value.nil? ? Dry::Types::Undefined : value
|
233
|
-
end
|
234
|
-
else
|
235
|
-
type
|
236
|
-
end
|
237
|
-
end
|
238
|
-
|
239
|
-
def to_hash
|
240
|
-
{ '@type' => LOOKUP_TABLE.key(self.class.name.sub('TD::Types::', '')) }.merge(super)
|
241
|
-
end
|
242
|
-
alias_method :to_h, :to_hash
|
243
|
-
|
244
|
-
def to_json(*args)
|
245
|
-
to_hash.to_json(*args)
|
246
|
-
end
|
247
|
-
end
|
248
|
-
end
|
249
|
-
RUBY
|
250
|
-
|
251
|
-
puts "Writing 'lib/tdlib/types/base.rb'"
|
252
|
-
File.write 'lib/tdlib/types/base.rb', klass
|
253
|
-
|
254
|
-
puts "Parsing #{TD_API_TL_LOCATION}"
|
255
|
-
|
256
|
-
# Reading the TL file and splitting it into classes and functions
|
257
|
-
@classes, @functions = open(TD_API_TL_LOCATION).read.split("\n\n---functions---\n\n")
|
258
|
-
|
259
|
-
# First entry in td_api.tl is typecasting, it's worthless for us.
|
260
|
-
# Last entry before functions is a testing class, once again worthless
|
261
|
-
@classes = split_tl_file(@classes, 1..-2)
|
262
|
-
|
263
|
-
# Last function in td_api.tl is for testing, another worthless thing for us
|
264
|
-
@functions = split_tl_file(@functions, 0..-2)
|
265
|
-
|
266
|
-
puts "Converting classes into Ruby types"
|
267
|
-
|
268
|
-
@classes = @classes.map { |c| parse_tl_entry(c) }
|
269
|
-
@class_names = @classes.map { |c| normalize_class_name(c[:class], c[:super_class]) }
|
270
|
-
@class_hierarchy = build_hierarchy(@classes)
|
271
|
-
@lookup_table = build_lookup_table(@classes)
|
272
|
-
@lookup_regex = Regexp.union(@lookup_table.keys.select { |k| k.match?(/[a-z]+[A-Z][a-z]+/) }.map { |k| /\W#{k}\W/ })
|
273
|
-
|
274
|
-
|
275
|
-
@classes.each do |class_info|
|
276
|
-
class_name = normalize_class_name(class_info[:class], class_info[:super_class])
|
277
|
-
attributes = class_info[:arguments]
|
278
|
-
description = class_info[:description]
|
279
|
-
super_class_name = class_info[:super_class].camelcase
|
280
|
-
|
281
|
-
if (subclasses = @class_hierarchy[class_info[:class]])
|
282
|
-
autoload_statements = <<-RUBY
|
283
|
-
%w[
|
284
|
-
#{subclasses.map { |c| c.sub(class_name, '').underscore }.join("\n ")}
|
285
|
-
].each do |type|
|
286
|
-
autoload TD::Types.camelize(type), "#{AUTOLOAD_BASE_DIR}/#{class_name.underscore}/\#{type}"
|
287
|
-
end
|
288
|
-
RUBY
|
289
|
-
else
|
290
|
-
autoload_statements = ""
|
291
|
-
end
|
292
|
-
|
293
|
-
if super_class_name == 'Base'
|
294
|
-
file_name = class_name.underscore
|
295
|
-
class_name = "#{class_name} < Base"
|
296
|
-
else
|
297
|
-
file_name = "#{super_class_name.underscore}/#{class_name.sub(super_class_name, '').underscore}"
|
298
|
-
class_name = "#{super_class_name}::#{class_name.sub(super_class_name, '')} < #{super_class_name}"
|
299
|
-
|
300
|
-
puts "MKDIR 'lib/tdlib/types/#{super_class_name.underscore}'"
|
301
|
-
FileUtils.mkdir_p "lib/tdlib/types/#{super_class_name.underscore}"
|
302
|
-
end
|
303
|
-
|
304
|
-
if attributes.blank?
|
305
|
-
attributes_doc = ""
|
306
|
-
attributes = ""
|
307
|
-
else
|
308
|
-
attributes_doc = "\n #\n" + attrs_to_yard_comment(attributes, 'attr')
|
309
|
-
|
310
|
-
attributes = "\n " + attributes.map do |attr, info|
|
311
|
-
"attribute :#{attr}, #{info[:type]}#{ ".optional.default(nil)" if info[:optional] }"
|
312
|
-
end.join("\n ")
|
313
|
-
end
|
314
|
-
|
315
|
-
unless description.blank?
|
316
|
-
description = "\n#{wrap_comment(description, " ")}"
|
317
|
-
end
|
318
|
-
|
319
|
-
klass = <<-RUBY
|
320
|
-
module TD::Types#{description}#{attributes_doc}
|
321
|
-
class #{class_name}#{attributes}
|
322
|
-
#{autoload_statements} end
|
323
|
-
end
|
324
|
-
RUBY
|
325
|
-
|
326
|
-
puts "Writing 'lib/tdlib/types/#{file_name}.rb'"
|
327
|
-
File.write "lib/tdlib/types/#{file_name}.rb", klass
|
328
|
-
end
|
329
|
-
|
330
|
-
puts "Generating Types class"
|
331
|
-
|
332
|
-
lt_max_length = @lookup_table.max_by { |k,_| k.length }[0].length
|
333
|
-
|
334
|
-
lookup_table = @lookup_table.map do |k,v|
|
335
|
-
indent = " " * (lt_max_length - k.length + 1)
|
336
|
-
|
337
|
-
"'#{k}'#{indent}=> '#{v}'"
|
338
|
-
end
|
339
|
-
|
340
|
-
klass = <<-RUBY
|
341
|
-
require 'dry-struct'
|
342
|
-
require 'dry-types'
|
343
|
-
|
344
|
-
module TD::Types
|
345
|
-
include Dry::Types.module
|
346
|
-
|
347
|
-
LOOKUP_TABLE = {
|
348
|
-
#{lookup_table.join(",\n ")}
|
349
|
-
}.freeze
|
350
|
-
|
351
|
-
module_function
|
352
|
-
|
353
|
-
# Recursively wraps a hash into typed classes
|
354
|
-
def wrap(object)
|
355
|
-
# Wrapping each entry in array
|
356
|
-
if object.kind_of?(::Array)
|
357
|
-
object.map { |o| wrap(o) }
|
358
|
-
elsif object.kind_of?(::Hash)
|
359
|
-
type = object.delete('@type')
|
360
|
-
|
361
|
-
object.each do |key, val|
|
362
|
-
if val.respond_to?(:each)
|
363
|
-
object[key] = wrap(val)
|
364
|
-
end
|
365
|
-
end
|
366
|
-
|
367
|
-
unless type
|
368
|
-
return object
|
369
|
-
end
|
370
|
-
|
371
|
-
if (klass = LOOKUP_TABLE[type])
|
372
|
-
const_get(klass).new(object)
|
373
|
-
else
|
374
|
-
raise ArgumentError.new("Can't find class for \#{type}")
|
375
|
-
end
|
376
|
-
else
|
377
|
-
object
|
378
|
-
end
|
379
|
-
end
|
380
|
-
|
381
|
-
# Simple implementation for internal use only.
|
382
|
-
def camelize(str)
|
383
|
-
str.gsub(/(?:_|(\\/)|^)([a-z\\d]*)/i) { "\#{$1}\#{$2.capitalize}" }
|
384
|
-
end
|
385
|
-
|
386
|
-
%w[
|
387
|
-
#{(@class_hierarchy["Base"].map { |c| c.underscore } + ['base']).sort_by { |c| c }.join("\n ")}
|
388
|
-
].each do |type|
|
389
|
-
autoload camelize(type), "#{AUTOLOAD_BASE_DIR}/\#{type}"
|
390
|
-
end
|
391
|
-
end
|
392
|
-
RUBY
|
393
|
-
|
394
|
-
puts "Writing 'lib/tdlib/types.rb'"
|
395
|
-
File.write 'lib/tdlib/types.rb', klass
|
396
|
-
|
397
|
-
puts "Converting functions"
|
398
|
-
|
399
|
-
@functions = @functions.map { |c| parse_tl_entry(c) }.sort_by { |c| c[:class] }
|
400
|
-
|
401
|
-
# Converts TDApi functions into methods. Still need human touch haha
|
402
|
-
@functions = @functions.map do |func|
|
403
|
-
method_name = func[:class].underscore
|
404
|
-
params = func[:arguments]
|
405
|
-
description = func[:description]
|
406
|
-
# TODO: Replace InputMessageContent and others (see #normalize_class_name)
|
407
|
-
return_class = type_to_comment_type("TD::Types::#{func[:super_class].camelcase}")
|
408
|
-
|
409
|
-
param_max_length = params.merge({'@type' => nil}).max_by { |k,_| k.length }[0].length
|
410
|
-
|
411
|
-
if params.blank?
|
412
|
-
params_doc = ""
|
413
|
-
method_params = ""
|
414
|
-
func_params = ""
|
415
|
-
else
|
416
|
-
params_doc = "\n" + attrs_to_yard_comment(params, 'param')
|
417
|
-
|
418
|
-
if method_name == 'set_password'
|
419
|
-
method_params = params.map do |attr, info|
|
420
|
-
#set default value to false
|
421
|
-
if attr == 'set_recovery_email_address'
|
422
|
-
"#{attr}: false"
|
423
|
-
else
|
424
|
-
# use named arguments
|
425
|
-
"#{attr}#{ ": nil" if info[:optional] }"
|
426
|
-
end
|
427
|
-
end.join(", ")
|
428
|
-
else
|
429
|
-
method_params = params.map do |attr, info|
|
430
|
-
"#{attr}#{ " = nil" if info[:optional] }"
|
431
|
-
end.join(", ")
|
432
|
-
end
|
433
|
-
|
434
|
-
method_params = "(#{wrap_params(method_params, 118 - (method_name.length + 5), method_name.length + 7)})"
|
435
|
-
|
436
|
-
func_params = ",\n " + params.map do |attr, info|
|
437
|
-
indent = " " * (param_max_length - attr.length + 1)
|
438
|
-
|
439
|
-
"'#{attr}'#{indent}=> #{attr}"
|
440
|
-
end.join(",\n ")
|
441
|
-
end
|
442
|
-
|
443
|
-
unless description.blank?
|
444
|
-
description = wrap_comment(description, " ")
|
445
|
-
end
|
446
|
-
|
447
|
-
<<-RUBY
|
448
|
-
#{description}
|
449
|
-
##{params_doc}
|
450
|
-
# @return [#{return_class}]
|
451
|
-
def #{method_name}#{method_params}
|
452
|
-
broadcast('@type'#{" " * (param_max_length - 4)}=> '#{func[:class]}'#{func_params})
|
453
|
-
end
|
454
|
-
RUBY
|
455
|
-
end
|
456
|
-
|
457
|
-
klass = <<-RUBY
|
458
|
-
# This is a generated module from current TDLib scheme
|
459
|
-
# It contains all available TDLib methods
|
460
|
-
module TD::ClientMethods
|
461
|
-
#{@functions.join(" \n")}end
|
462
|
-
RUBY
|
463
|
-
|
464
|
-
puts "Writing 'lib/tdlib/client_methods.rb'"
|
465
|
-
File.write 'lib/tdlib/client_methods.rb', klass
|
466
|
-
|
467
|
-
puts "Done. Please look through client_methods.rb carefully, especially the set_password method!"
|