tdlib-ruby 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -2
  3. data/ChangeLog.md +5 -0
  4. data/README.md +9 -2
  5. data/bin/parser +32 -11
  6. data/lib/tdlib/client.rb +10 -5
  7. data/lib/tdlib/client_methods.rb +923 -386
  8. data/lib/tdlib/types.rb +176 -11
  9. data/lib/tdlib/types/animation.rb +2 -0
  10. data/lib/tdlib/types/audio.rb +2 -0
  11. data/lib/tdlib/types/authorization_state.rb +1 -0
  12. data/lib/tdlib/types/authorization_state/wait_code.rb +1 -6
  13. data/lib/tdlib/types/authorization_state/wait_password.rb +2 -2
  14. data/lib/tdlib/types/authorization_state/wait_registration.rb +9 -0
  15. data/lib/tdlib/types/auto_download_settings.rb +21 -0
  16. data/lib/tdlib/types/auto_download_settings_presets.rb +15 -0
  17. data/lib/tdlib/types/background.rb +19 -0
  18. data/lib/tdlib/types/background_type.rb +12 -0
  19. data/lib/tdlib/types/background_type/pattern.rb +12 -0
  20. data/lib/tdlib/types/background_type/solid.rb +8 -0
  21. data/lib/tdlib/types/background_type/wallpaper.rb +11 -0
  22. data/lib/tdlib/types/backgrounds.rb +8 -0
  23. data/lib/tdlib/types/basic_group.rb +0 -2
  24. data/lib/tdlib/types/basic_group_full_info.rb +2 -0
  25. data/lib/tdlib/types/call_problem.rb +16 -0
  26. data/lib/tdlib/types/call_problem/distorted_speech.rb +5 -0
  27. data/lib/tdlib/types/call_problem/dropped.rb +5 -0
  28. data/lib/tdlib/types/call_problem/echo.rb +5 -0
  29. data/lib/tdlib/types/call_problem/interruptions.rb +5 -0
  30. data/lib/tdlib/types/call_problem/noise.rb +5 -0
  31. data/lib/tdlib/types/call_problem/silent_local.rb +5 -0
  32. data/lib/tdlib/types/call_problem/silent_remote.rb +5 -0
  33. data/lib/tdlib/types/call_state/ready.rb +2 -0
  34. data/lib/tdlib/types/chat.rb +10 -0
  35. data/lib/tdlib/types/chat_event_action.rb +2 -0
  36. data/lib/tdlib/types/chat_event_action/invites_toggled.rb +3 -3
  37. data/lib/tdlib/types/chat_event_action/permissions_changed.rb +10 -0
  38. data/lib/tdlib/types/chat_event_action/photo_changed.rb +4 -4
  39. data/lib/tdlib/types/chat_event_action/poll_stopped.rb +8 -0
  40. data/lib/tdlib/types/chat_invite_link_info.rb +1 -1
  41. data/lib/tdlib/types/chat_member_status/administrator.rb +3 -3
  42. data/lib/tdlib/types/chat_member_status/restricted.rb +2 -13
  43. data/lib/tdlib/types/chat_members_filter.rb +1 -0
  44. data/lib/tdlib/types/chat_members_filter/contacts.rb +5 -0
  45. data/lib/tdlib/types/chat_notification_settings.rb +12 -0
  46. data/lib/tdlib/types/chat_permissions.rb +28 -0
  47. data/lib/tdlib/types/chat_photo.rb +2 -0
  48. data/lib/tdlib/types/chat_report_reason.rb +1 -0
  49. data/lib/tdlib/types/chat_report_reason/child_abuse.rb +5 -0
  50. data/lib/tdlib/types/check_chat_username_result/public_chats_too_much.rb +1 -1
  51. data/lib/tdlib/types/connection_state/waiting_for_network.rb +1 -1
  52. data/lib/tdlib/types/database_statistics.rb +8 -0
  53. data/lib/tdlib/types/device_token.rb +2 -2
  54. data/lib/tdlib/types/device_token/apple_push_vo_ip.rb +2 -0
  55. data/lib/tdlib/types/device_token/firebase_cloud_messaging.rb +10 -0
  56. data/lib/tdlib/types/document.rb +4 -1
  57. data/lib/tdlib/types/emojis.rb +8 -0
  58. data/lib/tdlib/types/file_part.rb +8 -0
  59. data/lib/tdlib/types/file_type/wallpaper.rb +1 -1
  60. data/lib/tdlib/types/http_url.rb +8 -0
  61. data/lib/tdlib/types/inline_keyboard_button_type.rb +1 -0
  62. data/lib/tdlib/types/inline_keyboard_button_type/login_url.rb +12 -0
  63. data/lib/tdlib/types/input_background.rb +11 -0
  64. data/lib/tdlib/types/input_background/local.rb +10 -0
  65. data/lib/tdlib/types/input_background/remote.rb +8 -0
  66. data/lib/tdlib/types/input_file/generated.rb +1 -0
  67. data/lib/tdlib/types/input_inline_query_result/animated_gif.rb +5 -4
  68. data/lib/tdlib/types/input_inline_query_result/animated_mpeg4.rb +5 -4
  69. data/lib/tdlib/types/input_inline_query_result/article.rb +5 -4
  70. data/lib/tdlib/types/input_inline_query_result/audio.rb +5 -4
  71. data/lib/tdlib/types/input_inline_query_result/contact.rb +5 -4
  72. data/lib/tdlib/types/input_inline_query_result/document.rb +5 -4
  73. data/lib/tdlib/types/input_inline_query_result/game.rb +2 -1
  74. data/lib/tdlib/types/input_inline_query_result/location.rb +5 -4
  75. data/lib/tdlib/types/input_inline_query_result/photo.rb +5 -3
  76. data/lib/tdlib/types/input_inline_query_result/sticker.rb +7 -6
  77. data/lib/tdlib/types/input_inline_query_result/venue.rb +5 -4
  78. data/lib/tdlib/types/input_inline_query_result/video.rb +5 -4
  79. data/lib/tdlib/types/input_inline_query_result/voice_note.rb +5 -4
  80. data/lib/tdlib/types/input_message_content.rb +1 -0
  81. data/lib/tdlib/types/input_message_content/forwarded.rb +7 -0
  82. data/lib/tdlib/types/input_message_content/poll.rb +11 -0
  83. data/lib/tdlib/types/input_thumbnail.rb +2 -2
  84. data/lib/tdlib/types/json_object_member.rb +10 -0
  85. data/lib/tdlib/types/json_value.rb +15 -0
  86. data/lib/tdlib/types/json_value/array.rb +8 -0
  87. data/lib/tdlib/types/json_value/boolean.rb +8 -0
  88. data/lib/tdlib/types/json_value/null.rb +5 -0
  89. data/lib/tdlib/types/json_value/number.rb +8 -0
  90. data/lib/tdlib/types/json_value/object.rb +8 -0
  91. data/lib/tdlib/types/json_value/string.rb +8 -0
  92. data/lib/tdlib/types/language_pack_info.rb +21 -0
  93. data/lib/tdlib/types/language_pack_string_value/pluralized.rb +1 -0
  94. data/lib/tdlib/types/link_state/is_contact.rb +1 -1
  95. data/lib/tdlib/types/link_state/knows_phone_number.rb +1 -1
  96. data/lib/tdlib/types/local_file.rb +5 -2
  97. data/lib/tdlib/types/log_stream.rb +12 -0
  98. data/lib/tdlib/types/log_stream/default.rb +5 -0
  99. data/lib/tdlib/types/log_stream/empty.rb +5 -0
  100. data/lib/tdlib/types/log_stream/file.rb +11 -0
  101. data/lib/tdlib/types/log_tags.rb +8 -0
  102. data/lib/tdlib/types/log_verbosity_level.rb +8 -0
  103. data/lib/tdlib/types/message.rb +3 -1
  104. data/lib/tdlib/types/message_content.rb +1 -0
  105. data/lib/tdlib/types/message_content/game_score.rb +1 -1
  106. data/lib/tdlib/types/message_content/pin_message.rb +1 -1
  107. data/lib/tdlib/types/message_content/poll.rb +8 -0
  108. data/lib/tdlib/types/message_forward_info.rb +13 -7
  109. data/lib/tdlib/types/message_forward_origin.rb +12 -0
  110. data/lib/tdlib/types/message_forward_origin/channel.rb +12 -0
  111. data/lib/tdlib/types/message_forward_origin/hidden_user.rb +8 -0
  112. data/lib/tdlib/types/message_forward_origin/user.rb +8 -0
  113. data/lib/tdlib/types/message_link_info.rb +14 -0
  114. data/lib/tdlib/types/message_sending_state/failed.rb +10 -0
  115. data/lib/tdlib/types/minithumbnail.rb +12 -0
  116. data/lib/tdlib/types/notification.rb +12 -0
  117. data/lib/tdlib/types/notification_group.rb +16 -0
  118. data/lib/tdlib/types/notification_group_type.rb +13 -0
  119. data/lib/tdlib/types/notification_group_type/calls.rb +5 -0
  120. data/lib/tdlib/types/notification_group_type/mentions.rb +6 -0
  121. data/lib/tdlib/types/notification_group_type/messages.rb +6 -0
  122. data/lib/tdlib/types/notification_group_type/secret_chat.rb +5 -0
  123. data/lib/tdlib/types/notification_settings_scope.rb +1 -0
  124. data/lib/tdlib/types/notification_settings_scope/channel_chats.rb +5 -0
  125. data/lib/tdlib/types/notification_settings_scope/group_chats.rb +2 -2
  126. data/lib/tdlib/types/notification_type.rb +13 -0
  127. data/lib/tdlib/types/notification_type/new_call.rb +8 -0
  128. data/lib/tdlib/types/notification_type/new_message.rb +8 -0
  129. data/lib/tdlib/types/notification_type/new_push_message.rb +15 -0
  130. data/lib/tdlib/types/notification_type/new_secret_chat.rb +5 -0
  131. data/lib/tdlib/types/option_value/boolean.rb +1 -1
  132. data/lib/tdlib/types/option_value/empty.rb +1 -1
  133. data/lib/tdlib/types/option_value/integer.rb +1 -1
  134. data/lib/tdlib/types/option_value/string.rb +1 -1
  135. data/lib/tdlib/types/page_block.rb +5 -0
  136. data/lib/tdlib/types/page_block/animation.rb +2 -2
  137. data/lib/tdlib/types/page_block/audio.rb +2 -2
  138. data/lib/tdlib/types/page_block/block_quote.rb +2 -2
  139. data/lib/tdlib/types/page_block/collage.rb +2 -2
  140. data/lib/tdlib/types/page_block/details.rb +12 -0
  141. data/lib/tdlib/types/page_block/embedded.rb +4 -4
  142. data/lib/tdlib/types/page_block/embedded_post.rb +4 -4
  143. data/lib/tdlib/types/page_block/kicker.rb +8 -0
  144. data/lib/tdlib/types/page_block/list.rb +3 -5
  145. data/lib/tdlib/types/page_block/map.rb +16 -0
  146. data/lib/tdlib/types/page_block/photo.rb +4 -2
  147. data/lib/tdlib/types/page_block/pull_quote.rb +2 -2
  148. data/lib/tdlib/types/page_block/related_articles.rb +10 -0
  149. data/lib/tdlib/types/page_block/slideshow.rb +2 -2
  150. data/lib/tdlib/types/page_block/table.rb +14 -0
  151. data/lib/tdlib/types/page_block/video.rb +2 -2
  152. data/lib/tdlib/types/page_block_caption.rb +10 -0
  153. data/lib/tdlib/types/page_block_horizontal_alignment.rb +12 -0
  154. data/lib/tdlib/types/page_block_horizontal_alignment/center.rb +5 -0
  155. data/lib/tdlib/types/page_block_horizontal_alignment/left.rb +5 -0
  156. data/lib/tdlib/types/page_block_horizontal_alignment/right.rb +5 -0
  157. data/lib/tdlib/types/page_block_list_item.rb +10 -0
  158. data/lib/tdlib/types/page_block_related_article.rb +18 -0
  159. data/lib/tdlib/types/page_block_table_cell.rb +18 -0
  160. data/lib/tdlib/types/page_block_vertical_alignment.rb +12 -0
  161. data/lib/tdlib/types/page_block_vertical_alignment/bottom.rb +5 -0
  162. data/lib/tdlib/types/page_block_vertical_alignment/middle.rb +5 -0
  163. data/lib/tdlib/types/page_block_vertical_alignment/top.rb +5 -0
  164. data/lib/tdlib/types/passport_authorization_form.rb +1 -5
  165. data/lib/tdlib/types/passport_element_error_source/file.rb +3 -0
  166. data/lib/tdlib/types/passport_element_error_source/translation_file.rb +3 -0
  167. data/lib/tdlib/types/passport_elements_with_errors.rb +10 -0
  168. data/lib/tdlib/types/password_state.rb +7 -7
  169. data/lib/tdlib/types/phone_number_authentication_settings.rb +16 -0
  170. data/lib/tdlib/types/photo.rb +2 -2
  171. data/lib/tdlib/types/poll.rb +16 -0
  172. data/lib/tdlib/types/poll_option.rb +16 -0
  173. data/lib/tdlib/types/profile_photo.rb +2 -0
  174. data/lib/tdlib/types/public_message_link.rb +1 -1
  175. data/lib/tdlib/types/push_message_content.rb +35 -0
  176. data/lib/tdlib/types/push_message_content/animation.rb +12 -0
  177. data/lib/tdlib/types/push_message_content/audio.rb +10 -0
  178. data/lib/tdlib/types/push_message_content/basic_group_chat_create.rb +5 -0
  179. data/lib/tdlib/types/push_message_content/chat_add_members.rb +12 -0
  180. data/lib/tdlib/types/push_message_content/chat_change_photo.rb +5 -0
  181. data/lib/tdlib/types/push_message_content/chat_change_title.rb +8 -0
  182. data/lib/tdlib/types/push_message_content/chat_delete_member.rb +12 -0
  183. data/lib/tdlib/types/push_message_content/chat_join_by_link.rb +5 -0
  184. data/lib/tdlib/types/push_message_content/contact.rb +10 -0
  185. data/lib/tdlib/types/push_message_content/contact_registered.rb +5 -0
  186. data/lib/tdlib/types/push_message_content/document.rb +10 -0
  187. data/lib/tdlib/types/push_message_content/game.rb +10 -0
  188. data/lib/tdlib/types/push_message_content/game_score.rb +12 -0
  189. data/lib/tdlib/types/push_message_content/hidden.rb +8 -0
  190. data/lib/tdlib/types/push_message_content/invoice.rb +10 -0
  191. data/lib/tdlib/types/push_message_content/location.rb +10 -0
  192. data/lib/tdlib/types/push_message_content/media_album.rb +12 -0
  193. data/lib/tdlib/types/push_message_content/message_forwards.rb +8 -0
  194. data/lib/tdlib/types/push_message_content/photo.rb +14 -0
  195. data/lib/tdlib/types/push_message_content/poll.rb +10 -0
  196. data/lib/tdlib/types/push_message_content/screenshot_taken.rb +5 -0
  197. data/lib/tdlib/types/push_message_content/sticker.rb +12 -0
  198. data/lib/tdlib/types/push_message_content/text.rb +10 -0
  199. data/lib/tdlib/types/push_message_content/video.rb +14 -0
  200. data/lib/tdlib/types/push_message_content/video_note.rb +10 -0
  201. data/lib/tdlib/types/push_message_content/voice_note.rb +10 -0
  202. data/lib/tdlib/types/push_receiver_id.rb +9 -0
  203. data/lib/tdlib/types/rich_text.rb +6 -0
  204. data/lib/tdlib/types/rich_text/anchor.rb +10 -0
  205. data/lib/tdlib/types/rich_text/icon.rb +13 -0
  206. data/lib/tdlib/types/rich_text/marked.rb +8 -0
  207. data/lib/tdlib/types/rich_text/phone_number.rb +10 -0
  208. data/lib/tdlib/types/rich_text/subscript.rb +8 -0
  209. data/lib/tdlib/types/rich_text/superscript.rb +8 -0
  210. data/lib/tdlib/types/scope_notification_settings.rb +6 -0
  211. data/lib/tdlib/types/search_messages_filter/unread_mention.rb +1 -1
  212. data/lib/tdlib/types/session.rb +3 -0
  213. data/lib/tdlib/types/sticker.rb +2 -0
  214. data/lib/tdlib/types/sticker_set.rb +10 -2
  215. data/lib/tdlib/types/sticker_set_info.rb +5 -0
  216. data/lib/tdlib/types/storage_statistics_fast.rb +4 -0
  217. data/lib/tdlib/types/supergroup.rb +2 -3
  218. data/lib/tdlib/types/supergroup_full_info.rb +2 -2
  219. data/lib/tdlib/types/supergroup_members_filter.rb +1 -0
  220. data/lib/tdlib/types/supergroup_members_filter/contacts.rb +8 -0
  221. data/lib/tdlib/types/terms_of_service.rb +1 -1
  222. data/lib/tdlib/types/update.rb +9 -0
  223. data/lib/tdlib/types/update/active_notifications.rb +10 -0
  224. data/lib/tdlib/types/update/chat_online_member_count.rb +12 -0
  225. data/lib/tdlib/types/update/chat_order.rb +1 -1
  226. data/lib/tdlib/types/update/chat_permissions.rb +10 -0
  227. data/lib/tdlib/types/update/chat_pinned_message.rb +11 -0
  228. data/lib/tdlib/types/update/delete_messages.rb +1 -1
  229. data/lib/tdlib/types/update/have_pending_notifications.rb +13 -0
  230. data/lib/tdlib/types/update/message_send_failed.rb +1 -1
  231. data/lib/tdlib/types/update/new_message.rb +0 -4
  232. data/lib/tdlib/types/update/notification.rb +10 -0
  233. data/lib/tdlib/types/update/notification_group.rb +26 -0
  234. data/lib/tdlib/types/update/poll.rb +8 -0
  235. data/lib/tdlib/types/update/selected_background.rb +10 -0
  236. data/lib/tdlib/types/updates.rb +8 -0
  237. data/lib/tdlib/types/user.rb +4 -0
  238. data/lib/tdlib/types/user_privacy_setting.rb +3 -0
  239. data/lib/tdlib/types/user_privacy_setting/allow_peer_to_peer_calls.rb +5 -0
  240. data/lib/tdlib/types/user_privacy_setting/show_link_in_forwarded_messages.rb +5 -0
  241. data/lib/tdlib/types/user_privacy_setting/show_profile_photo.rb +5 -0
  242. data/lib/tdlib/types/user_profile_photo.rb +12 -0
  243. data/lib/tdlib/types/user_profile_photos.rb +2 -2
  244. data/lib/tdlib/types/video.rb +2 -0
  245. data/lib/tdlib/types/video_note.rb +2 -0
  246. data/lib/tdlib/types/web_page.rb +3 -2
  247. data/lib/tdlib/types/web_page_instant_view.rb +7 -0
  248. data/lib/tdlib/update_manager.rb +5 -12
  249. data/lib/tdlib/version.rb +1 -1
  250. data/spec/integration/tdlib_spec.rb +8 -0
  251. metadata +139 -9
  252. data/lib/tdlib/types/device_token/google_cloud_messaging.rb +0 -8
  253. data/lib/tdlib/types/message_forward_info/message_forwarded_from_user.rb +0 -16
  254. data/lib/tdlib/types/message_forward_info/message_forwarded_post.rb +0 -21
  255. data/lib/tdlib/types/sticker_emojis.rb +0 -10
  256. data/lib/tdlib/types/wallpaper.rb +0 -14
  257. data/lib/tdlib/types/wallpapers.rb +0 -8
