tdlib-ruby 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -8,9 +8,11 @@ module TD::Types
8
8
  # @attr photo_url [String] The URL of the JPEG photo (photo size must not exceed 5MB).
9
9
  # @attr photo_width [Integer] Width of the photo.
10
10
  # @attr photo_height [Integer] Height of the photo.
11
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Photo,
12
- # TD::Types::InputMessageContent::Location, TD::Types::InputMessageContent::Venue,
13
- # TD::Types::InputMessageContent::Contact] The content of the message to be sent.
11
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
12
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
13
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
14
+ # Must be one of the following types: InputMessageText, InputMessagePhoto, InputMessageLocation, InputMessageVenue
15
+ # or InputMessageContact.
14
16
  class InputInlineQueryResult::Photo < InputInlineQueryResult
15
17
  attribute :id, TD::Types::String
16
18
  attribute :title, TD::Types::String
@@ -1,15 +1,16 @@
1
1
  module TD::Types
2
- # Represents a link to a WEBP sticker.
2
+ # Represents a link to a WEBP or a TGS sticker.
3
3
  #
4
4
  # @attr id [String] Unique identifier of the query result.
5
5
  # @attr thumbnail_url [String] URL of the sticker thumbnail, if it exists.
6
- # @attr sticker_url [String] The URL of the WEBP sticker (sticker file size must not exceed 5MB).
6
+ # @attr sticker_url [String] The URL of the WEBP or a TGS sticker (sticker file size must not exceed 5MB).
7
7
  # @attr sticker_width [Integer] Width of the sticker.
8
8
  # @attr sticker_height [Integer] Height of the sticker.
9
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
10
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Sticker,
11
- # TD::Types::InputMessageContent::Location, TD::Types::InputMessageContent::Venue,
12
- # TD::Types::InputMessageContent::Contact] The content of the message to be sent.
9
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
10
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
11
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
12
+ # Must be one of the following types: InputMessageText, inputMessageSticker, InputMessageLocation,
13
+ # InputMessageVenue or InputMessageContact.
13
14
  class InputInlineQueryResult::Sticker < InputInlineQueryResult
14
15
  attribute :id, TD::Types::String
15
16
  attribute :thumbnail_url, TD::Types::String
@@ -6,10 +6,11 @@ module TD::Types
6
6
  # @attr thumbnail_url [String] URL of the result thumbnail, if it exists.
7
7
  # @attr thumbnail_width [Integer] Thumbnail width, if known.
8
8
  # @attr thumbnail_height [Integer] Thumbnail height, if known.
9
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
10
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Location,
11
- # TD::Types::InputMessageContent::Venue, TD::Types::InputMessageContent::Contact] The content of the message to be
12
- # sent.
9
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
10
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
11
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
12
+ # Must be one of the following types: InputMessageText, InputMessageLocation, InputMessageVenue or
13
+ # InputMessageContact.
13
14
  class InputInlineQueryResult::Venue < InputInlineQueryResult
14
15
  attribute :id, TD::Types::String
15
16
  attribute :venue, TD::Types::Venue
@@ -11,10 +11,11 @@ module TD::Types
11
11
  # @attr video_width [Integer] Width of the video.
12
12
  # @attr video_height [Integer] Height of the video.
13
13
  # @attr video_duration [Integer] Video duration, in seconds.
14
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
15
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Video,
16
- # TD::Types::InputMessageContent::Location, TD::Types::InputMessageContent::Venue,
17
- # TD::Types::InputMessageContent::Contact] The content of the message to be sent.
14
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
15
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
16
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
17
+ # Must be one of the following types: InputMessageText, InputMessageVideo, InputMessageLocation, InputMessageVenue
18
+ # or InputMessageContact.
18
19
  class InputInlineQueryResult::Video < InputInlineQueryResult
19
20
  attribute :id, TD::Types::String
20
21
  attribute :title, TD::Types::String
