telegram-bot-types 0.4.1 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +11 -1
  3. data/.travis.yml +1 -1
  4. data/CHANGELOG.md +22 -0
  5. data/Gemfile +2 -0
  6. data/Rakefile +2 -0
  7. data/bin/console +1 -0
  8. data/bin/install_git_hooks +2 -1
  9. data/lib/telegram/bot/types.rb +19 -70
  10. data/lib/telegram/bot/types/animation.rb +6 -0
  11. data/lib/telegram/bot/types/audio.rb +5 -0
  12. data/lib/telegram/bot/types/base.rb +6 -0
  13. data/lib/telegram/bot/types/callback_game.rb +2 -0
  14. data/lib/telegram/bot/types/callback_query.rb +2 -0
  15. data/lib/telegram/bot/types/chat.rb +10 -0
  16. data/lib/telegram/bot/types/chat_invite_link.rb +16 -0
  17. data/lib/telegram/bot/types/chat_location.rb +12 -0
  18. data/lib/telegram/bot/types/chat_member.rb +22 -0
  19. data/lib/telegram/bot/types/chat_member_updated.rb +16 -0
  20. data/lib/telegram/bot/types/chat_permissions.rb +18 -0
  21. data/lib/telegram/bot/types/chat_photo.rb +14 -0
  22. data/lib/telegram/bot/types/chosen_inline_result.rb +2 -0
  23. data/lib/telegram/bot/types/contact.rb +3 -0
  24. data/lib/telegram/bot/types/dice.rb +12 -0
  25. data/lib/telegram/bot/types/document.rb +3 -0
  26. data/lib/telegram/bot/types/encrypted_credentials.rb +13 -0
  27. data/lib/telegram/bot/types/encrypted_passport_element.rb +20 -0
  28. data/lib/telegram/bot/types/file.rb +3 -0
  29. data/lib/telegram/bot/types/force_reply.rb +2 -0
  30. data/lib/telegram/bot/types/game.rb +2 -0
  31. data/lib/telegram/bot/types/game_high_score.rb +2 -0
  32. data/lib/telegram/bot/types/inline_keyboard_button.rb +3 -0
  33. data/lib/telegram/bot/types/inline_keyboard_markup.rb +2 -0
  34. data/lib/telegram/bot/types/inline_query.rb +2 -0
  35. data/lib/telegram/bot/types/inline_query_result_article.rb +2 -0
  36. data/lib/telegram/bot/types/inline_query_result_audio.rb +3 -0
  37. data/lib/telegram/bot/types/inline_query_result_cached_audio.rb +3 -0
  38. data/lib/telegram/bot/types/inline_query_result_cached_document.rb +3 -0
  39. data/lib/telegram/bot/types/inline_query_result_cached_gif.rb +3 -0
  40. data/lib/telegram/bot/types/inline_query_result_cached_mpeg4_gif.rb +3 -0
  41. data/lib/telegram/bot/types/inline_query_result_cached_photo.rb +3 -0
  42. data/lib/telegram/bot/types/inline_query_result_cached_sticker.rb +2 -0
  43. data/lib/telegram/bot/types/inline_query_result_cached_video.rb +3 -0
  44. data/lib/telegram/bot/types/inline_query_result_cached_voice.rb +3 -0
  45. data/lib/telegram/bot/types/inline_query_result_contact.rb +3 -0
  46. data/lib/telegram/bot/types/inline_query_result_document.rb +3 -0
  47. data/lib/telegram/bot/types/inline_query_result_game.rb +2 -0
  48. data/lib/telegram/bot/types/inline_query_result_gif.rb +3 -0
  49. data/lib/telegram/bot/types/inline_query_result_location.rb +6 -0
  50. data/lib/telegram/bot/types/inline_query_result_mpeg4_gif.rb +4 -0
  51. data/lib/telegram/bot/types/inline_query_result_photo.rb +3 -0
  52. data/lib/telegram/bot/types/inline_query_result_venue.rb +5 -0
  53. data/lib/telegram/bot/types/inline_query_result_video.rb +3 -0
  54. data/lib/telegram/bot/types/inline_query_result_voice.rb +3 -0
  55. data/lib/telegram/bot/types/input_contact_message_content.rb +3 -0
  56. data/lib/telegram/bot/types/input_location_message_content.rb +6 -0
  57. data/lib/telegram/bot/types/input_media_animation.rb +18 -0
  58. data/lib/telegram/bot/types/input_media_audio.rb +18 -0
  59. data/lib/telegram/bot/types/input_media_document.rb +17 -0
  60. data/lib/telegram/bot/types/input_media_photo.rb +14 -0
  61. data/lib/telegram/bot/types/input_media_video.rb +18 -0
  62. data/lib/telegram/bot/types/input_message_content.rb +2 -0
  63. data/lib/telegram/bot/types/input_text_message_content.rb +2 -0
  64. data/lib/telegram/bot/types/input_venue_message_content.rb +5 -0
  65. data/lib/telegram/bot/types/invoice.rb +2 -0
  66. data/lib/telegram/bot/types/keyboard_button.rb +3 -0
  67. data/lib/telegram/bot/types/keyboard_button_poll_type.rb +11 -0
  68. data/lib/telegram/bot/types/labeled_price.rb +2 -0
  69. data/lib/telegram/bot/types/location.rb +6 -0
  70. data/lib/telegram/bot/types/login_url.rb +14 -0
  71. data/lib/telegram/bot/types/mask_position.rb +14 -0
  72. data/lib/telegram/bot/types/message.rb +20 -0
  73. data/lib/telegram/bot/types/message_auto_delete_timer_changed.rb +11 -0
  74. data/lib/telegram/bot/types/message_entity.rb +3 -0
  75. data/lib/telegram/bot/types/order_info.rb +2 -0
  76. data/lib/telegram/bot/types/passport_data.rb +12 -0
  77. data/lib/telegram/bot/types/passport_element_error_data_field.rb +15 -0
  78. data/lib/telegram/bot/types/passport_element_error_file.rb +14 -0
  79. data/lib/telegram/bot/types/passport_element_error_files.rb +14 -0
  80. data/lib/telegram/bot/types/passport_element_error_front_side.rb +14 -0
  81. data/lib/telegram/bot/types/passport_element_error_reverse_side.rb +14 -0
  82. data/lib/telegram/bot/types/passport_element_error_selfie.rb +14 -0
  83. data/lib/telegram/bot/types/passport_element_error_translation_file.rb +14 -0
  84. data/lib/telegram/bot/types/passport_element_error_translation_files.rb +14 -0
  85. data/lib/telegram/bot/types/passport_element_error_unspecified.rb +14 -0
  86. data/lib/telegram/bot/types/passport_file.rb +14 -0
  87. data/lib/telegram/bot/types/photo_size.rb +3 -0
  88. data/lib/telegram/bot/types/poll.rb +23 -0
  89. data/lib/telegram/bot/types/poll_answer.rb +13 -0
  90. data/lib/telegram/bot/types/poll_option.rb +12 -0
  91. data/lib/telegram/bot/types/pre_checkout_query.rb +2 -0
  92. data/lib/telegram/bot/types/proximity_alert_triggered.rb +13 -0
  93. data/lib/telegram/bot/types/reply_keyboard_markup.rb +2 -0
  94. data/lib/telegram/bot/types/reply_keyboard_remove.rb +2 -0
  95. data/lib/telegram/bot/types/response.rb +94 -0
  96. data/lib/telegram/bot/types/shipping_address.rb +2 -0
  97. data/lib/telegram/bot/types/shipping_option.rb +2 -0
  98. data/lib/telegram/bot/types/shipping_query.rb +2 -0
  99. data/lib/telegram/bot/types/sticker.rb +6 -0
  100. data/lib/telegram/bot/types/sticker_set.rb +16 -0
  101. data/lib/telegram/bot/types/successful_payment.rb +2 -0
  102. data/lib/telegram/bot/types/update.rb +6 -0
  103. data/lib/telegram/bot/types/user.rb +6 -0
  104. data/lib/telegram/bot/types/user_profile_photos.rb +2 -0
  105. data/lib/telegram/bot/types/venue.rb +5 -0
  106. data/lib/telegram/bot/types/version.rb +3 -1
  107. data/lib/telegram/bot/types/video.rb +4 -0
  108. data/lib/telegram/bot/types/video_note.rb +3 -0
  109. data/lib/telegram/bot/types/voice.rb +3 -0
  110. data/lib/telegram/bot/types/voice_chat_ended.rb +11 -0
  111. data/lib/telegram/bot/types/voice_chat_participants_invited.rb +11 -0
  112. data/lib/telegram/bot/types/voice_chat_started.rb +10 -0
  113. data/lib/telegram/bot/types/webhook_info.rb +19 -0
  114. data/telegram-bot-types.gemspec +5 -4
  115. metadata +50 -26
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class InputMediaDocument < Base
7
+ attribute :type, String, default: 'document'
8
+ attribute :media, String
9
+ attribute :thumb, String
10
+ attribute :caption, String
11
+ attribute :parse_mode, String
12
+ attribute :caption_entities, [MessageEntity]
13
+ attribute :disable_content_type_detection, Boolean
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class InputMediaPhoto < Base
7
+ attribute :type, String, default: 'photo'
8
+ attribute :media, String
9
+ attribute :caption, String
10
+ attribute :parse_mode, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class InputMediaVideo < Base
7
+ attribute :type, String, default: 'video'
8
+ attribute :media, String
9
+ attribute :caption, String
10
+ attribute :parse_mode, String
11
+ attribute :width, Integer
12
+ attribute :height, Integer
13
+ attribute :duration, Integer
14
+ attribute :supports_streaming, Boolean
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -7,6 +9,9 @@ module Telegram
7
9
  attribute :title, String