@@ -0,0 +1,16 @@
1
+ module TD::Types
2
+ # A map.
3
+ #
4
+ # @attr location [TD::Types::Location] Location of the map center.
5
+ # @attr zoom [Integer] Map zoom level.
6
+ # @attr width [Integer] Map width.
7
+ # @attr height [Integer] Map height.
8
+ # @attr caption [TD::Types::PageBlockCaption] Block caption.
9
+ class PageBlock::Map < PageBlock
10
+ attribute :location, TD::Types::Location
11
+ attribute :zoom, TD::Types::Integer
12
+ attribute :width, TD::Types::Integer
13
+ attribute :height, TD::Types::Integer
14
+ attribute :caption, TD::Types::PageBlockCaption
15
+ end
16
+ end
@@ -2,9 +2,11 @@ module TD::Types
2
2
  # A photo.
3
3
  #
4
4
  # @attr photo [TD::Types::Photo, nil] Photo file; may be null.
5
- # @attr caption [TD::Types::RichText] Photo caption.
5
+ # @attr caption [TD::Types::PageBlockCaption] Photo caption.
6
+ # @attr url [String] URL that needs to be opened when the photo is clicked.
6
7
  class PageBlock::Photo < PageBlock
7
8
  attribute :photo, TD::Types::Photo.optional.default(nil)