@@ -5,10 +5,11 @@ module TD::Types
5
5
  # @attr title [String] Title of the voice note.
6
6
  # @attr voice_note_url [String] The URL of the voice note file.
7
7
  # @attr voice_note_duration [Integer] Duration of the voice note, in seconds.
8
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
9
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::VoiceNote,
10
- # TD::Types::InputMessageContent::Location, TD::Types::InputMessageContent::Venue,
11
- # TD::Types::InputMessageContent::Contact] The content of the message to be sent.
8
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
9
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
10
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
11
+ # Must be one of the following types: InputMessageText, InputMessageVoiceNote, InputMessageLocation,
12
+ # InputMessageVenue or InputMessageContact.
12
13
  class InputInlineQueryResult::VoiceNote < InputInlineQueryResult
13
14
  attribute :id, TD::Types::String
14
15
  attribute :title, TD::Types::String
@@ -16,6 +16,7 @@ module TD::Types
16
16
  contact
17
17
  game
18
18
  invoice
19
+ poll
19
20
  forwarded
20
21
  ].each do |type|
21
22
  autoload TD::Types.camelize(type), "tdlib/types/input_message_content/#{type}"
@@ -5,9 +5,16 @@ module TD::Types
5
5
  # @attr message_id [Integer] Identifier of the message to forward.
6
6
  # @attr in_game_share [Boolean] True, if a game message should be shared within a launched game; applies only to game
7
7
  # messages.
8
+ # @attr send_copy [Boolean] True, if content of the message needs to be copied without a link to the original
9
+ # message.
10
+ # Always true if the message is forwarded to a secret chat.
11
+ # @attr remove_caption [Boolean] True, if media caption of the message copy needs to be removed.
12
+ # Ignored if send_copy is false.
8
13
  class InputMessageContent::Forwarded < InputMessageContent
9
14
  attribute :from_chat_id, TD::Types::Integer
10
15
  attribute :message_id, TD::Types::Integer
11
16
  attribute :in_game_share, TD::Types::Bool
17
+ attribute :send_copy, TD::Types::Bool
18
+ attribute :remove_caption, TD::Types::Bool
12
19
  end
13
20
  end
@@ -0,0 +1,11 @@
1
+ module TD::Types
2
+ # A message with a poll.
3
+ # Polls can't be sent to private or secret chats.
4
+ #
5
+ # @attr question [String] Poll question, 1-255 characters.
6
+ # @attr options [Array<String>] List of poll answer options, 2-10 strings 1-100 characters each.
7
+ class InputMessageContent::Poll < InputMessageContent
8
+ attribute :question, TD::Types::String
9
+ attribute :options, TD::Types::Array.of(TD::Types::String)
10
+ end
11
+ end
@@ -4,9 +4,9 @@ module TD::Types
4
4
  #
5
5
  # @attr thumbnail [TD::Types::InputFile] Thumbnail file to send.
6
6
  # Sending thumbnails by file_id is currently not supported.
7
- # @attr width [Integer] Thumbnail width, usually shouldn't exceed 90.
7
+ # @attr width [Integer] Thumbnail width, usually shouldn't exceed 320.
8
8
  # Use 0 if unknown.
9
- # @attr height [Integer] Thumbnail height, usually shouldn't exceed 90.
9
+ # @attr height [Integer] Thumbnail height, usually shouldn't exceed 320.
10
10
  # Use 0 if unknown.
11
11
  class InputThumbnail < Base
12
12
  attribute :thumbnail, TD::Types::InputFile