8
10
  attribute :address, String
9
11
  attribute :foursquare_id, String
12
+ attribute :foursquare_type, String
13
+ attribute :google_place_id, String
14
+ attribute :google_place_type, String
10
15
  end
11
16
  end
12
17
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -5,6 +7,7 @@ module Telegram
5
7
  attribute :text, String
6
8
  attribute :request_contact, Boolean
7
9
  attribute :request_location, Boolean
10
+ attribute :request_poll, KeyboardButtonPollType
8
11
  end
9
12
  end
10
13
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class KeyboardButtonPollType < Base
7
+ attribute :type, String
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -1,9 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
4
6
  class Location < Base
5
7
  attribute :longitude, Float
6
8
  attribute :latitude, Float
9
+ attribute :horizontal_accuracy, Float
10
+ attribute :live_period, Integer
11
+ attribute :heading, Integer
12
+ attribute :proximity_alert_radius, Integer
7
13
  end
8
14
  end
9
15
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class LoginUrl < Base
7
+ attribute :url, String
8
+ attribute :forward_text, String
9
+ attribute :bot_username, String
10
+ attribute :request_write_access, Boolean
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class MaskPosition < Base
7
+ attribute :point, String
8
+ attribute :x_shift, Float
9
+ attribute :y_shift, Float
10
+ attribute :zoom, Float
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,21 +1,31 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
4
6
  class Message < Base