8
- attribute :caption, TD::Types::RichText
9
+ attribute :caption, TD::Types::PageBlockCaption
10
+ attribute :url, TD::Types::String
9
11
  end
10
12
  end
@@ -2,9 +2,9 @@ module TD::Types
2
2
  # A pull quote.
3
3
  #
4
4
  # @attr text [TD::Types::RichText] Quote text.
5
- # @attr caption [TD::Types::RichText] Quote caption.
5
+ # @attr credit [TD::Types::RichText] Quote credit.
6
6
  class PageBlock::PullQuote < PageBlock
7
7
  attribute :text, TD::Types::RichText
8
- attribute :caption, TD::Types::RichText
8
+ attribute :credit, TD::Types::RichText
9
9
  end
10
10
  end
@@ -0,0 +1,10 @@
1
+ module TD::Types
2
+ # Related articles.
3
+ #
4
+ # @attr header [TD::Types::RichText] Block header.
5
+ # @attr articles [Array<TD::Types::PageBlockRelatedArticle>] List of related articles.
6
+ class PageBlock::RelatedArticles < PageBlock
7
+ attribute :header, TD::Types::RichText
8
+ attribute :articles, TD::Types::Array.of(TD::Types::PageBlockRelatedArticle)
9
+ end
10
+ end
@@ -2,9 +2,9 @@ module TD::Types
2
2
  # A slideshow.