@@ -0,0 +1,10 @@
1
+ module TD::Types
2
+ # Represents one member of a JSON object.
3
+ #
4
+ # @attr key [String] Member's key.
5
+ # @attr value [TD::Types::JsonValue] Member's value.
6
+ class JsonObjectMember < Base
7
+ attribute :key, TD::Types::String
8
+ attribute :value, TD::Types::JsonValue
9
+ end
10
+ end
@@ -0,0 +1,15 @@
1
+ module TD::Types
2
+ # Represents a JSON value.
3
+ class JsonValue < Base
4
+ %w[
5
+ null
6
+ boolean
7
+ number
8
+ string
9
+ array
10
+ object
11
+ ].each do |type|
12
+ autoload TD::Types.camelize(type), "tdlib/types/json_value/#{type}"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Represents a JSON array.
3
+ #
4
+ # @attr values [Array<TD::Types::JsonValue>] The list of array elements.
5
+ class JsonValue::Array < JsonValue
6
+ attribute :values, TD::Types::Array.of(TD::Types::JsonValue)
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Represents a boolean JSON value.
3
+ #
4
+ # @attr value [Boolean] The value.
5
+ class JsonValue::Boolean < JsonValue
6
+ attribute :value, TD::Types::Bool
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # Represents a null JSON value.
3
+ class JsonValue::Null < JsonValue
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Represents a numeric JSON value.
3
+ #
4
+ # @attr value [Float] The value.
5
+ class JsonValue::Number < JsonValue
6
+ attribute :value, TD::Types::Float
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Represents a JSON object.
3
+ #
4
+ # @attr members [Array<TD::Types::JsonObjectMember>] The list of object members.
5
+ class JsonValue::Object < JsonValue
6
+ attribute :members, TD::Types::Array.of(TD::Types::JsonObjectMember)
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Represents a string JSON value.
3
+ #
4
+ # @attr value [String] The value.
5
+ class JsonValue::String < JsonValue
6
+ attribute :value, TD::Types::String
7
+ end
8
+ end
@@ -2,13 +2,34 @@ module TD::Types
2
2
  # Contains information about a language pack.
3
3
  #
4
4
  # @attr id [String] Unique language pack identifier.
5
+ # @attr base_language_pack_id [String, nil] Identifier of a base language pack; may be empty.
6
+ # If a string is missed in the language pack, then it should be fetched from base language pack.
7
+ # Unsupported in custom language packs.
5
8
  # @attr name [String] Language name.
6
9
  # @attr native_name [String] Name of the language in that language.
10
+ # @attr plural_code [String] A language code to be used to apply plural forms.
11
+ # See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info.
12
+ # @attr is_official [Boolean] True, if the language pack is official.
13
+ # @attr is_rtl [Boolean] True, if the language pack strings are RTL.
14
+ # @attr is_beta [Boolean] True, if the language pack is a beta language pack.
15
+ # @attr is_installed [Boolean] True, if the language pack is installed by the current user.
16
+ # @attr total_string_count [Integer] Total number of non-deleted strings from the language pack.
17
+ # @attr translated_string_count [Integer] Total number of translated strings from the language pack.
7
18
  # @attr local_string_count [Integer] Total number of non-deleted strings from the language pack available locally.
19
+ # @attr translation_url [String, nil] Link to language translation interface; empty for custom local language packs.
8
20
  class LanguagePackInfo < Base
9
21
  attribute :id, TD::Types::String
22
+ attribute :base_language_pack_id, TD::Types::String.optional.default(nil)
10
23
  attribute :name, TD::Types::String
11
24
  attribute :native_name, TD::Types::String
25
+ attribute :plural_code, TD::Types::String
26
+ attribute :is_official, TD::Types::Bool
27
+ attribute :is_rtl, TD::Types::Bool
28
+ attribute :is_beta, TD::Types::Bool
29
+ attribute :is_installed, TD::Types::Bool
30
+ attribute :total_string_count, TD::Types::Integer
31
+ attribute :translated_string_count, TD::Types::Integer
12
32
  attribute :local_string_count, TD::Types::Integer
33
+ attribute :translation_url, TD::Types::String.optional.default(nil)
13
34
  end
14
35
  end
