tdlib-ruby 1.0.0 → 2.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 +3 -0
- data/.travis.yml +2 -3
- data/ChangeLog.md +9 -0
- data/README.md +49 -46
- data/bin/build +12 -0
- data/bin/parser +447 -0
- data/lib/tdlib-ruby.rb +4 -1
- data/lib/tdlib/api.rb +20 -15
- data/lib/tdlib/client.rb +121 -123
- data/lib/tdlib/client_methods.rb +3474 -0
- data/lib/tdlib/errors.rb +29 -5
- data/lib/tdlib/types.rb +884 -0
- data/lib/tdlib/types/account_ttl.rb +10 -0
- data/lib/tdlib/types/address.rb +18 -0
- data/lib/tdlib/types/animation.rb +21 -0
- data/lib/tdlib/types/animations.rb +8 -0
- data/lib/tdlib/types/audio.rb +22 -0
- data/lib/tdlib/types/authentication_code_info.rb +15 -0
- data/lib/tdlib/types/authentication_code_type.rb +13 -0
- data/lib/tdlib/types/authentication_code_type/call.rb +8 -0
- data/lib/tdlib/types/authentication_code_type/flash_call.rb +9 -0
- data/lib/tdlib/types/authentication_code_type/sms.rb +8 -0
- data/lib/tdlib/types/authentication_code_type/telegram_message.rb +8 -0
- data/lib/tdlib/types/authorization_state.rb +18 -0
- data/lib/tdlib/types/authorization_state/closed.rb +9 -0
- data/lib/tdlib/types/authorization_state/closing.rb +7 -0
- data/lib/tdlib/types/authorization_state/logging_out.rb +5 -0
- data/lib/tdlib/types/authorization_state/ready.rb +6 -0
- data/lib/tdlib/types/authorization_state/wait_code.rb +13 -0
- data/lib/tdlib/types/authorization_state/wait_encryption_key.rb +8 -0
- data/lib/tdlib/types/authorization_state/wait_password.rb +13 -0
- data/lib/tdlib/types/authorization_state/wait_phone_number.rb +5 -0
- data/lib/tdlib/types/authorization_state/wait_tdlib_parameters.rb +5 -0
- data/lib/tdlib/types/base.rb +29 -0
- data/lib/tdlib/types/basic_group.rb +18 -0
- data/lib/tdlib/types/basic_group_full_info.rb +13 -0
- data/lib/tdlib/types/bot_command.rb +10 -0
- data/lib/tdlib/types/bot_info.rb +10 -0
- data/lib/tdlib/types/call.rb +14 -0
- data/lib/tdlib/types/call_connection.rb +16 -0
- data/lib/tdlib/types/call_discard_reason.rb +14 -0
- data/lib/tdlib/types/call_discard_reason/declined.rb +6 -0
- data/lib/tdlib/types/call_discard_reason/disconnected.rb +5 -0
- data/lib/tdlib/types/call_discard_reason/empty.rb +5 -0
- data/lib/tdlib/types/call_discard_reason/hung_up.rb +5 -0
- data/lib/tdlib/types/call_discard_reason/missed.rb +6 -0
- data/lib/tdlib/types/call_id.rb +8 -0
- data/lib/tdlib/types/call_protocol.rb +14 -0
- data/lib/tdlib/types/call_state.rb +15 -0
- data/lib/tdlib/types/call_state/discarded.rb +12 -0
- data/lib/tdlib/types/call_state/error.rb +9 -0
- data/lib/tdlib/types/call_state/exchanging_keys.rb +5 -0
- data/lib/tdlib/types/call_state/hanging_up.rb +5 -0
- data/lib/tdlib/types/call_state/pending.rb +10 -0
- data/lib/tdlib/types/call_state/ready.rb +16 -0
- data/lib/tdlib/types/callback_query_answer.rb +12 -0
- data/lib/tdlib/types/callback_query_payload.rb +11 -0
- data/lib/tdlib/types/callback_query_payload/data.rb +8 -0
- data/lib/tdlib/types/callback_query_payload/game.rb +8 -0
- data/lib/tdlib/types/chat.rb +51 -0
- data/lib/tdlib/types/chat_action.rb +22 -0
- data/lib/tdlib/types/chat_action/cancel.rb +5 -0
- data/lib/tdlib/types/chat_action/choosing_contact.rb +5 -0
- data/lib/tdlib/types/chat_action/choosing_location.rb +5 -0
- data/lib/tdlib/types/chat_action/recording_video.rb +5 -0
- data/lib/tdlib/types/chat_action/recording_video_note.rb +5 -0
- data/lib/tdlib/types/chat_action/recording_voice_note.rb +5 -0
- data/lib/tdlib/types/chat_action/start_playing_game.rb +5 -0
- data/lib/tdlib/types/chat_action/typing.rb +5 -0
- data/lib/tdlib/types/chat_action/uploading_document.rb +8 -0
- data/lib/tdlib/types/chat_action/uploading_photo.rb +8 -0
- data/lib/tdlib/types/chat_action/uploading_video.rb +8 -0
- data/lib/tdlib/types/chat_action/uploading_video_note.rb +8 -0
- data/lib/tdlib/types/chat_action/uploading_voice_note.rb +8 -0
- data/lib/tdlib/types/chat_event.rb +14 -0
- data/lib/tdlib/types/chat_event_action.rb +26 -0
- data/lib/tdlib/types/chat_event_action/description_changed.rb +10 -0
- data/lib/tdlib/types/chat_event_action/invites_toggled.rb +8 -0
- data/lib/tdlib/types/chat_event_action/is_all_history_available_toggled.rb +8 -0
- data/lib/tdlib/types/chat_event_action/member_invited.rb +10 -0
- data/lib/tdlib/types/chat_event_action/member_joined.rb +5 -0
- data/lib/tdlib/types/chat_event_action/member_left.rb +5 -0
- data/lib/tdlib/types/chat_event_action/member_promoted.rb +12 -0
- data/lib/tdlib/types/chat_event_action/member_restricted.rb +12 -0
- data/lib/tdlib/types/chat_event_action/message_deleted.rb +8 -0
- data/lib/tdlib/types/chat_event_action/message_edited.rb +10 -0
- data/lib/tdlib/types/chat_event_action/message_pinned.rb +8 -0
- data/lib/tdlib/types/chat_event_action/message_unpinned.rb +5 -0
- data/lib/tdlib/types/chat_event_action/photo_changed.rb +10 -0
- data/lib/tdlib/types/chat_event_action/sign_messages_toggled.rb +8 -0
- data/lib/tdlib/types/chat_event_action/sticker_set_changed.rb +10 -0
- data/lib/tdlib/types/chat_event_action/title_changed.rb +10 -0
- data/lib/tdlib/types/chat_event_action/username_changed.rb +10 -0
- data/lib/tdlib/types/chat_event_log_filters.rb +27 -0
- data/lib/tdlib/types/chat_events.rb +8 -0
- data/lib/tdlib/types/chat_invite_link.rb +8 -0
- data/lib/tdlib/types/chat_invite_link_info.rb +20 -0
- data/lib/tdlib/types/chat_member.rb +18 -0
- data/lib/tdlib/types/chat_member_status.rb +15 -0
- data/lib/tdlib/types/chat_member_status/administrator.rb +29 -0
- data/lib/tdlib/types/chat_member_status/banned.rb +11 -0
- data/lib/tdlib/types/chat_member_status/creator.rb +8 -0
- data/lib/tdlib/types/chat_member_status/left.rb +5 -0
- data/lib/tdlib/types/chat_member_status/member.rb +5 -0
- data/lib/tdlib/types/chat_member_status/restricted.rb +27 -0
- data/lib/tdlib/types/chat_members.rb +10 -0
- data/lib/tdlib/types/chat_members_filter.rb +14 -0
- data/lib/tdlib/types/chat_members_filter/administrators.rb +5 -0
- data/lib/tdlib/types/chat_members_filter/banned.rb +5 -0
- data/lib/tdlib/types/chat_members_filter/bots.rb +5 -0
- data/lib/tdlib/types/chat_members_filter/members.rb +5 -0
- data/lib/tdlib/types/chat_members_filter/restricted.rb +5 -0
- data/lib/tdlib/types/chat_notification_settings.rb +22 -0
- data/lib/tdlib/types/chat_photo.rb +10 -0
- data/lib/tdlib/types/chat_report_reason.rb +14 -0
- data/lib/tdlib/types/chat_report_reason/copyright.rb +5 -0
- data/lib/tdlib/types/chat_report_reason/custom.rb +8 -0
- data/lib/tdlib/types/chat_report_reason/pornography.rb +5 -0
- data/lib/tdlib/types/chat_report_reason/spam.rb +5 -0
- data/lib/tdlib/types/chat_report_reason/violence.rb +5 -0
- data/lib/tdlib/types/chat_report_spam_state.rb +8 -0
- data/lib/tdlib/types/chat_type.rb +13 -0
- data/lib/tdlib/types/chat_type/basic_group.rb +8 -0
- data/lib/tdlib/types/chat_type/private.rb +8 -0
- data/lib/tdlib/types/chat_type/secret.rb +10 -0
- data/lib/tdlib/types/chat_type/supergroup.rb +11 -0
- data/lib/tdlib/types/chats.rb +8 -0
- data/lib/tdlib/types/check_chat_username_result.rb +14 -0
- data/lib/tdlib/types/check_chat_username_result/ok.rb +5 -0
- data/lib/tdlib/types/check_chat_username_result/public_chats_too_much.rb +5 -0
- data/lib/tdlib/types/check_chat_username_result/public_groups_unavailable.rb +5 -0
- data/lib/tdlib/types/check_chat_username_result/username_invalid.rb +5 -0
- data/lib/tdlib/types/check_chat_username_result/username_occupied.rb +5 -0
- data/lib/tdlib/types/connected_website.rb +25 -0
- data/lib/tdlib/types/connected_websites.rb +8 -0
- data/lib/tdlib/types/connection_state.rb +14 -0
- data/lib/tdlib/types/connection_state/connecting.rb +5 -0
- data/lib/tdlib/types/connection_state/connecting_to_proxy.rb +5 -0
- data/lib/tdlib/types/connection_state/ready.rb +5 -0
- data/lib/tdlib/types/connection_state/updating.rb +5 -0
- data/lib/tdlib/types/connection_state/waiting_for_network.rb +6 -0
- data/lib/tdlib/types/contact.rb +16 -0
- data/lib/tdlib/types/count.rb +8 -0
- data/lib/tdlib/types/custom_request_result.rb +8 -0
- data/lib/tdlib/types/date.rb +12 -0
- data/lib/tdlib/types/dated_file.rb +10 -0
- data/lib/tdlib/types/deep_link_info.rb +10 -0
- data/lib/tdlib/types/device_token.rb +22 -0
- data/lib/tdlib/types/device_token/apple_push.rb +10 -0
- data/lib/tdlib/types/device_token/apple_push_vo_ip.rb +10 -0
- data/lib/tdlib/types/device_token/black_berry_push.rb +8 -0
- data/lib/tdlib/types/device_token/google_cloud_messaging.rb +8 -0
- data/lib/tdlib/types/device_token/microsoft_push.rb +8 -0
- data/lib/tdlib/types/device_token/microsoft_push_vo_ip.rb +8 -0
- data/lib/tdlib/types/device_token/simple_push.rb +9 -0
- data/lib/tdlib/types/device_token/tizen_push.rb +8 -0
- data/lib/tdlib/types/device_token/ubuntu_push.rb +8 -0
- data/lib/tdlib/types/device_token/web_push.rb +13 -0
- data/lib/tdlib/types/device_token/windows_push.rb +9 -0
- data/lib/tdlib/types/document.rb +14 -0
- data/lib/tdlib/types/draft_message.rb +11 -0
- data/lib/tdlib/types/email_address_authentication_code_info.rb +10 -0
- data/lib/tdlib/types/encrypted_credentials.rb +12 -0
- data/lib/tdlib/types/encrypted_passport_element.rb +25 -0
- data/lib/tdlib/types/error.rb +12 -0
- data/lib/tdlib/types/file.rb +18 -0
- data/lib/tdlib/types/file_type.rb +25 -0
- data/lib/tdlib/types/file_type/animation.rb +5 -0
- data/lib/tdlib/types/file_type/audio.rb +5 -0
- data/lib/tdlib/types/file_type/document.rb +5 -0
- data/lib/tdlib/types/file_type/none.rb +5 -0
- data/lib/tdlib/types/file_type/photo.rb +5 -0
- data/lib/tdlib/types/file_type/profile_photo.rb +5 -0
- data/lib/tdlib/types/file_type/secret.rb +5 -0
- data/lib/tdlib/types/file_type/secret_thumbnail.rb +5 -0
- data/lib/tdlib/types/file_type/secure.rb +5 -0
- data/lib/tdlib/types/file_type/sticker.rb +5 -0
- data/lib/tdlib/types/file_type/thumbnail.rb +5 -0
- data/lib/tdlib/types/file_type/unknown.rb +5 -0
- data/lib/tdlib/types/file_type/video.rb +5 -0
- data/lib/tdlib/types/file_type/video_note.rb +5 -0
- data/lib/tdlib/types/file_type/voice_note.rb +5 -0
- data/lib/tdlib/types/file_type/wallpaper.rb +5 -0
- data/lib/tdlib/types/formatted_text.rb +10 -0
- data/lib/tdlib/types/found_messages.rb +10 -0
- data/lib/tdlib/types/game.rb +21 -0
- data/lib/tdlib/types/game_high_score.rb +12 -0
- data/lib/tdlib/types/game_high_scores.rb +8 -0
- data/lib/tdlib/types/hashtags.rb +8 -0
- data/lib/tdlib/types/identity_document.rb +19 -0
- data/lib/tdlib/types/imported_contacts.rb +12 -0
- data/lib/tdlib/types/inline_keyboard_button.rb +10 -0
- data/lib/tdlib/types/inline_keyboard_button_type.rb +14 -0
- data/lib/tdlib/types/inline_keyboard_button_type/buy.rb +7 -0
- data/lib/tdlib/types/inline_keyboard_button_type/callback.rb +8 -0
- data/lib/tdlib/types/inline_keyboard_button_type/callback_game.rb +7 -0
- data/lib/tdlib/types/inline_keyboard_button_type/switch_inline.rb +10 -0
- data/lib/tdlib/types/inline_keyboard_button_type/url.rb +8 -0
- data/lib/tdlib/types/inline_query_result.rb +21 -0
- data/lib/tdlib/types/inline_query_result/animation.rb +12 -0
- data/lib/tdlib/types/inline_query_result/article.rb +18 -0
- data/lib/tdlib/types/inline_query_result/audio.rb +10 -0
- data/lib/tdlib/types/inline_query_result/contact.rb +12 -0
- data/lib/tdlib/types/inline_query_result/document.rb +14 -0
- data/lib/tdlib/types/inline_query_result/game.rb +10 -0
- data/lib/tdlib/types/inline_query_result/location.rb +14 -0
- data/lib/tdlib/types/inline_query_result/photo.rb +14 -0
- data/lib/tdlib/types/inline_query_result/sticker.rb +10 -0
- data/lib/tdlib/types/inline_query_result/venue.rb +12 -0
- data/lib/tdlib/types/inline_query_result/video.rb +14 -0
- data/lib/tdlib/types/inline_query_result/voice_note.rb +12 -0
- data/lib/tdlib/types/inline_query_results.rb +19 -0
- data/lib/tdlib/types/input_credentials.rb +13 -0
- data/lib/tdlib/types/input_credentials/android_pay.rb +8 -0
- data/lib/tdlib/types/input_credentials/apple_pay.rb +8 -0
- data/lib/tdlib/types/input_credentials/new.rb +10 -0
- data/lib/tdlib/types/input_credentials/saved.rb +9 -0
- data/lib/tdlib/types/input_file.rb +13 -0
- data/lib/tdlib/types/input_file/generated.rb +14 -0
- data/lib/tdlib/types/input_file/id.rb +8 -0
- data/lib/tdlib/types/input_file/local.rb +8 -0
- data/lib/tdlib/types/input_file/remote.rb +8 -0
- data/lib/tdlib/types/input_identity_document.rb +19 -0
- data/lib/tdlib/types/input_inline_query_result.rb +22 -0
- data/lib/tdlib/types/input_inline_query_result/animated_gif.rb +26 -0
- data/lib/tdlib/types/input_inline_query_result/animated_mpeg4.rb +27 -0
- data/lib/tdlib/types/input_inline_query_result/article.rb +28 -0
- data/lib/tdlib/types/input_inline_query_result/audio.rb +22 -0
- data/lib/tdlib/types/input_inline_query_result/contact.rb +22 -0
- data/lib/tdlib/types/input_inline_query_result/document.rb +29 -0
- data/lib/tdlib/types/input_inline_query_result/game.rb +12 -0
- data/lib/tdlib/types/input_inline_query_result/location.rb +27 -0
- data/lib/tdlib/types/input_inline_query_result/photo.rb +25 -0
- data/lib/tdlib/types/input_inline_query_result/sticker.rb +22 -0
- data/lib/tdlib/types/input_inline_query_result/venue.rb +22 -0
- data/lib/tdlib/types/input_inline_query_result/video.rb +31 -0
- data/lib/tdlib/types/input_inline_query_result/voice_note.rb +20 -0
- data/lib/tdlib/types/input_message_content.rb +24 -0
- data/lib/tdlib/types/input_message_content/animation.rb +18 -0
- data/lib/tdlib/types/input_message_content/audio.rb +18 -0
- data/lib/tdlib/types/input_message_content/contact.rb +8 -0
- data/lib/tdlib/types/input_message_content/document.rb +12 -0
- data/lib/tdlib/types/input_message_content/forwarded.rb +13 -0
- data/lib/tdlib/types/input_message_content/game.rb +10 -0
- data/lib/tdlib/types/input_message_content/invoice.rb +28 -0
- data/lib/tdlib/types/input_message_content/location.rb +11 -0
- data/lib/tdlib/types/input_message_content/photo.rb +22 -0
- data/lib/tdlib/types/input_message_content/sticker.rb +14 -0
- data/lib/tdlib/types/input_message_content/text.rb +14 -0
- data/lib/tdlib/types/input_message_content/venue.rb +8 -0
- data/lib/tdlib/types/input_message_content/video.rb +25 -0
- data/lib/tdlib/types/input_message_content/video_note.rb +14 -0
- data/lib/tdlib/types/input_message_content/voice_note.rb +14 -0
- data/lib/tdlib/types/input_passport_element.rb +22 -0
- data/lib/tdlib/types/input_passport_element/address.rb +8 -0
- data/lib/tdlib/types/input_passport_element/bank_statement.rb +8 -0
- data/lib/tdlib/types/input_passport_element/driver_license.rb +8 -0
- data/lib/tdlib/types/input_passport_element/email_address.rb +8 -0
- data/lib/tdlib/types/input_passport_element/identity_card.rb +8 -0
- data/lib/tdlib/types/input_passport_element/internal_passport.rb +8 -0
- data/lib/tdlib/types/input_passport_element/passport.rb +8 -0
- data/lib/tdlib/types/input_passport_element/passport_registration.rb +8 -0
- data/lib/tdlib/types/input_passport_element/personal_details.rb +8 -0
- data/lib/tdlib/types/input_passport_element/phone_number.rb +8 -0
- data/lib/tdlib/types/input_passport_element/rental_agreement.rb +8 -0
- data/lib/tdlib/types/input_passport_element/temporary_registration.rb +8 -0
- data/lib/tdlib/types/input_passport_element/utility_bill.rb +8 -0
- data/lib/tdlib/types/input_passport_element_error.rb +12 -0
- data/lib/tdlib/types/input_passport_element_error_source.rb +18 -0
- data/lib/tdlib/types/input_passport_element_error_source/data_field.rb +11 -0
- data/lib/tdlib/types/input_passport_element_error_source/file.rb +9 -0
- data/lib/tdlib/types/input_passport_element_error_source/files.rb +9 -0
- data/lib/tdlib/types/input_passport_element_error_source/front_side.rb +9 -0
- data/lib/tdlib/types/input_passport_element_error_source/reverse_side.rb +9 -0
- data/lib/tdlib/types/input_passport_element_error_source/selfie.rb +9 -0
- data/lib/tdlib/types/input_passport_element_error_source/translation_file.rb +9 -0
- data/lib/tdlib/types/input_passport_element_error_source/translation_files.rb +9 -0
- data/lib/tdlib/types/input_passport_element_error_source/unspecified.rb +9 -0
- data/lib/tdlib/types/input_personal_document.rb +11 -0
- data/lib/tdlib/types/input_sticker.rb +14 -0
- data/lib/tdlib/types/input_thumbnail.rb +16 -0
- data/lib/tdlib/types/invoice.rb +27 -0
- data/lib/tdlib/types/keyboard_button.rb +10 -0
- data/lib/tdlib/types/keyboard_button_type.rb +12 -0
- data/lib/tdlib/types/keyboard_button_type/request_location.rb +5 -0
- data/lib/tdlib/types/keyboard_button_type/request_phone_number.rb +5 -0
- data/lib/tdlib/types/keyboard_button_type/text.rb +5 -0
- data/lib/tdlib/types/labeled_price_part.rb +10 -0
- data/lib/tdlib/types/language_pack_info.rb +14 -0
- data/lib/tdlib/types/language_pack_string.rb +10 -0
- data/lib/tdlib/types/language_pack_string_value.rb +12 -0
- data/lib/tdlib/types/language_pack_string_value/deleted.rb +5 -0
- data/lib/tdlib/types/language_pack_string_value/ordinary.rb +8 -0
- data/lib/tdlib/types/language_pack_string_value/pluralized.rb +18 -0
- data/lib/tdlib/types/language_pack_strings.rb +8 -0
- data/lib/tdlib/types/link_state.rb +13 -0
- data/lib/tdlib/types/link_state/is_contact.rb +5 -0
- data/lib/tdlib/types/link_state/knows_phone_number.rb +5 -0
- data/lib/tdlib/types/link_state/none.rb +5 -0
- data/lib/tdlib/types/local_file.rb +25 -0
- data/lib/tdlib/types/localization_target_info.rb +8 -0
- data/lib/tdlib/types/location.rb +10 -0
- data/lib/tdlib/types/mask_point.rb +13 -0
- data/lib/tdlib/types/mask_point/chin.rb +5 -0
- data/lib/tdlib/types/mask_point/eyes.rb +5 -0
- data/lib/tdlib/types/mask_point/forehead.rb +5 -0
- data/lib/tdlib/types/mask_point/mouth.rb +5 -0
- data/lib/tdlib/types/mask_position.rb +17 -0
- data/lib/tdlib/types/message.rb +59 -0
- data/lib/tdlib/types/message_content.rb +48 -0
- data/lib/tdlib/types/message_content/animation.rb +13 -0
- data/lib/tdlib/types/message_content/audio.rb +10 -0
- data/lib/tdlib/types/message_content/basic_group_chat_create.rb +10 -0
- data/lib/tdlib/types/message_content/call.rb +10 -0
- data/lib/tdlib/types/message_content/chat_add_members.rb +8 -0
- data/lib/tdlib/types/message_content/chat_change_photo.rb +8 -0
- data/lib/tdlib/types/message_content/chat_change_title.rb +8 -0
- data/lib/tdlib/types/message_content/chat_delete_member.rb +8 -0
- data/lib/tdlib/types/message_content/chat_delete_photo.rb +5 -0
- data/lib/tdlib/types/message_content/chat_join_by_link.rb +5 -0
- data/lib/tdlib/types/message_content/chat_set_ttl.rb +8 -0
- data/lib/tdlib/types/message_content/chat_upgrade_from.rb +10 -0
- data/lib/tdlib/types/message_content/chat_upgrade_to.rb +8 -0
- data/lib/tdlib/types/message_content/contact.rb +8 -0
- data/lib/tdlib/types/message_content/contact_registered.rb +5 -0
- data/lib/tdlib/types/message_content/custom_service_action.rb +8 -0
- data/lib/tdlib/types/message_content/document.rb +10 -0
- data/lib/tdlib/types/message_content/expired_photo.rb +5 -0
- data/lib/tdlib/types/message_content/expired_video.rb +5 -0
- data/lib/tdlib/types/message_content/game.rb +8 -0
- data/lib/tdlib/types/message_content/game_score.rb +13 -0
- data/lib/tdlib/types/message_content/invoice.rb +26 -0
- data/lib/tdlib/types/message_content/location.rb +14 -0
- data/lib/tdlib/types/message_content/passport_data_received.rb +10 -0
- data/lib/tdlib/types/message_content/passport_data_sent.rb +8 -0
- data/lib/tdlib/types/message_content/payment_successful.rb +13 -0
- data/lib/tdlib/types/message_content/payment_successful_bot.rb +24 -0
- data/lib/tdlib/types/message_content/photo.rb +12 -0
- data/lib/tdlib/types/message_content/pin_message.rb +8 -0
- data/lib/tdlib/types/message_content/screenshot_taken.rb +5 -0
- data/lib/tdlib/types/message_content/sticker.rb +8 -0
- data/lib/tdlib/types/message_content/supergroup_chat_create.rb +8 -0
- data/lib/tdlib/types/message_content/text.rb +10 -0
- data/lib/tdlib/types/message_content/unsupported.rb +5 -0
- data/lib/tdlib/types/message_content/venue.rb +8 -0
- data/lib/tdlib/types/message_content/video.rb +13 -0
- data/lib/tdlib/types/message_content/video_note.rb +13 -0
- data/lib/tdlib/types/message_content/voice_note.rb +12 -0
- data/lib/tdlib/types/message_content/website_connected.rb +8 -0
- data/lib/tdlib/types/message_forward_info.rb +11 -0
- data/lib/tdlib/types/message_forward_info/message_forwarded_from_user.rb +16 -0
- data/lib/tdlib/types/message_forward_info/message_forwarded_post.rb +21 -0
- data/lib/tdlib/types/message_sending_state.rb +11 -0
- data/lib/tdlib/types/message_sending_state/failed.rb +5 -0
- data/lib/tdlib/types/message_sending_state/pending.rb +5 -0
- data/lib/tdlib/types/messages.rb +10 -0
- data/lib/tdlib/types/network_statistics.rb +10 -0
- data/lib/tdlib/types/network_statistics_entry.rb +11 -0
- data/lib/tdlib/types/network_statistics_entry/call.rb +15 -0
- data/lib/tdlib/types/network_statistics_entry/file.rb +15 -0
- data/lib/tdlib/types/network_type.rb +14 -0
- data/lib/tdlib/types/network_type/mobile.rb +5 -0
- data/lib/tdlib/types/network_type/mobile_roaming.rb +5 -0
- data/lib/tdlib/types/network_type/none.rb +5 -0
- data/lib/tdlib/types/network_type/other.rb +5 -0
- data/lib/tdlib/types/network_type/wi_fi.rb +5 -0
- data/lib/tdlib/types/notification_settings_scope.rb +11 -0
- data/lib/tdlib/types/notification_settings_scope/group_chats.rb +6 -0
- data/lib/tdlib/types/notification_settings_scope/private_chats.rb +6 -0
- data/lib/tdlib/types/ok.rb +5 -0
- data/lib/tdlib/types/option_value.rb +13 -0
- data/lib/tdlib/types/option_value/boolean.rb +8 -0
- data/lib/tdlib/types/option_value/empty.rb +5 -0
- data/lib/tdlib/types/option_value/integer.rb +8 -0
- data/lib/tdlib/types/option_value/string.rb +8 -0
- data/lib/tdlib/types/order_info.rb +14 -0
- data/lib/tdlib/types/page_block.rb +32 -0
- data/lib/tdlib/types/page_block/anchor.rb +8 -0
- data/lib/tdlib/types/page_block/animation.rb +12 -0
- data/lib/tdlib/types/page_block/audio.rb +10 -0
- data/lib/tdlib/types/page_block/author_date.rb +10 -0
- data/lib/tdlib/types/page_block/block_quote.rb +10 -0
- data/lib/tdlib/types/page_block/chat_link.rb +12 -0
- data/lib/tdlib/types/page_block/collage.rb +10 -0
- data/lib/tdlib/types/page_block/cover.rb +8 -0
- data/lib/tdlib/types/page_block/divider.rb +5 -0
- data/lib/tdlib/types/page_block/embedded.rb +22 -0
- data/lib/tdlib/types/page_block/embedded_post.rb +18 -0
- data/lib/tdlib/types/page_block/footer.rb +8 -0
- data/lib/tdlib/types/page_block/header.rb +8 -0
- data/lib/tdlib/types/page_block/list.rb +10 -0
- data/lib/tdlib/types/page_block/paragraph.rb +8 -0
- data/lib/tdlib/types/page_block/photo.rb +10 -0
- data/lib/tdlib/types/page_block/preformatted.rb +10 -0
- data/lib/tdlib/types/page_block/pull_quote.rb +10 -0
- data/lib/tdlib/types/page_block/slideshow.rb +10 -0
- data/lib/tdlib/types/page_block/subheader.rb +8 -0
- data/lib/tdlib/types/page_block/subtitle.rb +8 -0
- data/lib/tdlib/types/page_block/title.rb +8 -0
- data/lib/tdlib/types/page_block/video.rb +14 -0
- data/lib/tdlib/types/passport_authorization_form.rb +17 -0
- data/lib/tdlib/types/passport_element.rb +22 -0
- data/lib/tdlib/types/passport_element/address.rb +8 -0
- data/lib/tdlib/types/passport_element/bank_statement.rb +8 -0
- data/lib/tdlib/types/passport_element/driver_license.rb +8 -0
- data/lib/tdlib/types/passport_element/email_address.rb +8 -0
- data/lib/tdlib/types/passport_element/identity_card.rb +8 -0
- data/lib/tdlib/types/passport_element/internal_passport.rb +8 -0
- data/lib/tdlib/types/passport_element/passport.rb +8 -0
- data/lib/tdlib/types/passport_element/passport_registration.rb +8 -0
- data/lib/tdlib/types/passport_element/personal_details.rb +8 -0
- data/lib/tdlib/types/passport_element/phone_number.rb +8 -0
- data/lib/tdlib/types/passport_element/rental_agreement.rb +8 -0
- data/lib/tdlib/types/passport_element/temporary_registration.rb +8 -0
- data/lib/tdlib/types/passport_element/utility_bill.rb +8 -0
- data/lib/tdlib/types/passport_element_error.rb +12 -0
- data/lib/tdlib/types/passport_element_error_source.rb +18 -0
- data/lib/tdlib/types/passport_element_error_source/data_field.rb +9 -0
- data/lib/tdlib/types/passport_element_error_source/file.rb +6 -0
- data/lib/tdlib/types/passport_element_error_source/files.rb +6 -0
- data/lib/tdlib/types/passport_element_error_source/front_side.rb +6 -0
- data/lib/tdlib/types/passport_element_error_source/reverse_side.rb +6 -0
- data/lib/tdlib/types/passport_element_error_source/selfie.rb +6 -0
- data/lib/tdlib/types/passport_element_error_source/translation_file.rb +6 -0
- data/lib/tdlib/types/passport_element_error_source/translation_files.rb +6 -0
- data/lib/tdlib/types/passport_element_error_source/unspecified.rb +6 -0
- data/lib/tdlib/types/passport_element_type.rb +22 -0
- data/lib/tdlib/types/passport_element_type/address.rb +5 -0
- data/lib/tdlib/types/passport_element_type/bank_statement.rb +5 -0
- data/lib/tdlib/types/passport_element_type/driver_license.rb +5 -0
- data/lib/tdlib/types/passport_element_type/email_address.rb +5 -0
- data/lib/tdlib/types/passport_element_type/identity_card.rb +5 -0
- data/lib/tdlib/types/passport_element_type/internal_passport.rb +5 -0
- data/lib/tdlib/types/passport_element_type/passport.rb +5 -0
- data/lib/tdlib/types/passport_element_type/passport_registration.rb +5 -0
- data/lib/tdlib/types/passport_element_type/personal_details.rb +5 -0
- data/lib/tdlib/types/passport_element_type/phone_number.rb +5 -0
- data/lib/tdlib/types/passport_element_type/rental_agreement.rb +5 -0
- data/lib/tdlib/types/passport_element_type/temporary_registration.rb +5 -0
- data/lib/tdlib/types/passport_element_type/utility_bill.rb +5 -0
- data/lib/tdlib/types/passport_elements.rb +8 -0
- data/lib/tdlib/types/passport_required_element.rb +9 -0
- data/lib/tdlib/types/passport_suitable_element.rb +15 -0
- data/lib/tdlib/types/password_state.rb +17 -0
- data/lib/tdlib/types/payment_form.rb +23 -0
- data/lib/tdlib/types/payment_receipt.rb +18 -0
- data/lib/tdlib/types/payment_result.rb +11 -0
- data/lib/tdlib/types/payments_provider_stripe.rb +14 -0
- data/lib/tdlib/types/personal_details.rb +26 -0
- data/lib/tdlib/types/personal_document.rb +11 -0
- data/lib/tdlib/types/photo.rb +12 -0
- data/lib/tdlib/types/photo_size.rb +14 -0
- data/lib/tdlib/types/profile_photo.rb +13 -0
- data/lib/tdlib/types/proxies.rb +8 -0
- data/lib/tdlib/types/proxy.rb +18 -0
- data/lib/tdlib/types/proxy_type.rb +12 -0
- data/lib/tdlib/types/proxy_type/http.rb +13 -0
- data/lib/tdlib/types/proxy_type/mtproto.rb +8 -0
- data/lib/tdlib/types/proxy_type/socks5.rb +10 -0
- data/lib/tdlib/types/public_message_link.rb +10 -0
- data/lib/tdlib/types/recovery_email_address.rb +8 -0
- data/lib/tdlib/types/remote_file.rb +22 -0
- data/lib/tdlib/types/reply_markup.rb +13 -0
- data/lib/tdlib/types/reply_markup/force_reply.rb +10 -0
- data/lib/tdlib/types/reply_markup/inline_keyboard.rb +8 -0
- data/lib/tdlib/types/reply_markup/remove_keyboard.rb +11 -0
- data/lib/tdlib/types/reply_markup/show_keyboard.rb +16 -0
- data/lib/tdlib/types/rich_text.rb +18 -0
- data/lib/tdlib/types/rich_text/bold.rb +8 -0
- data/lib/tdlib/types/rich_text/email_address.rb +10 -0
- data/lib/tdlib/types/rich_text/fixed.rb +8 -0
- data/lib/tdlib/types/rich_text/italic.rb +8 -0
- data/lib/tdlib/types/rich_text/plain.rb +8 -0
- data/lib/tdlib/types/rich_text/s.rb +8 -0
- data/lib/tdlib/types/rich_text/strikethrough.rb +8 -0
- data/lib/tdlib/types/rich_text/underline.rb +8 -0
- data/lib/tdlib/types/rich_text/url.rb +10 -0
- data/lib/tdlib/types/saved_credentials.rb +10 -0
- data/lib/tdlib/types/scope_notification_settings.rb +13 -0
- data/lib/tdlib/types/search_messages_filter.rb +25 -0
- data/lib/tdlib/types/search_messages_filter/animation.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/audio.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/call.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/chat_photo.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/document.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/empty.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/mention.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/missed_call.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/photo.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/photo_and_video.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/unread_mention.rb +6 -0
- data/lib/tdlib/types/search_messages_filter/url.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/video.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/video_note.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/voice_and_video_note.rb +5 -0
- data/lib/tdlib/types/search_messages_filter/voice_note.rb +5 -0
- data/lib/tdlib/types/seconds.rb +8 -0
- data/lib/tdlib/types/secret_chat.rb +26 -0
- data/lib/tdlib/types/secret_chat_state.rb +12 -0
- data/lib/tdlib/types/secret_chat_state/closed.rb +5 -0
- data/lib/tdlib/types/secret_chat_state/pending.rb +5 -0
- data/lib/tdlib/types/secret_chat_state/ready.rb +5 -0
- data/lib/tdlib/types/session.rb +39 -0
- data/lib/tdlib/types/sessions.rb +8 -0
- data/lib/tdlib/types/shipping_option.rb +13 -0
- data/lib/tdlib/types/sticker.rb +22 -0
- data/lib/tdlib/types/sticker_emojis.rb +10 -0
- data/lib/tdlib/types/sticker_set.rb +27 -0
- data/lib/tdlib/types/sticker_set_info.rb +29 -0
- data/lib/tdlib/types/sticker_sets.rb +10 -0
- data/lib/tdlib/types/stickers.rb +8 -0
- data/lib/tdlib/types/storage_statistics.rb +12 -0
- data/lib/tdlib/types/storage_statistics_by_chat.rb +14 -0
- data/lib/tdlib/types/storage_statistics_by_file_type.rb +12 -0
- data/lib/tdlib/types/storage_statistics_fast.rb +12 -0
- data/lib/tdlib/types/supergroup.rb +40 -0
- data/lib/tdlib/types/supergroup_full_info.rb +39 -0
- data/lib/tdlib/types/supergroup_members_filter.rb +15 -0
- data/lib/tdlib/types/supergroup_members_filter/administrators.rb +5 -0
- data/lib/tdlib/types/supergroup_members_filter/banned.rb +8 -0
- data/lib/tdlib/types/supergroup_members_filter/bots.rb +5 -0
- data/lib/tdlib/types/supergroup_members_filter/recent.rb +5 -0
- data/lib/tdlib/types/supergroup_members_filter/restricted.rb +8 -0
- data/lib/tdlib/types/supergroup_members_filter/search.rb +8 -0
- data/lib/tdlib/types/t_me_url.rb +10 -0
- data/lib/tdlib/types/t_me_url_type.rb +13 -0
- data/lib/tdlib/types/t_me_url_type/chat_invite.rb +8 -0
- data/lib/tdlib/types/t_me_url_type/sticker_set.rb +8 -0
- data/lib/tdlib/types/t_me_url_type/supergroup.rb +8 -0
- data/lib/tdlib/types/t_me_url_type/user.rb +8 -0
- data/lib/tdlib/types/t_me_urls.rb +8 -0
- data/lib/tdlib/types/tdlib_parameters.rb +46 -0
- data/lib/tdlib/types/temporary_password_state.rb +10 -0
- data/lib/tdlib/types/terms_of_service.rb +12 -0
- data/lib/tdlib/types/text.rb +8 -0
- data/lib/tdlib/types/text_entities.rb +8 -0
- data/lib/tdlib/types/text_entity.rb +12 -0
- data/lib/tdlib/types/text_entity_type.rb +23 -0
- data/lib/tdlib/types/text_entity_type/bold.rb +5 -0
- data/lib/tdlib/types/text_entity_type/bot_command.rb +6 -0
- data/lib/tdlib/types/text_entity_type/cashtag.rb +6 -0
- data/lib/tdlib/types/text_entity_type/code.rb +5 -0
- data/lib/tdlib/types/text_entity_type/email_address.rb +5 -0
- data/lib/tdlib/types/text_entity_type/hashtag.rb +5 -0
- data/lib/tdlib/types/text_entity_type/italic.rb +5 -0
- data/lib/tdlib/types/text_entity_type/mention.rb +5 -0
- data/lib/tdlib/types/text_entity_type/mention_name.rb +8 -0
- data/lib/tdlib/types/text_entity_type/phone_number.rb +5 -0
- data/lib/tdlib/types/text_entity_type/pre.rb +5 -0
- data/lib/tdlib/types/text_entity_type/pre_code.rb +8 -0
- data/lib/tdlib/types/text_entity_type/text_url.rb +8 -0
- data/lib/tdlib/types/text_entity_type/url.rb +5 -0
- data/lib/tdlib/types/text_parse_mode.rb +11 -0
- data/lib/tdlib/types/text_parse_mode/html.rb +5 -0
- data/lib/tdlib/types/text_parse_mode/markdown.rb +5 -0
- data/lib/tdlib/types/top_chat_category.rb +15 -0
- data/lib/tdlib/types/top_chat_category/bots.rb +5 -0
- data/lib/tdlib/types/top_chat_category/calls.rb +5 -0
- data/lib/tdlib/types/top_chat_category/channels.rb +5 -0
- data/lib/tdlib/types/top_chat_category/groups.rb +5 -0
- data/lib/tdlib/types/top_chat_category/inline_bots.rb +5 -0
- data/lib/tdlib/types/top_chat_category/users.rb +5 -0
- data/lib/tdlib/types/update.rb +70 -0
- data/lib/tdlib/types/update/authorization_state.rb +8 -0
- data/lib/tdlib/types/update/basic_group.rb +9 -0
- data/lib/tdlib/types/update/basic_group_full_info.rb +10 -0
- data/lib/tdlib/types/update/call.rb +8 -0
- data/lib/tdlib/types/update/chat_default_disable_notification.rb +10 -0
- data/lib/tdlib/types/update/chat_draft_message.rb +14 -0
- data/lib/tdlib/types/update/chat_is_marked_as_unread.rb +10 -0
- data/lib/tdlib/types/update/chat_is_pinned.rb +12 -0
- data/lib/tdlib/types/update/chat_is_sponsored.rb +12 -0
- data/lib/tdlib/types/update/chat_last_message.rb +14 -0
- data/lib/tdlib/types/update/chat_notification_settings.rb +10 -0
- data/lib/tdlib/types/update/chat_order.rb +11 -0
- data/lib/tdlib/types/update/chat_photo.rb +10 -0
- data/lib/tdlib/types/update/chat_read_inbox.rb +12 -0
- data/lib/tdlib/types/update/chat_read_outbox.rb +10 -0
- data/lib/tdlib/types/update/chat_reply_markup.rb +13 -0
- data/lib/tdlib/types/update/chat_title.rb +10 -0
- data/lib/tdlib/types/update/chat_unread_mention_count.rb +10 -0
- data/lib/tdlib/types/update/connection_state.rb +8 -0
- data/lib/tdlib/types/update/delete_messages.rb +16 -0
- data/lib/tdlib/types/update/favorite_stickers.rb +8 -0
- data/lib/tdlib/types/update/file.rb +8 -0
- data/lib/tdlib/types/update/file_generation_start.rb +17 -0
- data/lib/tdlib/types/update/file_generation_stop.rb +8 -0
- data/lib/tdlib/types/update/installed_sticker_sets.rb +10 -0
- data/lib/tdlib/types/update/language_pack_strings.rb +12 -0
- data/lib/tdlib/types/update/message_content.rb +12 -0
- data/lib/tdlib/types/update/message_content_opened.rb +12 -0
- data/lib/tdlib/types/update/message_edited.rb +15 -0
- data/lib/tdlib/types/update/message_mention_read.rb +12 -0
- data/lib/tdlib/types/update/message_send_acknowledged.rb +14 -0
- data/lib/tdlib/types/update/message_send_failed.rb +16 -0
- data/lib/tdlib/types/update/message_send_succeeded.rb +11 -0
- data/lib/tdlib/types/update/message_views.rb +12 -0
- data/lib/tdlib/types/update/new_callback_query.rb +18 -0
- data/lib/tdlib/types/update/new_chat.rb +10 -0
- data/lib/tdlib/types/update/new_chosen_inline_result.rb +16 -0
- data/lib/tdlib/types/update/new_custom_event.rb +8 -0
- data/lib/tdlib/types/update/new_custom_query.rb +12 -0
- data/lib/tdlib/types/update/new_inline_callback_query.rb +16 -0
- data/lib/tdlib/types/update/new_inline_query.rb +16 -0
- data/lib/tdlib/types/update/new_message.rb +12 -0
- data/lib/tdlib/types/update/new_pre_checkout_query.rb +22 -0
- data/lib/tdlib/types/update/new_shipping_query.rb +15 -0
- data/lib/tdlib/types/update/option.rb +10 -0
- data/lib/tdlib/types/update/recent_stickers.rb +11 -0
- data/lib/tdlib/types/update/saved_animations.rb +8 -0
- data/lib/tdlib/types/update/scope_notification_settings.rb +10 -0
- data/lib/tdlib/types/update/secret_chat.rb +9 -0
- data/lib/tdlib/types/update/service_notification.rb +13 -0
- data/lib/tdlib/types/update/supergroup.rb +9 -0
- data/lib/tdlib/types/update/supergroup_full_info.rb +10 -0
- data/lib/tdlib/types/update/terms_of_service.rb +12 -0
- data/lib/tdlib/types/update/trending_sticker_sets.rb +8 -0
- data/lib/tdlib/types/update/unread_chat_count.rb +16 -0
- data/lib/tdlib/types/update/unread_message_count.rb +11 -0
- data/lib/tdlib/types/update/user.rb +9 -0
- data/lib/tdlib/types/update/user_chat_action.rb +12 -0
- data/lib/tdlib/types/update/user_full_info.rb +10 -0
- data/lib/tdlib/types/update/user_privacy_setting_rules.rb +10 -0
- data/lib/tdlib/types/update/user_status.rb +10 -0
- data/lib/tdlib/types/user.rb +41 -0
- data/lib/tdlib/types/user_full_info.rb +21 -0
- data/lib/tdlib/types/user_privacy_setting.rb +12 -0
- data/lib/tdlib/types/user_privacy_setting/allow_calls.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting/allow_chat_invites.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting/show_status.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting_rule.rb +15 -0
- data/lib/tdlib/types/user_privacy_setting_rule/allow_all.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting_rule/allow_contacts.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting_rule/allow_users.rb +8 -0
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_all.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_contacts.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_users.rb +8 -0
- data/lib/tdlib/types/user_privacy_setting_rules.rb +11 -0
- data/lib/tdlib/types/user_profile_photos.rb +10 -0
- data/lib/tdlib/types/user_status.rb +15 -0
- data/lib/tdlib/types/user_status/empty.rb +5 -0
- data/lib/tdlib/types/user_status/last_month.rb +5 -0
- data/lib/tdlib/types/user_status/last_week.rb +5 -0
- data/lib/tdlib/types/user_status/offline.rb +8 -0
- data/lib/tdlib/types/user_status/online.rb +8 -0
- data/lib/tdlib/types/user_status/recently.rb +5 -0
- data/lib/tdlib/types/user_type.rb +14 -0
- data/lib/tdlib/types/user_type/bot.rb +18 -0
- data/lib/tdlib/types/user_type/deleted.rb +7 -0
- data/lib/tdlib/types/user_type/regular.rb +5 -0
- data/lib/tdlib/types/user_type/unknown.rb +7 -0
- data/lib/tdlib/types/users.rb +10 -0
- data/lib/tdlib/types/validated_order_info.rb +11 -0
- data/lib/tdlib/types/venue.rb +19 -0
- data/lib/tdlib/types/video.rb +24 -0
- data/lib/tdlib/types/video_note.rb +15 -0
- data/lib/tdlib/types/voice_note.rb +16 -0
- data/lib/tdlib/types/wallpaper.rb +14 -0
- data/lib/tdlib/types/wallpapers.rb +8 -0
- data/lib/tdlib/types/web_page.rb +51 -0
- data/lib/tdlib/types/web_page_instant_view.rb +11 -0
- data/lib/tdlib/update_handler.rb +36 -0
- data/lib/tdlib/update_manager.rb +21 -11
- data/lib/tdlib/version.rb +1 -1
- data/spec/integration/tdlib_spec.rb +20 -15
- data/tdlib-ruby.gemspec +7 -12
- metadata +720 -9
- data/lib/tdlib/utils.rb +0 -7
@@ -0,0 +1,18 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# A bot (see https://core.telegram.org/bots).
|
3
|
+
#
|
4
|
+
# @attr can_join_groups [Boolean] True, if the bot can be invited to basic group and supergroup chats.
|
5
|
+
# @attr can_read_all_group_messages [Boolean] True, if the bot can read all messages in basic group or supergroup
|
6
|
+
# chats and not just those addressed to the bot.
|
7
|
+
# In private and channel chats a bot can always read all messages.
|
8
|
+
# @attr is_inline [Boolean] True, if the bot supports inline queries.
|
9
|
+
# @attr inline_query_placeholder [String] Placeholder for inline queries (displayed on the client input field).
|
10
|
+
# @attr need_location [Boolean] True, if the location of the user should be sent with every inline query to this bot.
|
11
|
+
class UserType::Bot < UserType
|
12
|
+
attribute :can_join_groups, TD::Types::Bool
|
13
|
+
attribute :can_read_all_group_messages, TD::Types::Bool
|
14
|
+
attribute :is_inline, TD::Types::Bool
|
15
|
+
attribute :inline_query_placeholder, TD::Types::String
|
16
|
+
attribute :need_location, TD::Types::Bool
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# No information on the user besides the user_id is available, yet this user has not been deleted.
|
3
|
+
# This object is extremely rare and must be handled like a deleted user.
|
4
|
+
# It is not possible to perform any actions on users of this type.
|
5
|
+
class UserType::Unknown < UserType
|
6
|
+
end
|
7
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Represents a list of users.
|
3
|
+
#
|
4
|
+
# @attr total_count [Integer] Approximate total count of users found.
|
5
|
+
# @attr user_ids [Array<Integer>] A list of user identifiers.
|
6
|
+
class Users < Base
|
7
|
+
attribute :total_count, TD::Types::Integer
|
8
|
+
attribute :user_ids, TD::Types::Array.of(TD::Types::Integer)
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Contains a temporary identifier of validated order information, which is stored for one hour.
|
3
|
+
# Also contains the available shipping options.
|
4
|
+
#
|
5
|
+
# @attr order_info_id [String] Temporary identifier of the order information.
|
6
|
+
# @attr shipping_options [Array<TD::Types::ShippingOption>] Available shipping options.
|
7
|
+
class ValidatedOrderInfo < Base
|
8
|
+
attribute :order_info_id, TD::Types::String
|
9
|
+
attribute :shipping_options, TD::Types::Array.of(TD::Types::ShippingOption)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Describes a venue.
|
3
|
+
#
|
4
|
+
# @attr location [TD::Types::Location] Venue location; as defined by the sender.
|
5
|
+
# @attr title [String] Venue name; as defined by the sender.
|
6
|
+
# @attr address [String] Venue address; as defined by the sender.
|
7
|
+
# @attr provider [String] Provider of the venue database; as defined by the sender.
|
8
|
+
# Currently only "foursquare" needs to be supported.
|
9
|
+
# @attr id [String] Identifier of the venue in the provider database; as defined by the sender.
|
10
|
+
# @attr type [String] Type of the venue in the provider database; as defined by the sender.
|
11
|
+
class Venue < Base
|
12
|
+
attribute :location, TD::Types::Location
|
13
|
+
attribute :title, TD::Types::String
|
14
|
+
attribute :address, TD::Types::String
|
15
|
+
attribute :provider, TD::Types::String
|
16
|
+
attribute :id, TD::Types::String
|
17
|
+
attribute :type, TD::Types::String
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Describes a video file.
|
3
|
+
#
|
4
|
+
# @attr duration [Integer] Duration of the video, in seconds; as defined by the sender.
|
5
|
+
# @attr width [Integer] Video width; as defined by the sender.
|
6
|
+
# @attr height [Integer] Video height; as defined by the sender.
|
7
|
+
# @attr file_name [String] Original name of the file; as defined by the sender.
|
8
|
+
# @attr mime_type [String] MIME type of the file; as defined by the sender.
|
9
|
+
# @attr has_stickers [Boolean] True, if stickers were added to the photo.
|
10
|
+
# @attr supports_streaming [Boolean] True, if the video should be tried to be streamed.
|
11
|
+
# @attr thumbnail [TD::Types::PhotoSize, nil] Video thumbnail; as defined by the sender; may be null.
|
12
|
+
# @attr video [TD::Types::File] File containing the video.
|
13
|
+
class Video < Base
|
14
|
+
attribute :duration, TD::Types::Integer
|
15
|
+
attribute :width, TD::Types::Integer
|
16
|
+
attribute :height, TD::Types::Integer
|
17
|
+
attribute :file_name, TD::Types::String
|
18
|
+
attribute :mime_type, TD::Types::String
|
19
|
+
attribute :has_stickers, TD::Types::Bool
|
20
|
+
attribute :supports_streaming, TD::Types::Bool
|
21
|
+
attribute :thumbnail, TD::Types::PhotoSize.optional.default(nil)
|
22
|
+
attribute :video, TD::Types::File
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Describes a video note.
|
3
|
+
# The video must be equal in width and height, cropped to a circle, and stored in MPEG4 format.
|
4
|
+
#
|
5
|
+
# @attr duration [Integer] Duration of the video, in seconds; as defined by the sender.
|
6
|
+
# @attr length [Integer] Video width and height; as defined by the sender.
|
7
|
+
# @attr thumbnail [TD::Types::PhotoSize, nil] Video thumbnail; as defined by the sender; may be null.
|
8
|
+
# @attr video [TD::Types::File] File containing the video.
|
9
|
+
class VideoNote < Base
|
10
|
+
attribute :duration, TD::Types::Integer
|
11
|
+
attribute :length, TD::Types::Integer
|
12
|
+
attribute :thumbnail, TD::Types::PhotoSize.optional.default(nil)
|
13
|
+
attribute :video, TD::Types::File
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Describes a voice note.
|
3
|
+
# The voice note must be encoded with the Opus codec, and stored inside an OGG container.
|
4
|
+
# Voice notes can have only a single audio channel.
|
5
|
+
#
|
6
|
+
# @attr duration [Integer] Duration of the voice note, in seconds; as defined by the sender.
|
7
|
+
# @attr waveform [String] A waveform representation of the voice note in 5-bit format.
|
8
|
+
# @attr mime_type [String] MIME type of the file; as defined by the sender.
|
9
|
+
# @attr voice [TD::Types::File] File containing the voice note.
|
10
|
+
class VoiceNote < Base
|
11
|
+
attribute :duration, TD::Types::Integer
|
12
|
+
attribute :waveform, TD::Types::String
|
13
|
+
attribute :mime_type, TD::Types::String
|
14
|
+
attribute :voice, TD::Types::File
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Contains information about a wallpaper.
|
3
|
+
#
|
4
|
+
# @attr id [Integer] Unique persistent wallpaper identifier.
|
5
|
+
# @attr sizes [Array<TD::Types::PhotoSize>] Available variants of the wallpaper in different sizes.
|
6
|
+
# These photos can only be downloaded; they can't be sent in a message.
|
7
|
+
# @attr color [Integer] Main color of the wallpaper in RGB24 format; should be treated as background color if no
|
8
|
+
# photos are specified.
|
9
|
+
class Wallpaper < Base
|
10
|
+
attribute :id, TD::Types::Integer
|
11
|
+
attribute :sizes, TD::Types::Array.of(TD::Types::PhotoSize)
|
12
|
+
attribute :color, TD::Types::Integer
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Describes a web page preview.
|
3
|
+
#
|
4
|
+
# @attr url [String] Original URL of the link.
|
5
|
+
# @attr display_url [String] URL to display.
|
6
|
+
# @attr type [String] Type of the web page.
|
7
|
+
# Can be: article, photo, audio, video, document, profile, app, or something else.
|
8
|
+
# @attr site_name [String] Short name of the site (e.g., Google Docs, App Store).
|
9
|
+
# @attr title [String] Title of the content.
|
10
|
+
# @attr description [String] Description of the content.
|
11
|
+
# @attr photo [TD::Types::Photo, nil] Image representing the content; may be null.
|
12
|
+
# @attr embed_url [String] URL to show in the embedded preview.
|
13
|
+
# @attr embed_type [String] MIME type of the embedded preview, (e.g., text/html or video/mp4).
|
14
|
+
# @attr embed_width [Integer] Width of the embedded preview.
|
15
|
+
# @attr embed_height [Integer] Height of the embedded preview.
|
16
|
+
# @attr duration [Integer] Duration of the content, in seconds.
|
17
|
+
# @attr author [String] Author of the content.
|
18
|
+
# @attr animation [TD::Types::Animation, nil] Preview of the content as an animation, if available; may be null.
|
19
|
+
# @attr audio [TD::Types::Audio, nil] Preview of the content as an audio file, if available; may be null.
|
20
|
+
# @attr document [TD::Types::Document, nil] Preview of the content as a document, if available (currently only
|
21
|
+
# available for small PDF files and ZIP archives); may be null.
|
22
|
+
# @attr sticker [TD::Types::Sticker, nil] Preview of the content as a sticker for small WEBP files, if available; may
|
23
|
+
# be null.
|
24
|
+
# @attr video [TD::Types::Video, nil] Preview of the content as a video, if available; may be null.
|
25
|
+
# @attr video_note [TD::Types::VideoNote, nil] Preview of the content as a video note, if available; may be null.
|
26
|
+
# @attr voice_note [TD::Types::VoiceNote, nil] Preview of the content as a voice note, if available; may be null.
|
27
|
+
# @attr has_instant_view [Boolean] True, if the web page has an instant view.
|
28
|
+
class WebPage < Base
|
29
|
+
attribute :url, TD::Types::String
|
30
|
+
attribute :display_url, TD::Types::String
|
31
|
+
attribute :type, TD::Types::String
|
32
|
+
attribute :site_name, TD::Types::String
|
33
|
+
attribute :title, TD::Types::String
|
34
|
+
attribute :description, TD::Types::String
|
35
|
+
attribute :photo, TD::Types::Photo.optional.default(nil)
|
36
|
+
attribute :embed_url, TD::Types::String
|
37
|
+
attribute :embed_type, TD::Types::String
|
38
|
+
attribute :embed_width, TD::Types::Integer
|
39
|
+
attribute :embed_height, TD::Types::Integer
|
40
|
+
attribute :duration, TD::Types::Integer
|
41
|
+
attribute :author, TD::Types::String
|
42
|
+
attribute :animation, TD::Types::Animation.optional.default(nil)
|
43
|
+
attribute :audio, TD::Types::Audio.optional.default(nil)
|
44
|
+
attribute :document, TD::Types::Document.optional.default(nil)
|
45
|
+
attribute :sticker, TD::Types::Sticker.optional.default(nil)
|
46
|
+
attribute :video, TD::Types::Video.optional.default(nil)
|
47
|
+
attribute :video_note, TD::Types::VideoNote.optional.default(nil)
|
48
|
+
attribute :voice_note, TD::Types::VoiceNote.optional.default(nil)
|
49
|
+
attribute :has_instant_view, TD::Types::Bool
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module TD::Types
|
2
|
+
# Describes an instant view page for a web page.
|
3
|
+
#
|
4
|
+
# @attr page_blocks [Array<TD::Types::PageBlock>] Content of the web page.
|
5
|
+
# @attr is_full [Boolean] True, if the instant view contains the full page.
|
6
|
+
# A network request might be needed to get the full web page instant view.
|
7
|
+
class WebPageInstantView < Base
|
8
|
+
attribute :page_blocks, TD::Types::Array.of(TD::Types::PageBlock)
|
9
|
+
attribute :is_full, TD::Types::Bool
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
class TD::UpdateHandler
|
2
|
+
include Concurrent::Async
|
3
|
+
|
4
|
+
attr_reader :update_type, :extra
|
5
|
+
|
6
|
+
def initialize(update_type, extra = nil, disposable: false, &action)
|
7
|
+
super()
|
8
|
+
|
9
|
+
@action = action
|
10
|
+
@update_type = update_type
|
11
|
+
@extra = extra
|
12
|
+
@disposable = disposable
|
13
|
+
end
|
14
|
+
|
15
|
+
def run(update)
|
16
|
+
action.call(update)
|
17
|
+
end
|
18
|
+
|
19
|
+
def match?(update, extra = nil)
|
20
|
+
update.is_a?(update_type) && (self.extra.nil? || self.extra == extra)
|
21
|
+
end
|
22
|
+
|
23
|
+
def disposable?
|
24
|
+
disposable
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_s
|
28
|
+
"TD::UpdateHandler (#{update_type}#{": #{extra}" if extra})#{' disposable' if disposable?}"
|
29
|
+
end
|
30
|
+
|
31
|
+
alias inspect to_s
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
attr_reader :action, :disposable
|
36
|
+
end
|
data/lib/tdlib/update_manager.rb
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
class TD::UpdateManager
|
2
2
|
TIMEOUT = 30
|
3
3
|
|
4
|
-
attr_reader :handlers
|
5
|
-
|
6
4
|
def initialize(td_client)
|
7
5
|
@td_client = td_client
|
8
|
-
@handlers =
|
6
|
+
@handlers = Concurrent::Array.new
|
9
7
|
@mutex = Mutex.new
|
10
8
|
end
|
11
9
|
|
@@ -13,20 +11,17 @@ class TD::UpdateManager
|
|
13
11
|
@mutex.synchronize { @handlers << handler }
|
14
12
|
end
|
15
13
|
|
16
|
-
|
17
|
-
Thread.start do
|
18
|
-
@mutex.synchronize { @handlers.delete(handler) }
|
19
|
-
end
|
20
|
-
end
|
14
|
+
alias << add_handler
|
21
15
|
|
22
16
|
def run
|
23
|
-
|
17
|
+
Thread.start do
|
24
18
|
loop { stopped? ? break : handle_update }
|
25
19
|
end
|
26
20
|
end
|
27
21
|
|
28
22
|
def stop
|
29
23
|
@stopped = true
|
24
|
+
@mutex.synchronize { @handlers = [] }
|
30
25
|
end
|
31
26
|
|
32
27
|
def stopped?
|
@@ -35,9 +30,24 @@ class TD::UpdateManager
|
|
35
30
|
|
36
31
|
private
|
37
32
|
|
33
|
+
attr_reader :handlers
|
34
|
+
|
38
35
|
def handle_update
|
39
36
|
update = TD::Api.client_receive(@td_client, TIMEOUT)
|
40
|
-
|
41
|
-
|
37
|
+
|
38
|
+
unless update.nil?
|
39
|
+
extra = update.delete('@extra')
|
40
|
+
update = TD::Types.wrap(update)
|
41
|
+
|
42
|
+
match_handlers!(update, extra).each { |h| h.async.run(update) }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def match_handlers!(update, extra)
|
47
|
+
@mutex.synchronize do
|
48
|
+
matched_handlers = handlers.select { |h| h.match?(update, extra) }
|
49
|
+
matched_handlers.each { |h| handlers.delete(h) if h.disposable? }
|
50
|
+
matched_handlers
|
51
|
+
end
|
42
52
|
end
|
43
53
|
end
|
data/lib/tdlib/version.rb
CHANGED
@@ -2,8 +2,10 @@ require 'spec_helper'
|
|
2
2
|
require 'tdlib-ruby'
|
3
3
|
|
4
4
|
describe TD::Client do
|
5
|
-
let(:client) { TD::Client.new }
|
6
|
-
let(:payload) { { '@type'
|
5
|
+
let(:client) { TD::Client.new(timeout: timeout).tap(&:connect) }
|
6
|
+
let!(:payload) { { '@type' => 'getTextEntities', 'text' => text } }
|
7
|
+
let!(:text) { '@telegram' }
|
8
|
+
let(:timeout) { TD::Client::TIMEOUT }
|
7
9
|
|
8
10
|
before do
|
9
11
|
TD.configure do |config|
|
@@ -24,32 +26,35 @@ describe TD::Client do
|
|
24
26
|
it { is_expected.to include('ready') }
|
25
27
|
|
26
28
|
context 'when timeout reached' do
|
27
|
-
|
29
|
+
let(:timeout) { 0.0001 }
|
28
30
|
|
29
|
-
|
31
|
+
subject { client.on_ready { [client, 'ready'] } }
|
32
|
+
|
33
|
+
it { expect { subject }.to raise_error(TD::Error) }
|
30
34
|
end
|
31
35
|
end
|
32
36
|
|
33
37
|
describe '#broadcast' do
|
34
38
|
context 'when no block given' do
|
35
|
-
subject { client.
|
39
|
+
subject { client.ready.then { client.get_text_entities(text) }.flat.wait }
|
36
40
|
|
37
41
|
it { expect { subject }.not_to raise_error(Exception) }
|
38
|
-
it { is_expected.to satisfy
|
39
|
-
it { is_expected.to satisfy { |result|
|
40
|
-
it { is_expected.to satisfy { |result| sleep 1; result.value['@type'] == 'textEntities' } }
|
42
|
+
it { is_expected.to satisfy(&:fulfilled?) }
|
43
|
+
it { is_expected.to satisfy { |result| result.value.is_a?(TD::Types::TextEntities) } }
|
41
44
|
end
|
42
45
|
end
|
43
46
|
|
44
|
-
describe '#
|
45
|
-
subject { client.on_ready { client.
|
47
|
+
describe '#fetch' do
|
48
|
+
subject { client.on_ready { client.fetch(payload) } }
|
46
49
|
|
47
|
-
it { is_expected.to
|
50
|
+
it { is_expected.to respond_to(:entities) }
|
48
51
|
|
49
52
|
context 'when timeout reached' do
|
50
|
-
|
53
|
+
let(:timeout) { 0.0001 }
|
54
|
+
|
55
|
+
subject { client.on_ready { client.fetch(payload) } }
|
51
56
|
|
52
|
-
it { expect { subject }.to raise_error(TD::
|
57
|
+
it { expect { subject }.to raise_error(TD::Error) }
|
53
58
|
end
|
54
59
|
end
|
55
60
|
|
@@ -64,7 +69,7 @@ describe TD::Client do
|
|
64
69
|
it 'runs block on update' do
|
65
70
|
subject
|
66
71
|
sleep 1
|
67
|
-
expect(@result).to
|
72
|
+
expect(@result).to respond_to(:entities)
|
68
73
|
end
|
69
74
|
end
|
70
75
|
|
@@ -74,7 +79,7 @@ describe TD::Client do
|
|
74
79
|
subject do
|
75
80
|
client.on_ready do
|
76
81
|
client.broadcast(payload) do
|
77
|
-
client.
|
82
|
+
client.fetch(payload)
|
78
83
|
end
|
79
84
|
sleep 1
|
80
85
|
end
|
data/tdlib-ruby.gemspec
CHANGED
@@ -14,28 +14,23 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.email = "ask@southbridge.io"
|
15
15
|
gem.homepage = "https://github.com/centosadmin/tdlib-ruby"
|
16
16
|
|
17
|
-
gem.files = `git ls-files`.split($/)
|
17
|
+
gem.files = `git ls-files`.split($/) - ['lib/tdlib/td_api_tl_parser.rb']
|
18
18
|
|
19
|
-
`git submodule --quiet foreach --recursive pwd`.split($/).each do |submodule|
|
20
|
-
submodule.sub!("#{Dir.pwd}/",'')
|
21
|
-
|
22
|
-
Dir.chdir(submodule) do
|
23
|
-
`git ls-files`.split($/).map do |subpath|
|
24
|
-
gem.files << File.join(submodule,subpath)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
19
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
29
20
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
30
21
|
gem.require_paths = ['lib']
|
31
22
|
|
32
23
|
gem.add_runtime_dependency 'dry-configurable', '~> 0.7'
|
33
|
-
gem.add_runtime_dependency '
|
24
|
+
gem.add_runtime_dependency 'dry-struct', '~> 0.5.1'
|
25
|
+
gem.add_runtime_dependency 'dry-types', '~> 0.13.2'
|
26
|
+
gem.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
|
27
|
+
gem.add_runtime_dependency 'ffi', '~> 1.0'
|
34
28
|
|
35
29
|
gem.add_development_dependency 'bundler', '~> 1.10'
|
36
|
-
gem.add_development_dependency 'rake', '12.3
|
30
|
+
gem.add_development_dependency 'rake', '~> 12.3'
|
37
31
|
gem.add_development_dependency 'rspec', '~> 3.0'
|
38
32
|
gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
|
39
33
|
gem.add_development_dependency 'yard', '~> 0.9'
|
40
34
|
gem.add_development_dependency 'pry', '~> 0.11'
|
35
|
+
gem.add_development_dependency 'activesupport', '~> 5.2'
|
41
36
|
end
|