3
3
  #
4
4
  # @attr page_blocks [Array<TD::Types::PageBlock>] Slideshow item contents.
5
- # @attr caption [TD::Types::RichText] Block caption.
5
+ # @attr caption [TD::Types::PageBlockCaption] Block caption.
6
6
  class PageBlock::Slideshow < PageBlock
7
7
  attribute :page_blocks, TD::Types::Array.of(TD::Types::PageBlock)
8
- attribute :caption, TD::Types::RichText
8
+ attribute :caption, TD::Types::PageBlockCaption
9
9
  end
10
10
  end
@@ -0,0 +1,14 @@
1
+ module TD::Types
2
+ # A table.
3
+ #
4
+ # @attr caption [TD::Types::RichText] Table caption.
5
+ # @attr cells [Array<Array<TD::Types::PageBlockTableCell>>] Table cells.
6
+ # @attr is_bordered [Boolean] True, if the table is bordered.
7
+ # @attr is_striped [Boolean] True, if the table is striped.
8
+ class PageBlock::Table < PageBlock
9
+ attribute :caption, TD::Types::RichText
10
+ attribute :cells, TD::Types::Array.of(TD::Types::Array.of(TD::Types::PageBlockTableCell))
11
+ attribute :is_bordered, TD::Types::Bool
12
+ attribute :is_striped, TD::Types::Bool
13
+ end
14
+ end
@@ -2,12 +2,12 @@ module TD::Types
2
2
  # A video.