@@ -1,5 +1,6 @@
1
1
  module TD::Types
2
2
  # A language pack string which has different forms based on the number of some object it mentions.
3
+ # See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info.
3
4
  #
4
5
  # @attr zero_value [String] Value for zero objects.
5
6
  # @attr one_value [String] Value for one object.
@@ -1,5 +1,5 @@
1
1
  module TD::Types
2
- # The phone number of user A has been saved to the contacts list of user B.
2
+ # The phone number of user A has been saved to the contact list of user B.
3
3
  class LinkState::IsContact < LinkState
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
1
  module TD::Types
2
- # The phone number of user A is known but that number has not been saved to the contacts list of user B.
2
+ # The phone number of user A is known but that number has not been saved to the contact list of user B.
3
3
  class LinkState::KnowsPhoneNumber < LinkState
4
4
  end
5
5
  end
@@ -7,8 +7,10 @@ module TD::Types
7
7
  # @attr is_downloading_active [Boolean] True, if the file is currently being downloaded (or a local copy is being
8
8
  # generated by some other means).
9
9
  # @attr is_downloading_completed [Boolean] True, if the local copy is fully available.
10
- # @attr downloaded_prefix_size [Integer] If is_downloading_completed is false, then only some prefix of the file is
11
- # ready to be read.
10
+ # @attr download_offset [Integer] Download will be started from this offset.
11
+ # downloaded_prefix_size is calculated from this offset.
12
+ # @attr downloaded_prefix_size [Integer] If is_downloading_completed is false, then only some prefix of the file
13
+ # starting from download_offset is ready to be read.
12
14
  # downloaded_prefix_size is the size of that prefix.
13
15
  # @attr downloaded_size [Integer] Total downloaded file bytes.
14
16
  # Should be used only for calculating download progress.
@@ -19,6 +21,7 @@ module TD::Types
19
21
  attribute :can_be_deleted, TD::Types::Bool
20
22
  attribute :is_downloading_active, TD::Types::Bool
21
23
  attribute :is_downloading_completed, TD::Types::Bool
24
+ attribute :download_offset, TD::Types::Integer
22
25
  attribute :downloaded_prefix_size, TD::Types::Integer
23
26
  attribute :downloaded_size, TD::Types::Integer
24
27
  end
@@ -0,0 +1,12 @@
1
+ module TD::Types
2
+ # Describes a stream to which TDLib internal log is written.
3
+ class LogStream < Base
4
+ %w[
5
+ default
6
+ file
7
+ empty
8
+ ].each do |type|
9
+ autoload TD::Types.camelize(type), "tdlib/types/log_stream/#{type}"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The log is written to stderr or an OS specific log.
3
+ class LogStream::Default < LogStream
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The log is written nowhere.
3
+ class LogStream::Empty < LogStream
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ module TD::Types
2
+ # The log is written to a file.
3
+ #
4
+ # @attr path [String] Path to the file to where the internal TDLib log will be written.
5
+ # @attr max_file_size [Integer] Maximum size of the file to where the internal TDLib log is written before the file
6
+ # will be auto-rotated.
7
+ class LogStream::File < LogStream
8
+ attribute :path, TD::Types::String
9
+ attribute :max_file_size, TD::Types::Integer
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Contains a list of available TDLib internal log tags.
3
+ #
4
+ # @attr tags [Array<String>] List of log tags.
5
+ class LogTags < Base
6
+ attribute :tags, TD::Types::Array.of(TD::Types::String)
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Contains a TDLib internal log verbosity level.
3
+ #
4
+ # @attr verbosity_level [Integer] Log verbosity level.
5
+ class LogVerbosityLevel < Base
6
+ attribute :verbosity_level, TD::Types::Integer
7
+ end
8
+ end
@@ -3,12 +3,14 @@ module TD::Types
3
3
  #
4
4
  # @attr id [Integer] Message identifier, unique for the chat to which the message belongs.
