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
@@ -12,9 +12,9 @@ module TD::Types
12
12
  # @attr can_delete_messages [Boolean] True, if the administrator can delete messages of other users.
13
13
  # @attr can_invite_users [Boolean] True, if the administrator can invite new users to the chat.
14
14
  # @attr can_restrict_members [Boolean] True, if the administrator can restrict, ban, or unban chat members.
15
- # @attr can_pin_messages [Boolean] True, if the administrator can pin messages; applicable to supergroups only.
16
- # @attr can_promote_members [Boolean] True, if the administrator can add new administrators with a subset of his own
17
- # privileges or demote administrators that were directly or indirectly promoted by him.
15
+ # @attr can_pin_messages [Boolean] True, if the administrator can pin messages; applicable to groups only.
16
+ # @attr can_promote_members [Boolean] True, if the administrator can add new administrators with a subset of their
17
+ # own privileges or demote administrators that were directly or indirectly promoted by him.
18
18
  class ChatMemberStatus::Administrator < ChatMemberStatus
19
19
  attribute :can_be_edited, TD::Types::Bool
20
20
  attribute :can_change_info, TD::Types::Bool
@@ -7,21 +7,10 @@ module TD::Types
7
7
  # user; 0 if never.
8
8
  # If the user is restricted for more than 366 days or for less than 30 seconds from the current time, the user is
9
9
  # considered to be restricted forever.
10
- # @attr can_send_messages [Boolean] True, if the user can send text messages, contacts, locations, and venues.
11
- # @attr can_send_media_messages [Boolean] True, if the user can send audio files, documents, photos, videos, video
12
- # notes, and voice notes.
13
- # Implies can_send_messages permissions.
14
- # @attr can_send_other_messages [Boolean] True, if the user can send animations, games, and stickers and use inline
15
- # bots.
16
- # Implies can_send_media_messages permissions.
17
- # @attr can_add_web_page_previews [Boolean] True, if the user may add a web page preview to his messages.
18
- # Implies can_send_messages permissions.
10
+ # @attr permissions [TD::Types::ChatPermissions] User permissions in the chat.
19
11
  class ChatMemberStatus::Restricted < ChatMemberStatus
20
12
  attribute :is_member, TD::Types::Bool
21
13
  attribute :restricted_until_date, TD::Types::Integer
22
- attribute :can_send_messages, TD::Types::Bool
23
- attribute :can_send_media_messages, TD::Types::Bool
24
- attribute :can_send_other_messages, TD::Types::Bool
25
- attribute :can_add_web_page_previews, TD::Types::Bool
14
+ attribute :permissions, TD::Types::ChatPermissions
26
15
  end
27
16
  end
@@ -2,6 +2,7 @@ module TD::Types
2
2
  # Specifies the kind of chat members to return in searchChatMembers.
3
3
  class ChatMembersFilter < Base