3
3
  #
4
4
  # @attr video [TD::Types::Video, nil] Video file; may be null.
5
- # @attr caption [TD::Types::RichText] Video caption.
5
+ # @attr caption [TD::Types::PageBlockCaption] Video caption.
6
6
  # @attr need_autoplay [Boolean] True, if the video should be played automatically.
7
7
  # @attr is_looped [Boolean] True, if the video should be looped.
8
8
  class PageBlock::Video < PageBlock
9
9
  attribute :video, TD::Types::Video.optional.default(nil)
10
- attribute :caption, TD::Types::RichText
10
+ attribute :caption, TD::Types::PageBlockCaption
11
11
  attribute :need_autoplay, TD::Types::Bool
12
12
  attribute :is_looped, TD::Types::Bool
13
13
  end
@@ -0,0 +1,10 @@
1
+ module TD::Types
2
+ # Contains a caption of an instant view web page block, consisting of a text and a trailing credit.
3
+ #
4
+ # @attr text [TD::Types::RichText] Content of the caption.
5
+ # @attr credit [TD::Types::RichText] Block credit (like HTML tag <cite>).
6
+ class PageBlockCaption < Base
7
+ attribute :text, TD::Types::RichText
8
+ attribute :credit, TD::Types::RichText
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ module TD::Types
2
+ # Describes a horizontal alignment of a table cell content.
3
+ class PageBlockHorizontalAlignment < Base
4
+ %w[
5
+ left
6
+ center
7
+ right
8
+ ].each do |type|
9
+ autoload TD::Types.camelize(type), "tdlib/types/page_block_horizontal_alignment/#{type}"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The content should be center-aligned.
3
+ class PageBlockHorizontalAlignment::Center < PageBlockHorizontalAlignment
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The content should be left-aligned.
3
+ class PageBlockHorizontalAlignment::Left < PageBlockHorizontalAlignment
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The content should be right-aligned.
3
+ class PageBlockHorizontalAlignment::Right < PageBlockHorizontalAlignment
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ module TD::Types
2
+ # Describes an item of a list page block.
3
+ #
4
+ # @attr label [String] Item label.
5
+ # @attr page_blocks [Array<TD::Types::PageBlock>] Item blocks.
6
+ class PageBlockListItem < Base
7
+ attribute :label, TD::Types::String
8
+ attribute :page_blocks, TD::Types::Array.of(TD::Types::PageBlock)
9
+ end
10
+ end
@@ -0,0 +1,18 @@
1
+ module TD::Types
2
+ # Contains information about a related article.
3
+ #
4
+ # @attr url [String] Related article URL.
5
+ # @attr title [String, nil] Article title; may be empty.
6
+ # @attr description [String, nil] Article description; may be empty.
7
+ # @attr photo [TD::Types::Photo, nil] Article photo; may be null.
8
+ # @attr author [String, nil] Article author; may be empty.
9
+ # @attr publish_date [Integer] Point in time (Unix timestamp) when the article was published; 0 if unknown.
10
+ class PageBlockRelatedArticle < Base
11
+ attribute :url, TD::Types::String
12
+ attribute :title, TD::Types::String.optional.default(nil)
13
+ attribute :description, TD::Types::String.optional.default(nil)
14
+ attribute :photo, TD::Types::Photo.optional.default(nil)
15
+ attribute :author, TD::Types::String.optional.default(nil)
16
+ attribute :publish_date, TD::Types::Integer
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module TD::Types
2
+ # Represents a cell of a table.
3
+ #
4
+ # @attr text [TD::Types::RichText] Cell text.
5
+ # @attr is_header [Boolean] True, if it is a header cell.
6
+ # @attr colspan [Integer] The number of columns the cell should span.
7
+ # @attr rowspan [Integer] The number of rows the cell should span.
8
+ # @attr align [TD::Types::PageBlockHorizontalAlignment] Horizontal cell content alignment.
9
+ # @attr valign [TD::Types::PageBlockVerticalAlignment] Vertical cell content alignment.
10
+ class PageBlockTableCell < Base
11
+ attribute :text, TD::Types::RichText
12
+ attribute :is_header, TD::Types::Bool
13
+ attribute :colspan, TD::Types::Integer
14
+ attribute :rowspan, TD::Types::Integer
15
+ attribute :align, TD::Types::PageBlockHorizontalAlignment
16
+ attribute :valign, TD::Types::PageBlockVerticalAlignment
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ module TD::Types
2
+ # Describes a Vertical alignment of a table cell content.
3
+ class PageBlockVerticalAlignment < Base
4
+ %w[
5
+ top
6
+ middle
7
+ bottom
8
+ ].each do |type|
9
+ autoload TD::Types.camelize(type), "tdlib/types/page_block_vertical_alignment/#{type}"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The content should be bottom-aligned.
3
+ class PageBlockVerticalAlignment::Bottom < PageBlockVerticalAlignment
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The content should be middle-aligned.
3
+ class PageBlockVerticalAlignment::Middle < PageBlockVerticalAlignment
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The content should be top-aligned.
3
+ class PageBlockVerticalAlignment::Top < PageBlockVerticalAlignment
4
+ end
5
+ end
@@ -4,14 +4,10 @@ module TD::Types
4
4
  # @attr id [Integer] Unique identifier of the authorization form.