5
5
  # @attr sender_user_id [Integer] Identifier of the user who sent the message; 0 if unknown.
6
- # It is unknown for channel posts.
6
+ # Currently, it is unknown for channel posts and for channel posts automatically forwarded to discussion group.
7
7
  # @attr chat_id [Integer] Chat identifier.
8
8
  # @attr sending_state [TD::Types::MessageSendingState, nil] Information about the sending state of the message; may
9
9
  # be null.
10
10
  # @attr is_outgoing [Boolean] True, if the message is outgoing.
11
11
  # @attr can_be_edited [Boolean] True, if the message can be edited.
12
+ # For live location and poll messages this fields shows, whether editMessageLiveLocation or stopPoll can be used
13
+ # with this message by the client.
12
14
  # @attr can_be_forwarded [Boolean] True, if the message can be forwarded.
13
15
  # @attr can_be_deleted_only_for_self [Boolean] True, if the message can be deleted only for the current user while
14
16
  # other users will continue to see it.
@@ -17,6 +17,7 @@ module TD::Types
17
17
  venue
18
18
  contact
19
19
  game
20
+ poll
20
21
  invoice
21
22
  call
22
23
  basic_group_chat_create
@@ -2,7 +2,7 @@ module TD::Types
2
2
  # A new high score was achieved in a game.
3
3
  #
4
4
  # @attr game_message_id [Integer] Identifier of the message with the game, can be an identifier of a deleted message.
5
- # @attr game_id [Integer] Identifier of the game, may be different from the games presented in the message with the
5
+ # @attr game_id [Integer] Identifier of the game; may be different from the games presented in the message with the
6
6
  # game.
7
7
  # @attr score [Integer] New score.
8
8
  class MessageContent::GameScore < MessageContent
@@ -1,7 +1,7 @@
1
1
  module TD::Types
2
2
  # A message has been pinned.
3
3
  #
4
- # @attr message_id [Integer] Identifier of the pinned message, can be an identifier of a deleted message.
4
+ # @attr message_id [Integer] Identifier of the pinned message, can be an identifier of a deleted message or 0.
5
5
  class MessageContent::PinMessage < MessageContent
6
6
  attribute :message_id, TD::Types::Integer
7
7
  end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # A message with a poll.
3
+ #
4
+ # @attr poll [TD::Types::Poll] Poll.
5
+ class MessageContent::Poll < MessageContent
6
+ attribute :poll, TD::Types::Poll
7
+ end
8
+ end
@@ -1,11 +1,17 @@
1
1
  module TD::Types
2
- # Contains information about the initial sender of a forwarded message.
2
+ # Contains information about a forwarded message.
3
+ #
4
+ # @attr origin [TD::Types::MessageForwardOrigin] Origin of a forwarded message.
5
+ # @attr date [Integer] Point in time (Unix timestamp) when the message was originally sent.
6
+ # @attr from_chat_id [Integer] For messages forwarded to the chat with the current user (saved messages) or to the
7
+ # channel discussion supergroup, the identifier of the chat from which the message was forwarded last time; 0 if unknown.
8
+ # @attr from_message_id [Integer] For messages forwarded to the chat with the current user (saved messages) or to the
9
+ # channel discussion supergroup, the identifier of the original message from which the new message was forwarded last
10
+ # time; 0 if unknown.
3
11
  class MessageForwardInfo < Base
4
- %w[
5
- message_forwarded_from_user
6
- message_forwarded_post
7
- ].each do |type|
8
- autoload TD::Types.camelize(type), "tdlib/types/message_forward_info/#{type}"
9
- end
12
+ attribute :origin, TD::Types::MessageForwardOrigin
13
+ attribute :date, TD::Types::Integer
14
+ attribute :from_chat_id, TD::Types::Integer
15
+ attribute :from_message_id, TD::Types::Integer
10
16
  end
11
17
  end