4
4
  %w[
5
+ contacts
5
6
  administrators
6
7
  members
7
8
  restricted
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # Returns contacts of the user.
3
+ class ChatMembersFilter::Contacts < ChatMembersFilter
4
+ end
5
+ end
@@ -11,6 +11,14 @@ module TD::Types
11
11
  # @attr use_default_show_preview [Boolean] If true, show_preview is ignored and the value for the relevant type of
12
12
  # chat is used instead.
13
13
  # @attr show_preview [Boolean] True, if message content should be displayed in notifications.
14
+ # @attr use_default_disable_pinned_message_notifications [Boolean] If true, disable_pinned_message_notifications is
15
+ # ignored and the value for the relevant type of chat is used instead.
16
+ # @attr disable_pinned_message_notifications [Boolean] If true, notifications for incoming pinned messages will be
17
+ # created as for an ordinary unread message.
18
+ # @attr use_default_disable_mention_notifications [Boolean] If true, disable_mention_notifications is ignored and the
19
+ # value for the relevant type of chat is used instead.
20
+ # @attr disable_mention_notifications [Boolean] If true, notifications for messages with mentions will be created as
21
+ # for an ordinary unread message.
14
22
  class ChatNotificationSettings < Base
15
23
  attribute :use_default_mute_for, TD::Types::Bool
16
24
  attribute :mute_for, TD::Types::Integer
@@ -18,5 +26,9 @@ module TD::Types
18
26
  attribute :sound, TD::Types::String
19
27
  attribute :use_default_show_preview, TD::Types::Bool
20
28
  attribute :show_preview, TD::Types::Bool
29
+ attribute :use_default_disable_pinned_message_notifications, TD::Types::Bool
30
+ attribute :disable_pinned_message_notifications, TD::Types::Bool
31
+ attribute :use_default_disable_mention_notifications, TD::Types::Bool
32
+ attribute :disable_mention_notifications, TD::Types::Bool
21
33
  end
22
34
  end
@@ -0,0 +1,28 @@
1
+ module TD::Types
2
+ # Describes actions that a user is allowed to take in a chat.
3
+ #
4
+ # @attr can_send_messages [Boolean] True, if the user can send text messages, contacts, locations, and venues.
5
+ # @attr can_send_media_messages [Boolean] True, if the user can send audio files, documents, photos, videos, video
6
+ # notes, and voice notes.
7
+ # Implies can_send_messages permissions.
8
+ # @attr can_send_polls [Boolean] True, if the user can send polls.
9
+ # Implies can_send_messages permissions.
10
+ # @attr can_send_other_messages [Boolean] True, if the user can send animations, games, and stickers and use inline
11
+ # bots.
12
+ # Implies can_send_messages permissions.
13
+ # @attr can_add_web_page_previews [Boolean] True, if the user may add a web page preview to their messages.
14
+ # Implies can_send_messages permissions.
15
+ # @attr can_change_info [Boolean] True, if the user can change the chat title, photo, and other settings.
16
+ # @attr can_invite_users [Boolean] True, if the user can invite new users to the chat.
17
+ # @attr can_pin_messages [Boolean] True, if the user can pin messages.
18
+ class ChatPermissions < Base
19
+ attribute :can_send_messages, TD::Types::Bool
20
+ attribute :can_send_media_messages, TD::Types::Bool
21
+ attribute :can_send_polls, TD::Types::Bool
22
+ attribute :can_send_other_messages, TD::Types::Bool
23
+ attribute :can_add_web_page_previews, TD::Types::Bool
24
+ attribute :can_change_info, TD::Types::Bool
25
+ attribute :can_invite_users, TD::Types::Bool
26
+ attribute :can_pin_messages, TD::Types::Bool
27
+ end
28
+ end
@@ -2,7 +2,9 @@ module TD::Types
2
2
  # Describes the photo of a chat.
3
3
  #
4
4
  # @attr small [TD::Types::File] A small (160x160) chat photo.
5
+ # The file can be downloaded only before the photo is changed.
5
6
  # @attr big [TD::Types::File] A big (640x640) chat photo.
7
+ # The file can be downloaded only before the photo is changed.
6
8
  class ChatPhoto < Base
7
9
  attribute :small, TD::Types::File
8
10
  attribute :big, TD::Types::File
@@ -5,6 +5,7 @@ module TD::Types
5
5
  spam
6
6
  violence
7
7
  pornography
8
+ child_abuse
8
9
  copyright
9
10
  custom
10
11
  ].each do |type|
@@ -0,0 +1,5 @@
1
+ module TD::Types
2
+ # The chat has child abuse related content.
3
+ class ChatReportReason::ChildAbuse < ChatReportReason
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
1
  module TD::Types
2
- # The user has too much public chats, one of them should be made private first.
2
+ # The user has too much chats with username, one of them should be made private first.
3
3
  class CheckChatUsernameResult::PublicChatsTooMuch < CheckChatUsernameResult
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  module TD::Types
2
2
  # Currently waiting for the network to become available.
3
- # Use SetNetworkType to change the available network type.
3
+ # Use setNetworkType to change the available network type.
4
4
  class ConnectionState::WaitingForNetwork < ConnectionState
5
5
  end
6
6
  end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Contains database statistics.