5
5
  # @attr required_elements [Array<TD::Types::PassportRequiredElement>] Information about the Telegram Passport
6
6
  # elements that need to be provided to complete the form.
7
- # @attr elements [Array<TD::Types::PassportElement>] Already available Telegram Passport elements.
8
- # @attr errors [Array<TD::Types::PassportElementError>] Errors in the elements that are already available.
9
- # @attr privacy_policy_url [String, nil] URL for the privacy policy of the service; can be empty.
7
+ # @attr privacy_policy_url [String, nil] URL for the privacy policy of the service; may be empty.
10
8
  class PassportAuthorizationForm < Base
11
9
  attribute :id, TD::Types::Integer
12
10
  attribute :required_elements, TD::Types::Array.of(TD::Types::PassportRequiredElement)
13
- attribute :elements, TD::Types::Array.of(TD::Types::PassportElement)
14
- attribute :errors, TD::Types::Array.of(TD::Types::PassportElementError)
15
11
  attribute :privacy_policy_url, TD::Types::String.optional.default(nil)
16
12
  end
17
13
  end
@@ -1,6 +1,9 @@
1
1
  module TD::Types
2
2
  # The file contains an error.
3
3
  # The error will be considered resolved when the file changes.
4
+ #
5
+ # @attr file_index [Integer] Index of a file with the error.
4
6
  class PassportElementErrorSource::File < PassportElementErrorSource