5
7
  attribute :message_id, Integer
6
8
  attribute :from, User
9
+ attribute :sender_chat, Chat
7
10
  attribute :date, Integer
8
11
  attribute :chat, Chat
9
12
  attribute :forward_from, User
10
13
  attribute :forward_from_chat, Chat
11
14
  attribute :forward_from_message_id, Integer
15
+ attribute :forward_signature, String
16
+ attribute :forward_sender_name, String
12
17
  attribute :forward_date, Integer
13
18
  attribute :reply_to_message, Message
19
+ attribute :via_bot, User
14
20
  attribute :edit_date, Integer
21
+ attribute :media_group_id, String
22
+ attribute :author_signature, String
15
23
  attribute :text, String
16
24
  attribute :entities, [MessageEntity]
25
+ attribute :caption_entities, [MessageEntity]
17
26
  attribute :audio, Audio
18
27
  attribute :document, Document
28
+ attribute :animation, Animation
19
29
  attribute :game, Game
20
30
  attribute :photo, [PhotoSize]
21
31
  attribute :sticker, Sticker
@@ -24,8 +34,10 @@ module Telegram
24
34
  attribute :video_note, VideoNote
25
35
  attribute :caption, String
26
36
  attribute :contact, Contact
37
+ attribute :dice, Dice
27
38
  attribute :location, Location