3
+ #
4
+ # @attr statistics [String] Database statistics in an unspecified human-readable format.
5
+ class DatabaseStatistics < Base
6
+ attribute :statistics, TD::Types::String
7
+ end
8
+ end
@@ -1,10 +1,10 @@
1
1
  module TD::Types
2
- # Represents a data needed to subscribe for push notifications.
2
+ # Represents a data needed to subscribe for push notifications through registerDevice method.
3
3
  # To use specific push notification service, you must specify the correct application platform and upload valid
4
4
  # server authentication data at https://my.telegram.org.
5
5
  class DeviceToken < Base
6
6
  %w[
7
- google_cloud_messaging
7
+ firebase_cloud_messaging
8
8
  apple_push
9
9
  apple_push_vo_ip
10
10
  windows_push
@@ -3,8 +3,10 @@ module TD::Types
3
3
  #
4
4
  # @attr device_token [String, nil] Device token; may be empty to de-register a device.
5
5
  # @attr is_app_sandbox [Boolean] True, if App Sandbox is enabled.
6
+ # @attr encrypt [Boolean] True, if push notifications should be additionally encrypted.
6
7
  class DeviceToken::ApplePushVoIP < DeviceToken
7
8
  attribute :device_token, TD::Types::String.optional.default(nil)
8
9
  attribute :is_app_sandbox, TD::Types::Bool
10
+ attribute :encrypt, TD::Types::Bool
9
11
  end
10
12
  end
@@ -0,0 +1,10 @@
1
+ module TD::Types
2
+ # A token for Firebase Cloud Messaging.
3
+ #
4
+ # @attr token [String, nil] Device registration token; may be empty to de-register a device.
5
+ # @attr encrypt [Boolean] True, if push notifications should be additionally encrypted.
6
+ class DeviceToken::FirebaseCloudMessaging < DeviceToken
7
+ attribute :token, TD::Types::String.optional.default(nil)
8
+ attribute :encrypt, TD::Types::Bool
9
+ end
10
+ end
@@ -3,11 +3,14 @@ module TD::Types
3
3
  #
4
4
  # @attr file_name [String] Original name of the file; as defined by the sender.
5
5
  # @attr mime_type [String] MIME type of the file; as defined by the sender.
6
- # @attr thumbnail [TD::Types::PhotoSize, nil] Document thumbnail; as defined by the sender; may be null.
6
+ # @attr minithumbnail [TD::Types::Minithumbnail, nil] Document minithumbnail; may be null.
7
+ # @attr thumbnail [TD::Types::PhotoSize, nil] Document thumbnail in JPEG or PNG format (PNG will be used only for
8
+ # background patterns); as defined by the sender; may be null.
7
9
  # @attr document [TD::Types::File] File containing the document.
8
10
  class Document < Base
9
11
  attribute :file_name, TD::Types::String
10
12
  attribute :mime_type, TD::Types::String
13
+ attribute :minithumbnail, TD::Types::Minithumbnail.optional.default(nil)
11
14
  attribute :thumbnail, TD::Types::PhotoSize.optional.default(nil)
12
15
  attribute :document, TD::Types::File
13
16
  end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Represents a list of emoji.
3
+ #
4
+ # @attr emojis [Array<String>] List of emojis.
5
+ class Emojis < Base
6
+ attribute :emojis, TD::Types::Array.of(TD::Types::String)
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Contains a part of a file.
3
+ #
4
+ # @attr data [String] File bytes.
5
+ class FilePart < Base
6
+ attribute :data, TD::Types::String
7
+ end
8
+ end
@@ -1,5 +1,5 @@
1
1
  module TD::Types
2
- # The file is a wallpaper.
2
+ # The file is a wallpaper or a background pattern.
3
3
  class FileType::Wallpaper < FileType
4
4
  end
5
5
  end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # Contains an HTTP URL.
3
+ #
4
+ # @attr url [String] The URL.
5
+ class HttpUrl < Base
6
+ attribute :url, TD::Types::String
7
+ end
8
+ end
@@ -3,6 +3,7 @@ module TD::Types
3
3
  class InlineKeyboardButtonType < Base
4
4
  %w[
5
5
  url
6
+ login_url
6
7
  callback
7
8
  callback_game
8
9
  switch_inline
@@ -0,0 +1,12 @@
1
+ module TD::Types
2
+ # A button that opens a specified URL and automatically logs in in current user if they allowed to do that.
3
+ #
4
+ # @attr url [String] HTTP URL to open.
5
+ # @attr id [Integer] Unique button identifier.
6
+ # @attr forward_text [String] If non-empty, new text of the button in forwarded messages.
7
+ class InlineKeyboardButtonType::LoginUrl < InlineKeyboardButtonType
8
+ attribute :url, TD::Types::String
9
+ attribute :id, TD::Types::Integer
10
+ attribute :forward_text, TD::Types::String
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ module TD::Types
2
+ # Contains information about background to set.
3
+ class InputBackground < Base
4
+ %w[
5
+ local
6
+ remote
7
+ ].each do |type|
8
+ autoload TD::Types.camelize(type), "tdlib/types/input_background/#{type}"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ module TD::Types
2
+ # A background from a local file.
3
+ #
4
+ # @attr background [TD::Types::InputFile] Background file to use.
5
+ # Only {TD::Types::InputFile::Local} and {TD::Types::InputFile::Generated} are supported.
6
+ # The file nust be in JPEG format for wallpapers and in PNG format for patterns.
7
+ class InputBackground::Local < InputBackground
8
+ attribute :background, TD::Types::InputFile
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ module TD::Types
2
+ # A background from the server.
3
+ #
4
+ # @attr background_id [Integer] The background identifier.
5
+ class InputBackground::Remote < InputBackground
6
+ attribute :background_id, TD::Types::Integer
7
+ end
8
+ end
@@ -5,6 +5,7 @@ module TD::Types
5
5
  # no such file.
6
6
  # @attr conversion [String] String specifying the conversion applied to the original file; should be persistent
7
7
  # across application restarts.
8
+ # Conversions beginning with '#' are reserved for internal TDLib usage.
8
9
  # @attr expected_size [Integer] Expected size of the generated file; 0 if unknown.
9
10
  class InputFile::Generated < InputFile
10
11
  attribute :original_path, TD::Types::String.optional.default(nil)
@@ -8,10 +8,11 @@ module TD::Types
8
8
  # @attr gif_duration [Integer] Duration of the GIF, in seconds.
9
9
  # @attr gif_width [Integer] Width of the GIF.
10
10
  # @attr gif_height [Integer] Height of the GIF.
11
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
12
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Animation,
13
- # TD::Types::InputMessageContent::Location, TD::Types::InputMessageContent::Venue,
14
- # 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, InputMessageAnimation, InputMessageLocation,
15
+ # InputMessageVenue or InputMessageContact.
15
16
  class InputInlineQueryResult::AnimatedGif < InputInlineQueryResult
16
17
  attribute :id, TD::Types::String
17
18
  attribute :title, TD::Types::String
@@ -9,10 +9,11 @@ module TD::Types
9
9
  # @attr mpeg4_duration [Integer] Duration of the video, in seconds.
10
10
  # @attr mpeg4_width [Integer] Width of the video.
11
11
  # @attr mpeg4_height [Integer] Height of the video.
12
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
13
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Animation,
14
- # TD::Types::InputMessageContent::Location, TD::Types::InputMessageContent::Venue,
15
- # TD::Types::InputMessageContent::Contact] The content of the message to be sent.
12
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
13
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
14
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
15
+ # Must be one of the following types: InputMessageText, InputMessageAnimation, InputMessageLocation,
16
+ # InputMessageVenue or InputMessageContact.
16
17
  class InputInlineQueryResult::AnimatedMpeg4 < InputInlineQueryResult
17
18
  attribute :id, TD::Types::String
18
19
  attribute :title, TD::Types::String
@@ -9,10 +9,11 @@ module TD::Types
9
9
  # @attr thumbnail_url [String] URL of the result thumbnail, if it exists.
10
10
  # @attr thumbnail_width [Integer] Thumbnail width, if known.
11
11
  # @attr thumbnail_height [Integer] Thumbnail height, if known.
12
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
13
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Location,
14
- # TD::Types::InputMessageContent::Venue, TD::Types::InputMessageContent::Contact] The content of the message to be
15
- # sent.
12
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
13
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
14
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
15
+ # Must be one of the following types: InputMessageText, InputMessageLocation, InputMessageVenue or
16
+ # InputMessageContact.
16
17
  class InputInlineQueryResult::Article < InputInlineQueryResult
17
18
  attribute :id, TD::Types::String
18
19
  attribute :url, TD::Types::String
@@ -6,10 +6,11 @@ module TD::Types
6
6
  # @attr performer [String] Performer of the audio file.
7
7
  # @attr audio_url [String] The URL of the audio file.
8
8
  # @attr audio_duration [Integer] Audio file duration, in seconds.
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::Audio,
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, InputMessageAudio, InputMessageLocation, InputMessageVenue
13
+ # or InputMessageContact.
13
14
  class InputInlineQueryResult::Audio < InputInlineQueryResult
14
15
  attribute :id, TD::Types::String
15
16
  attribute :title, 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::Contact < InputInlineQueryResult
14
15
  attribute :id, TD::Types::String
15
16
  attribute :contact, TD::Types::Contact
@@ -10,10 +10,11 @@ module TD::Types
10
10
  # @attr thumbnail_url [String] The URL of the file thumbnail, if it exists.
11
11
  # @attr thumbnail_width [Integer] Width of the thumbnail.
12
12
  # @attr thumbnail_height [Integer] Height of the thumbnail.
13
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
14
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Document,
15
- # TD::Types::InputMessageContent::Location, TD::Types::InputMessageContent::Venue,
16
- # TD::Types::InputMessageContent::Contact] The content of the message to be sent.
13
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
14
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
15
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
16
+ # Must be one of the following types: InputMessageText, InputMessageDocument, InputMessageLocation,
17
+ # InputMessageVenue or InputMessageContact.
17
18
  class InputInlineQueryResult::Document < InputInlineQueryResult
18
19
  attribute :id, TD::Types::String
19
20
  attribute :title, TD::Types::String
@@ -3,7 +3,8 @@ module TD::Types
3
3
  #
4
4
  # @attr id [String] Unique identifier of the query result.
5
5
  # @attr game_short_name [String] Short name of the game.
6
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] Message reply markup.
6
+ # @attr reply_markup [TD::Types::ReplyMarkup] Message reply markup.
7
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
7
8
  class InputInlineQueryResult::Game < InputInlineQueryResult
8
9
  attribute :id, TD::Types::String
9
10
  attribute :game_short_name, TD::Types::String
@@ -9,10 +9,11 @@ module TD::Types
9
9
  # @attr thumbnail_url [String] URL of the result thumbnail, if it exists.
10
10
  # @attr thumbnail_width [Integer] Thumbnail width, if known.
11
11
  # @attr thumbnail_height [Integer] Thumbnail height, if known.
12
- # @attr reply_markup [TD::Types::ReplyMarkup::InlineKeyboard, nil] The message reply markup.
13
- # @attr input_message_content [TD::Types::InputMessageContent::Text, TD::Types::InputMessageContent::Location,
14
- # TD::Types::InputMessageContent::Venue, TD::Types::InputMessageContent::Contact] The content of the message to be
15
- # sent.
12
+ # @attr reply_markup [TD::Types::ReplyMarkup] The message reply markup.
13
+ # Must be of type {TD::Types::ReplyMarkup::InlineKeyboard} or null.
14
+ # @attr input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
15
+ # Must be one of the following types: InputMessageText, InputMessageLocation, InputMessageVenue or
16
+ # InputMessageContact.
16
17
  class InputInlineQueryResult::Location < InputInlineQueryResult
17
18
  attribute :id, TD::Types::String
18
19
  attribute :location, TD::Types::Location