7
+ attribute :file_index, TD::Types::Integer
5
8
  end
6
9
  end
@@ -1,6 +1,9 @@
1
1
  module TD::Types
2
2
  # One of files with the translation of the document contains an error.
3
3
  # The error will be considered resolved when the file changes.
4
+ #
5
+ # @attr file_index [Integer] Index of a file with the error.
4
6
  class PassportElementErrorSource::TranslationFile < PassportElementErrorSource
7
+ attribute :file_index, TD::Types::Integer
5
8
  end
6
9
  end
@@ -0,0 +1,10 @@
1
+ module TD::Types
2
+ # Contains information about a Telegram Passport elements and corresponding errors.
3
+ #
4
+ # @attr elements [Array<TD::Types::PassportElement>] Telegram Passport elements.
5
+ # @attr errors [Array<TD::Types::PassportElementError>] Errors in the elements that are already available.
6
+ class PassportElementsWithErrors < Base
7
+ attribute :elements, TD::Types::Array.of(TD::Types::PassportElement)
8
+ attribute :errors, TD::Types::Array.of(TD::Types::PassportElementError)
9
+ end
10
+ end
@@ -1,17 +1,17 @@
1
1
  module TD::Types
2
2
  # Represents the current state of 2-step verification.
3
3
  #
4
- # @attr has_password [Boolean] True if a 2-step verification password is set.
5
- # @attr password_hint [String, nil] Hint for the password; can be empty.
6
- # @attr has_recovery_email_address [Boolean] True if a recovery email is set.
7
- # @attr has_passport_data [Boolean] True if some Telegram Passport elements were saved.
8
- # @attr unconfirmed_recovery_email_address_pattern [String] Pattern of the email address to which the confirmation
9
- # email was sent.
4
+ # @attr has_password [Boolean] True, if a 2-step verification password is set.
5
+ # @attr password_hint [String, nil] Hint for the password; may be empty.
6
+ # @attr has_recovery_email_address [Boolean] True, if a recovery email is set.
7
+ # @attr has_passport_data [Boolean] True, if some Telegram Passport elements were saved.
8
+ # @attr recovery_email_address_code_info [TD::Types::EmailAddressAuthenticationCodeInfo, nil] Information about the
9
+ # recovery email address to which the confirmation email was sent; may be null.
10
10
  class PasswordState < Base
11
11
  attribute :has_password, TD::Types::Bool
12
12
  attribute :password_hint, TD::Types::String.optional.default(nil)
13
13
  attribute :has_recovery_email_address, TD::Types::Bool
14
14
  attribute :has_passport_data, TD::Types::Bool
15
- attribute :unconfirmed_recovery_email_address_pattern, TD::Types::String
15
+ attribute :recovery_email_address_code_info, TD::Types::EmailAddressAuthenticationCodeInfo.optional.default(nil)
16
16
  end
17
17
  end
@@ -0,0 +1,16 @@
1
+ module TD::Types
2
+ # Contains settings for the authentication of the user's phone number.
3
+ #
4
+ # @attr allow_flash_call [Boolean] Pass true if the authentication code may be sent via flash call to the specified
5
+ # phone number.
6
+ # @attr is_current_phone_number [Boolean] Pass true if the authenticated phone number is used on the current device.
7
+ # @attr allow_sms_retriever_api [Boolean] For official applications only.
8
+ # True, if the app can use Android SMS Retriever API (requires Google Play Services >= 10.2) to automatically
9
+ # receive the authentication code from the SMS.
10
+ # See https://developers.google.com/identity/sms-retriever/ for more details.
11
+ class PhoneNumberAuthenticationSettings < Base
12
+ attribute :allow_flash_call, TD::Types::Bool
13
+ attribute :is_current_phone_number, TD::Types::Bool
14
+ attribute :allow_sms_retriever_api, TD::Types::Bool
15
+ end
16
+ end
@@ -1,12 +1,12 @@
1
1
  module TD::Types