28
39
  attribute :venue, Venue
40
+ attribute :poll, Poll
29
41
  attribute :new_chat_members, [User]
30
42
  attribute :left_chat_member, User
31
43
  attribute :new_chat_title, String
@@ -34,11 +46,19 @@ module Telegram
34
46
  attribute :group_chat_created, Boolean
35
47
  attribute :supergroup_chat_created, Boolean
36
48
  attribute :channel_chat_created, Boolean
49
+ attribute :message_auto_delete_timer_changed, MessageAutoDeleteTimerChanged
37
50
  attribute :migrate_to_chat_id, Integer
38
51
  attribute :migrate_from_chat_id, Integer
39
52
  attribute :pinned_message, Message
40
53
  attribute :invoice, Invoice
41
54
  attribute :successful_payment, SuccessfulPayment
55
+ attribute :connected_website, String
56
+ attribute :passport_data, PassportData
57
+ attribute :proximity_alert_triggered, ProximityAlertTriggered
58
+ attribute :voice_chat_started, VoiceChatStarted
59
+ attribute :voice_chat_ended, VoiceChatEnded
60
+ attribute :voice_chat_participants_invited, VoiceChatParticipantsInvited
61
+ attribute :reply_markup, InlineKeyboardMarkup
42
62
 
43
63
  alias_method :to_s, :text
44
64
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class MessageAutoDeleteTimerChanged < Base
7
+ attribute :message_auto_delete_time, Integer
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -7,6 +9,7 @@ module Telegram
7
9
  attribute :length, Integer
8
10
  attribute :url, String
9
11
  attribute :user, User
12
+ attribute :language, String
10
13
  end
11
14
  end
12
15
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Telegram
2
4
  module Bot
3
5
  module Types
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportData < Base
7
+ attribute :data, [EncryptedPassportElement]
8
+ attribute :credentials, EncryptedCredentials
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorDataField < Base
7
+ attribute :source, String, default: 'data'
8
+ attribute :type, String
9
+ attribute :field_name, String
10
+ attribute :data_hash, String
11
+ attribute :message, String
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorFile < Base
7
+ attribute :source, String, default: 'file'
8
+ attribute :type, String
9
+ attribute :file_hash, String
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorFiles < Base
7
+ attribute :source, String, default: 'files'
8
+ attribute :type, String
9
+ attribute :file_hashes, [String]
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorFrontSide < Base
7
+ attribute :source, String, default: 'front_side'
8
+ attribute :type, String
9
+ attribute :file_hash, String
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorReverseSide < Base
7
+ attribute :source, String, default: 'reverse_side'
8
+ attribute :type, String
9
+ attribute :file_hash, String
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorSelfie < Base
7
+ attribute :source, String, default: 'selfie'
8
+ attribute :type, String
9
+ attribute :file_hash, String
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorTranslationFile < Base
7
+ attribute :source, String, default: 'translation_file'
8
+ attribute :type, String
9
+ attribute :file_hash, String
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorTranslationFiles < Base
7
+ attribute :source, String, default: 'translation_files'
8
+ attribute :type, String
9
+ attribute :file_hashes, [String]
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportElementErrorUnspecified < Base
7
+ attribute :source, String, default: 'unspecified'
8
+ attribute :type, String
9
+ attribute :element_hash, String
10
+ attribute :message, String
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telegram
4
+ module Bot
5
+ module Types
6
+ class PassportFile < Base
7
+ attribute :file_id, String
8
+ attribute :file_unique_id, String
9
+ attribute :file_size, Integer
10
+ attribute :file_date, Integer
11
+ end
12
+ end
13
+ end
14
+ end