2
2
  # Describes a photo.
3
3
  #
4
- # @attr id [Integer] Photo identifier; 0 for deleted photos.
5
4
  # @attr has_stickers [Boolean] True, if stickers were added to the photo.
5
+ # @attr minithumbnail [TD::Types::Minithumbnail, nil] Photo minithumbnail; may be null.
6
6
  # @attr sizes [Array<TD::Types::PhotoSize>] Available variants of the photo, in different sizes.
7
7
  class Photo < Base
8
- attribute :id, TD::Types::Integer
9
8
  attribute :has_stickers, TD::Types::Bool
9
+ attribute :minithumbnail, TD::Types::Minithumbnail.optional.default(nil)
10
10
  attribute :sizes, TD::Types::Array.of(TD::Types::PhotoSize)
11
11
  end
12
12
  end
@@ -0,0 +1,16 @@
1
+ module TD::Types
2
+ # Describes a poll.
3
+ #
4
+ # @attr id [Integer] Unique poll identifier.
5
+ # @attr question [String] Poll question, 1-255 characters.
6
+ # @attr options [Array<TD::Types::PollOption>] List of poll answer options.
7
+ # @attr total_voter_count [Integer] Total number of voters, participating in the poll.
8
+ # @attr is_closed [Boolean] True, if the poll is closed.
9
+ class Poll < Base
10
+ attribute :id, TD::Types::Integer
11
+ attribute :question, TD::Types::String
12
+ attribute :options, TD::Types::Array.of(TD::Types::PollOption)
13
+ attribute :total_voter_count, TD::Types::Integer
14
+ attribute :is_closed, TD::Types::Bool
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module TD::Types
2
+ # Describes one answer option of a poll.
3
+ #
4
+ # @attr text [String] Option text, 1-100 characters.
5
+ # @attr voter_count [Integer] Number of voters for this option, available only for closed or voted polls.
6
+ # @attr vote_percentage [Integer] The percentage of votes for this option, 0-100.
7
+ # @attr is_chosen [Boolean] True, if the option was chosen by the user.
8
+ # @attr is_being_chosen [Boolean] True, if the option is being chosen by a pending setPollAnswer request.
9
+ class PollOption < Base
10
+ attribute :text, TD::Types::String
11
+ attribute :voter_count, TD::Types::Integer
12
+ attribute :vote_percentage, TD::Types::Integer
13
+ attribute :is_chosen, TD::Types::Bool
14
+ attribute :is_being_chosen, TD::Types::Bool
15
+ end
16
+ end
@@ -4,7 +4,9 @@ module TD::Types
4
4
  # @attr id [Integer] Photo identifier; 0 for an empty photo.
5
5
  # Can be used to find a photo in a list of userProfilePhotos.
6
6
  # @attr small [TD::Types::File] A small (160x160) user profile photo.
7
+ # The file can be downloaded only before the photo is changed.
7
8
  # @attr big [TD::Types::File] A big (640x640) user profile photo.
9
+ # The file can be downloaded only before the photo is changed.
8
10
  class ProfilePhoto < Base
9
11
  attribute :id, TD::Types::Integer
10
12
  attribute :small, TD::Types::File
@@ -1,5 +1,5 @@
1
1
  module TD::Types
2
- # Contains a public HTTPS link to a message in a public supergroup or channel.
2
+ # Contains a public HTTPS link to a message in a public supergroup or channel with a username.
3
3
  #
4
4
  # @attr link [String] Message link.
5
5
  # @attr html [String] HTML-code for embedding the message.
@@ -0,0 +1,35 @@
1
+ module TD::Types
2
+ # Contains content of a push message notification.
3
+ class PushMessageContent < Base
4
+ %w[
5
+ hidden
6
+ animation
7
+ audio
8
+ contact
9
+ contact_registered
10
+ document
11
+ game
12
+ game_score
13
+ invoice
14
+ location
15
+ photo
16
+ poll
17
+ screenshot_taken
18
+ sticker
19
+ text
20
+ video
21
+ video_note
22
+ voice_note
23
+ basic_group_chat_create
24
+ chat_add_members
25
+ chat_change_photo
26
+ chat_change_title
27
+ chat_delete_member
28
+ chat_join_by_link
29
+ message_forwards
30
+ media_album
31
+ ].each do |type|
32
+ autoload TD::Types.camelize(type), "tdlib/types/push_message_content/#{type}"
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,12 @@
1
+ module TD::Types
2
+ # An animation message (GIF-style)..
3
+ #
4
+ # @attr animation [TD::Types::Animation, nil] Message content; may be null.
5
+ # @attr caption [String] Animation caption.
6
+ # @attr is_pinned [Boolean] True, if the message is a pinned message with the specified content.
7
+ class PushMessageContent::Animation < PushMessageContent
8
+ attribute :animation, TD::Types::Animation.optional.default(nil)
9
+ attribute :caption, TD::Types::String
10
+ attribute :is_pinned, TD::Types::Bool
11
+ end
12
+ end