telegram-bot-ruby 0.10.0 → 0.14.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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -1
  3. data/CHANGELOG.md +22 -0
  4. data/lib/telegram/bot/api.rb +3 -1
  5. data/lib/telegram/bot/client.rb +2 -2
  6. data/lib/telegram/bot/types.rb +7 -0
  7. data/lib/telegram/bot/types/animation.rb +4 -0
  8. data/lib/telegram/bot/types/audio.rb +2 -0
  9. data/lib/telegram/bot/types/chat.rb +4 -0
  10. data/lib/telegram/bot/types/chat_location.rb +10 -0
  11. data/lib/telegram/bot/types/chat_member.rb +7 -4
  12. data/lib/telegram/bot/types/chat_permissions.rb +16 -0
  13. data/lib/telegram/bot/types/chat_photo.rb +2 -0
  14. data/lib/telegram/bot/types/dice.rb +10 -0
  15. data/lib/telegram/bot/types/document.rb +1 -0
  16. data/lib/telegram/bot/types/file.rb +1 -0
  17. data/lib/telegram/bot/types/inline_query_result_audio.rb +1 -0
  18. data/lib/telegram/bot/types/inline_query_result_cached_audio.rb +1 -0
  19. data/lib/telegram/bot/types/inline_query_result_cached_document.rb +1 -0
  20. data/lib/telegram/bot/types/inline_query_result_cached_gif.rb +1 -0
  21. data/lib/telegram/bot/types/inline_query_result_cached_mpeg4_gif.rb +1 -0
  22. data/lib/telegram/bot/types/inline_query_result_cached_photo.rb +1 -0
  23. data/lib/telegram/bot/types/inline_query_result_cached_video.rb +1 -0
  24. data/lib/telegram/bot/types/inline_query_result_cached_voice.rb +1 -0
  25. data/lib/telegram/bot/types/inline_query_result_document.rb +1 -0
  26. data/lib/telegram/bot/types/inline_query_result_gif.rb +1 -0
  27. data/lib/telegram/bot/types/inline_query_result_location.rb +4 -0
  28. data/lib/telegram/bot/types/inline_query_result_mpeg4_gif.rb +2 -0
  29. data/lib/telegram/bot/types/inline_query_result_photo.rb +1 -0
  30. data/lib/telegram/bot/types/inline_query_result_venue.rb +2 -0
  31. data/lib/telegram/bot/types/inline_query_result_video.rb +1 -0
  32. data/lib/telegram/bot/types/inline_query_result_voice.rb +1 -0
  33. data/lib/telegram/bot/types/input_location_message_content.rb +4 -0
  34. data/lib/telegram/bot/types/input_media_document.rb +2 -0
  35. data/lib/telegram/bot/types/input_media_photo.rb +1 -0
  36. data/lib/telegram/bot/types/input_media_video.rb +1 -0
  37. data/lib/telegram/bot/types/input_venue_message_content.rb +2 -0
  38. data/lib/telegram/bot/types/keyboard_button.rb +1 -0
  39. data/lib/telegram/bot/types/keyboard_button_poll_type.rb +9 -0
  40. data/lib/telegram/bot/types/location.rb +4 -0
  41. data/lib/telegram/bot/types/message.rb +4 -0
  42. data/lib/telegram/bot/types/message_entity.rb +1 -0
  43. data/lib/telegram/bot/types/passport_file.rb +1 -0
  44. data/lib/telegram/bot/types/photo_size.rb +1 -0
  45. data/lib/telegram/bot/types/poll.rb +9 -0
  46. data/lib/telegram/bot/types/poll_answer.rb +11 -0
  47. data/lib/telegram/bot/types/proximity_alert_triggered.rb +11 -0
  48. data/lib/telegram/bot/types/sticker.rb +2 -0
  49. data/lib/telegram/bot/types/sticker_set.rb +2 -0
  50. data/lib/telegram/bot/types/update.rb +1 -0
  51. data/lib/telegram/bot/types/user.rb +3 -0
  52. data/lib/telegram/bot/types/venue.rb +2 -0
  53. data/lib/telegram/bot/types/video.rb +2 -0
  54. data/lib/telegram/bot/types/video_note.rb +1 -0
  55. data/lib/telegram/bot/types/voice.rb +1 -0
  56. data/lib/telegram/bot/types/webhook_info.rb +17 -0
  57. data/lib/telegram/bot/version.rb +1 -1
  58. data/telegram-bot-ruby.gemspec +1 -1
  59. metadata +12 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10b08d6e4ab8db2fcd52c26a0bc871a6b6556c66a679975b0cb0c2aff2ec3ec0
4
- data.tar.gz: 71a79a882580cafbfbfff67a1452056d7c408bf1f8c0b63c10e3059699bd2757
3
+ metadata.gz: a0ba0d92965d18c16f771efe9627014c8eed215ed5df52ffd42941fcb6fe9aac
4
+ data.tar.gz: 6d6878ef985d34e14277c682c793477e4a9bd8feabce322c5a14017de1364ed9
5
5
  SHA512:
6
- metadata.gz: 7e8254cb8c082dc59d841245f96de36bc970b28576a484f30382b3098852429442b766c952732485f81cf8f5418d6a3297b2264a7cbafba79712b3d56932df87
7
- data.tar.gz: db7a9f37980757f080a944265ea14f25ec38cbb062df350aad4698ee173893ce95a493bbcd2e74db391f3f08a6b013393b85b2e9f6e46247785ec110df2f5308
6
+ metadata.gz: 6242afc917fb38d18f24b7ceeb27224464ffc8e71acc17aecf03296368f07c9a56b05e4b7d0b8d3a8c27ccab978fe544017dece71fcb4087154e37ce09d39f35
7
+ data.tar.gz: 7807d1b0f930714927c26f1295cbaecedd3a51f0342e50abcb2aff09aa4da56086609bb2ac18235a1084aef023936e06975368a8a4f7d2a2580d7bdcb5f49cb2
@@ -1,6 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.3.0
3
+ - 2.6.5
4
+ - 2.7.0
4
5
  script:
5
6
  - bundle exec rubocop
6
7
  - bundle exec rspec
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.14.0
4
+
5
+ - Implement [Bot API 5.0](https://core.telegram.org/bots/api#november-4-2020)
6
+
7
+ ## 0.13.0
8
+
9
+ - Implement [Bot API 4.9](https://core.telegram.org/bots/api-changelog#june-4-2020)
10
+ - Implement [Bot API 4.8](https://core.telegram.org/bots/api-changelog#april-24-2020)
11
+ - Implement [Bot API 4.7](https://core.telegram.org/bots/api-changelog#march-30-2020)
12
+
13
+ ## 0.12.0
14
+
15
+ - Implement [Bot API 4.5](https://core.telegram.org/bots/api-changelog#december-31-2019) and [Bot API 4.6](https://core.telegram.org/bots/api-changelog#january-23-2020)
16
+
17
+ ## 0.11.0
18
+
19
+ - Implement [Bot API 4.4](https://core.telegram.org/bots/api#july-29-2019)
20
+
21
+ ## 0.10.1
22
+
23
+ - Fix issue #202 with `Poll` messages and logging
24
+
3
25
  ## 0.10.0
4
26
 
5
27
  - Implement [Bot API 4.3](https://core.telegram.org/bots/api#may-31-2019)
@@ -17,7 +17,9 @@ module Telegram
17
17
  setStickerPositionInSet deleteStickerFromSet answerInlineQuery
18
18
  sendInvoice answerShippingQuery answerPreCheckoutQuery
19
19
  sendGame setGameScore getGameHighScores setPassportDataErrors
20
- editMessageMedia sendAnimation sendPoll stopPoll
20
+ editMessageMedia sendAnimation sendPoll stopPoll setChatPermissions
21
+ setChatAdministratorCustomTitle sendDice getMyCommands setMyCommands
22
+ setStickerSetThumb logOut close copyMessage
21
23
  ).freeze
22
24
  REPLY_MARKUP_TYPES = [
23
25
  Telegram::Bot::Types::ReplyKeyboardMarkup,
@@ -37,7 +37,7 @@ module Telegram
37
37
  log_incoming_message(message)
38
38
  yield message
39
39
  end
40
- rescue Faraday::Error::TimeoutError
40
+ rescue Faraday::TimeoutError
41
41
  retry
42
42
  end
43
43
 
@@ -53,7 +53,7 @@ module Telegram
53
53
  end
54
54
 
55
55
  def log_incoming_message(message)
56
- uid = message.from ? message.from.id : nil
56
+ uid = message.respond_to?(:from) && message.from ? message.from.id : nil
57
57
  logger.info(
58
58
  format('Incoming message: text="%s" uid=%s', message, uid)
59
59
  )
@@ -11,8 +11,10 @@ require 'telegram/bot/types/video'
11
11
  require 'telegram/bot/types/voice'
12
12
  require 'telegram/bot/types/video_note'
13
13
  require 'telegram/bot/types/contact'
14
+ require 'telegram/bot/types/dice'
14
15
  require 'telegram/bot/types/location'
15
16
  require 'telegram/bot/types/chat_photo'
17
+ require 'telegram/bot/types/chat_permissions'
16
18
  require 'telegram/bot/types/chat'
17
19
  require 'telegram/bot/types/message_entity'
18
20
  require 'telegram/bot/types/venue'
@@ -25,6 +27,7 @@ require 'telegram/bot/types/shipping_address'
25
27
  require 'telegram/bot/types/order_info'
26
28
  require 'telegram/bot/types/successful_payment'
27
29
  require 'telegram/bot/types/poll_option'
30
+ require 'telegram/bot/types/poll_answer'
28
31
  require 'telegram/bot/types/poll'
29
32
  require 'telegram/bot/types/passport_file'
30
33
  require 'telegram/bot/types/encrypted_passport_element'
@@ -69,11 +72,13 @@ require 'telegram/bot/types/inline_query_result_venue'
69
72
  require 'telegram/bot/types/inline_query_result_video'
70
73
  require 'telegram/bot/types/inline_query_result_voice'
71
74
  require 'telegram/bot/types/chosen_inline_result'
75
+ require 'telegram/bot/types/proximity_alert_triggered'
72
76
  require 'telegram/bot/types/message'
73
77
  require 'telegram/bot/types/callback_query'
74
78
  require 'telegram/bot/types/shipping_query'
75
79
  require 'telegram/bot/types/pre_checkout_query'
76
80
  require 'telegram/bot/types/update'
81
+ require 'telegram/bot/types/keyboard_button_poll_type'
77
82
  require 'telegram/bot/types/keyboard_button'
78
83
  require 'telegram/bot/types/reply_keyboard_markup'
79
84
  require 'telegram/bot/types/reply_keyboard_remove'
@@ -88,5 +93,7 @@ require 'telegram/bot/types/input_media_video'
88
93
  require 'telegram/bot/types/input_media_animation'
89
94
  require 'telegram/bot/types/input_media_audio'
90
95
  require 'telegram/bot/types/input_media_document'
96
+ require 'telegram/bot/types/webhook_info'
97
+ require 'telegram/bot/types/chat_location'
91
98
 
92
99
  Virtus.finalize
@@ -3,6 +3,10 @@ module Telegram
3
3
  module Types
4
4
  class Animation < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
7
+ attribute :width, Integer
8
+ attribute :height, Integer
9
+ attribute :duration, Integer
6
10
  attribute :thumb, PhotoSize
7
11
  attribute :file_name, String
8
12
  attribute :mime_type, String
@@ -3,9 +3,11 @@ module Telegram
3
3
  module Types
4
4
  class Audio < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :duration, Integer
7
8
  attribute :performer, String
8
9
  attribute :title, String
10
+ attribute :file_name, String
9
11
  attribute :mime_type, String
10
12
  attribute :file_size, Integer
11
13
  attribute :thumb, PhotoSize
@@ -16,6 +16,10 @@ module Telegram
16
16
  attribute :description, String
17
17
  attribute :invite_link, String
18
18
  attribute :pinned_message, 'Telegram::Bot::Types::Message'
19
+ attribute :permissions, ChatPermissions
20
+ attribute :slow_mode_delay, Integer
21
+ attribute :sticker_set_name, String
22
+ attribute :can_set_sticker_set, Boolean
19
23
  end
20
24
  end
21
25
  end
@@ -0,0 +1,10 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class ChatLocation < Base
5
+ attribute :location, Location
6
+ attribute :address, String
7
+ end
8
+ end
9
+ end
10
+ end
@@ -4,21 +4,24 @@ module Telegram
4
4
  class ChatMember < Base
5
5
  attribute :user, User
6
6
  attribute :status, String
7
- attribute :until_date, Integer
7
+ attribute :custom_title, String
8
+ attribute :is_anonymous, Boolean
8
9
  attribute :can_be_edited, Boolean
9
- attribute :can_change_info, Boolean
10
10
  attribute :can_post_messages, Boolean
11
11
  attribute :can_edit_messages, Boolean
12
12
  attribute :can_delete_messages, Boolean
13
- attribute :can_invite_users, Boolean
14
13
  attribute :can_restrict_members, Boolean
15
- attribute :can_pin_messages, Boolean
16
14
  attribute :can_promote_members, Boolean
15
+ attribute :can_change_info, Boolean
16
+ attribute :can_invite_users, Boolean
17
+ attribute :can_pin_messages, Boolean
17
18
  attribute :is_member, Boolean
18
19
  attribute :can_send_messages, Boolean
19
20
  attribute :can_send_media_messages, Boolean
21
+ attribute :can_send_polls, Boolean
20
22
  attribute :can_send_other_messages, Boolean
21
23
  attribute :can_add_web_page_previews, Boolean
24
+ attribute :until_date, Integer
22
25
  end
23
26
  end
24
27
  end
@@ -0,0 +1,16 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class ChatPermissions < Base
5
+ attribute :can_send_messages, Boolean
6
+ attribute :can_send_media_messages, Boolean
7
+ attribute :can_send_polls, Boolean
8
+ attribute :can_send_other_messages, Boolean
9
+ attribute :can_add_web_page_previews, Boolean
10
+ attribute :can_change_info, Boolean
11
+ attribute :can_invite_users, Boolean
12
+ attribute :can_pin_messages, Boolean
13
+ end
14
+ end
15
+ end
16
+ end
@@ -3,7 +3,9 @@ module Telegram
3
3
  module Types
4
4
  class ChatPhoto < Base
5
5
  attribute :small_file_id, String
6
+ attribute :small_file_unique_id, String
6
7
  attribute :big_file_id, String
8
+ attribute :big_file_unique_id, String
7
9
  end
8
10
  end
9
11
  end
@@ -0,0 +1,10 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class Dice < Base
5
+ attribute :emoji, String
6
+ attribute :value, Integer
7
+ end
8
+ end
9
+ end
10
+ end
@@ -3,6 +3,7 @@ module Telegram
3
3
  module Types
4
4
  class Document < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :thumb, PhotoSize
7
8
  attribute :file_name, String
8
9
  attribute :mime_type, String
@@ -3,6 +3,7 @@ module Telegram
3
3
  module Types
4
4
  class File < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :file_size, Integer
7
8
  attribute :file_path, String
8
9
  end
@@ -7,6 +7,7 @@ module Telegram
7
7
  attribute :audio_url, String
8
8
  attribute :title, String
9
9
  attribute :caption, String
10
+ attribute :parse_mode, String
10
11
  attribute :performer, String
11
12
  attribute :audio_duration, Integer
12
13
  attribute :reply_markup, InlineKeyboardMarkup
@@ -6,6 +6,7 @@ module Telegram
6
6
  attribute :id, String
7
7
  attribute :audio_file_id, String
8
8
  attribute :caption, String
9
+ attribute :parse_mode, String
9
10
  attribute :reply_markup, InlineKeyboardMarkup
10
11
  attribute :input_message_content, InputMessageContent
11
12
  end
@@ -8,6 +8,7 @@ module Telegram
8
8
  attribute :document_file_id, String
9
9
  attribute :description, String
10
10
  attribute :caption, String
11
+ attribute :parse_mode, String
11
12
  attribute :reply_markup, InlineKeyboardMarkup
12
13
  attribute :input_message_content, InputMessageContent
13
14
  end
@@ -7,6 +7,7 @@ module Telegram
7
7
  attribute :gif_file_id, String
8
8
  attribute :title, String
9
9
  attribute :caption, String
10
+ attribute :parse_mode, String
10
11
  attribute :reply_markup, InlineKeyboardMarkup
11
12
  attribute :input_message_content, InputMessageContent
12
13
  end
@@ -7,6 +7,7 @@ module Telegram
7
7
  attribute :mpeg4_file_id, String
8
8
  attribute :title, String
9
9
  attribute :caption, String
10
+ attribute :parse_mode, String
10
11
  attribute :reply_markup, InlineKeyboardMarkup
11
12
  attribute :input_message_content, InputMessageContent
12
13
  end
@@ -8,6 +8,7 @@ module Telegram
8
8
  attribute :title, String
9
9
  attribute :description, String
10
10
  attribute :caption, String
11
+ attribute :parse_mode, String
11
12
  attribute :reply_markup, InlineKeyboardMarkup
12
13
  attribute :input_message_content, InputMessageContent
13
14
  end
@@ -8,6 +8,7 @@ module Telegram
8
8
  attribute :title, String
9
9
  attribute :description, String
10
10
  attribute :caption, String
11
+ attribute :parse_mode, String
11
12
  attribute :reply_markup, InlineKeyboardMarkup
12
13
  attribute :input_message_content, InputMessageContent
13
14
  end
@@ -7,6 +7,7 @@ module Telegram
7
7
  attribute :voice_file_id, String
8
8
  attribute :title, String
9
9
  attribute :caption, String
10
+ attribute :parse_mode, String
10
11
  attribute :reply_markup, InlineKeyboardMarkup
11
12
  attribute :input_message_content, InputMessageContent
12
13
  end
@@ -6,6 +6,7 @@ module Telegram
6
6
  attribute :id, String
7
7
  attribute :title, String
8
8
  attribute :caption, String
9
+ attribute :parse_mode, String
9
10
  attribute :document_url, String
10
11
  attribute :mime_type, String
11
12
  attribute :description, String
@@ -9,6 +9,7 @@ module Telegram
9
9
  attribute :gif_height, Integer
10
10
  attribute :gif_duration, Integer
11
11
  attribute :thumb_url, String
12
+ attribute :thumb_mime_type, String
12
13
  attribute :title, String
13
14
  attribute :caption, String
14
15
  attribute :reply_markup, InlineKeyboardMarkup
@@ -7,6 +7,10 @@ module Telegram
7
7
  attribute :latitude, Float
8
8
  attribute :longitude, Float
9
9
  attribute :title, String
10
+ attribute :horizontal_accuracy, Float
11
+ attribute :live_period, Integer
12
+ attribute :heading, Integer
13
+ attribute :proximity_alert_radius, Integer
10
14
  attribute :reply_markup, InlineKeyboardMarkup
11
15
  attribute :input_message_content, InputMessageContent
12
16
  attribute :thumb_url, String
@@ -9,8 +9,10 @@ module Telegram
9
9
  attribute :mpeg4_height, Integer
10
10
  attribute :mpeg4_duration, Integer
11
11
  attribute :thumb_url, String
12
+ attribute :thumb_mime_type, String
12
13
  attribute :title, String
13
14
  attribute :caption, String
15
+ attribute :parse_mode, String
14
16
  attribute :reply_markup, InlineKeyboardMarkup
15
17
  attribute :input_message_content, InputMessageContent
16
18
  end
@@ -11,6 +11,7 @@ module Telegram
11
11
  attribute :title, String
12
12
  attribute :description, String
13
13
  attribute :caption, String
14
+ attribute :parse_mode, String
14
15
  attribute :reply_markup, InlineKeyboardMarkup
15
16
  attribute :input_message_content, InputMessageContent
16
17
  end
@@ -10,6 +10,8 @@ module Telegram
10
10
  attribute :address, String
11
11
  attribute :foursquare_id, String
12
12
  attribute :foursquare_type, String
13
+ attribute :google_place_id, String
14
+ attribute :google_place_type, String
13
15
  attribute :reply_markup, InlineKeyboardMarkup
14
16
  attribute :input_message_content, InputMessageContent
15
17
  attribute :thumb_url, String
@@ -9,6 +9,7 @@ module Telegram
9
9
  attribute :thumb_url, String
10
10
  attribute :title, String
11
11
  attribute :caption, String
12
+ attribute :parse_mode, String
12
13
  attribute :video_width, Integer
13
14
  attribute :video_height, Integer
14
15
  attribute :video_duration, Integer
@@ -7,6 +7,7 @@ module Telegram
7
7
  attribute :voice_url, String
8
8
  attribute :title, String
9
9
  attribute :caption, String
10
+ attribute :parse_mode, String
10
11
  attribute :voice_duration, Integer
11
12
  attribute :reply_markup, InlineKeyboardMarkup
12
13
  attribute :input_message_content, InputMessageContent
@@ -4,6 +4,10 @@ module Telegram
4
4
  class InputLocationMessageContent < InputMessageContent
5
5
  attribute :latitude, Float
6
6
  attribute :longitude, Float
7
+ attribute :horizontal_accuracy, Float
8
+ attribute :live_period, Integer
9
+ attribute :heading, Integer
10
+ attribute :proximity_alert_radius, Integer
7
11
  end
8
12
  end
9
13
  end
@@ -7,6 +7,8 @@ module Telegram
7
7
  attribute :thumb, String
8
8
  attribute :caption, String
9
9
  attribute :parse_mode, String
10
+ attribute :caption_entities, Array[MessageEntity]
11
+ attribute :disable_content_type_detection, Boolean
10
12
  end
11
13
  end
12
14
  end
@@ -5,6 +5,7 @@ module Telegram
5
5
  attribute :type, String, default: 'photo'
6
6
  attribute :media, String
7
7
  attribute :caption, String
8
+ attribute :parse_mode, String
8
9
  end
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Telegram
5
5
  attribute :type, String, default: 'video'
6
6
  attribute :media, String
7
7
  attribute :caption, String
8
+ attribute :parse_mode, String
8
9
  attribute :width, Integer
9
10
  attribute :height, Integer
10
11
  attribute :duration, Integer
@@ -8,6 +8,8 @@ module Telegram
8
8
  attribute :address, String
9
9
  attribute :foursquare_id, String
10
10
  attribute :foursquare_type, String
11
+ attribute :google_place_id, String
12
+ attribute :google_place_type, String
11
13
  end
12
14
  end
13
15
  end
@@ -5,6 +5,7 @@ module Telegram
5
5
  attribute :text, String
6
6
  attribute :request_contact, Boolean
7
7
  attribute :request_location, Boolean
8
+ attribute :request_poll, KeyboardButtonPollType
8
9
  end
9
10
  end
10
11
  end
@@ -0,0 +1,9 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class KeyboardButtonPollType < Base
5
+ attribute :type, String
6
+ end
7
+ end
8
+ end
9
+ end
@@ -4,6 +4,10 @@ module Telegram
4
4
  class Location < Base
5
5
  attribute :longitude, Float
6
6
  attribute :latitude, Float
7
+ attribute :horizontal_accuracy, Float
8
+ attribute :live_period, Integer
9
+ attribute :heading, Integer
10
+ attribute :proximity_alert_radius, Integer
7
11
  end
8
12
  end
9
13
  end
@@ -4,6 +4,7 @@ module Telegram
4
4
  class Message < Base
5
5
  attribute :message_id, Integer
6
6
  attribute :from, User
7
+ attribute :sender_chat, Chat
7
8
  attribute :date, Integer
8
9
  attribute :chat, Chat
9
10
  attribute :forward_from, User
@@ -13,6 +14,7 @@ module Telegram
13
14
  attribute :forward_sender_name, String
14
15
  attribute :forward_date, Integer
15
16
  attribute :reply_to_message, Message
17
+ attribute :via_bot, User
16
18
  attribute :edit_date, Integer
17
19
  attribute :media_group_id, String
18
20
  attribute :author_signature, String
@@ -30,6 +32,7 @@ module Telegram
30
32
  attribute :video_note, VideoNote
31
33
  attribute :caption, String
32
34
  attribute :contact, Contact
35
+ attribute :dice, Dice
33
36
  attribute :location, Location
34
37
  attribute :venue, Venue
35
38
  attribute :poll, Poll
@@ -48,6 +51,7 @@ module Telegram
48
51
  attribute :successful_payment, SuccessfulPayment
49
52
  attribute :connected_website, String
50
53
  attribute :passport_data, PassportData
54
+ attribute :proximity_alert_triggered, ProximityAlertTriggered
51
55
  attribute :reply_markup, InlineKeyboardMarkup
52
56
 
53
57
  alias to_s text
@@ -7,6 +7,7 @@ module Telegram
7
7
  attribute :length, Integer
8
8
  attribute :url, String
9
9
  attribute :user, User
10
+ attribute :language, String
10
11
  end
11
12
  end
12
13
  end
@@ -3,6 +3,7 @@ module Telegram
3
3
  module Types
4
4
  class PassportFile < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :file_size, Integer
7
8
  attribute :file_date, Integer
8
9
  end
@@ -3,6 +3,7 @@ module Telegram
3
3
  module Types
4
4
  class PhotoSize < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :width, Integer
7
8
  attribute :height, Integer
8
9
  attribute :file_size, Integer
@@ -5,7 +5,16 @@ module Telegram
5
5
  attribute :id, String
6
6
  attribute :question, String
7
7
  attribute :options, Array[PollOption]
8
+ attribute :total_voter_count, Integer
8
9
  attribute :is_closed, Boolean
10
+ attribute :is_anonymous, Boolean
11
+ attribute :type, String
12
+ attribute :allows_multiple_answers, Boolean
13
+ attribute :correct_option_id, Integer
14
+ attribute :explanation, String
15
+ attribute :explanation_entities, Array[MessageEntity]
16
+ attribute :open_period, Integer
17
+ attribute :close_date, Integer
9
18
  end
10
19
  end
11
20
  end
@@ -0,0 +1,11 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class PollAnswer < Base
5
+ attribute :poll_id, String
6
+ attribute :user, User
7
+ attribute :option_ids, Array[Integer]
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class ProximityAlertTriggered < Base
5
+ attribute :traveler, User
6
+ attribute :watcher, User
7
+ attribute :distance, Integer
8
+ end
9
+ end
10
+ end
11
+ end
@@ -3,8 +3,10 @@ module Telegram
3
3
  module Types
4
4
  class Sticker < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :width, Integer
7
8
  attribute :height, Integer
9
+ attribute :is_animated, Boolean
8
10
  attribute :thumb, PhotoSize
9
11
  attribute :emoji, String
10
12
  attribute :set_name, String
@@ -4,8 +4,10 @@ module Telegram
4
4
  class StickerSet < Base
5
5
  attribute :name, String
6
6
  attribute :title, String
7
+ attribute :is_animated, Boolean
7
8
  attribute :contains_masks, Boolean
8
9
  attribute :stickers, Array[Sticker]
10
+ attribute :thumb, PhotoSize
9
11
  end
10
12
  end
11
13
  end
@@ -13,6 +13,7 @@ module Telegram
13
13
  attribute :shipping_query, ShippingQuery
14
14
  attribute :pre_checkout_query, PreCheckoutQuery
15
15
  attribute :poll, Poll
16
+ attribute :poll_answer, PollAnswer
16
17
 
17
18
  def current_message
18
19
  @current_message ||=
@@ -8,6 +8,9 @@ module Telegram
8
8
  attribute :last_name, String
9
9
  attribute :username, String
10
10
  attribute :language_code, String
11
+ attribute :can_join_groups, Boolean
12
+ attribute :can_read_all_group_messages, Boolean
13
+ attribute :supports_inline_queries, Boolean
11
14
  end
12
15
  end
13
16
  end
@@ -7,6 +7,8 @@ module Telegram
7
7
  attribute :address, String
8
8
  attribute :foursquare_id, String
9
9
  attribute :foursquare_type, String
10
+ attribute :google_place_id, String
11
+ attribute :google_place_type, String
10
12
  end
11
13
  end
12
14
  end
@@ -3,10 +3,12 @@ module Telegram
3
3
  module Types
4
4
  class Video < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :width, Integer
7
8
  attribute :height, Integer
8
9
  attribute :duration, Integer
9
10
  attribute :thumb, PhotoSize
11
+ attribute :file_name, String
10
12
  attribute :mime_type, String
11
13
  attribute :file_size, Integer
12
14
  end
@@ -3,6 +3,7 @@ module Telegram
3
3
  module Types
4
4
  class VideoNote < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :length, Integer
7
8
  attribute :duration, Integer
8
9
  attribute :thumb, PhotoSize
@@ -3,6 +3,7 @@ module Telegram
3
3
  module Types
4
4
  class Voice < Base
5
5
  attribute :file_id, String
6
+ attribute :file_unique_id, String
6
7
  attribute :duration, Integer
7
8
  attribute :mime_type, String
8
9
  attribute :file_size, Integer
@@ -0,0 +1,17 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class WebhookInfo < Base
5
+ attribute :url, String
6
+ attribute :has_custom_certificate, Boolean
7
+ attribute :pending_update_count, Integer
8
+ attribute :ip_address, String
9
+ attribute :last_error_date, Integer
10
+ attribute :last_error_message, String
11
+ attribute :max_connections, String
12
+ attribute :max_connections, Integer
13
+ attribute :allowed_updates, Array[String]
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  module Telegram
2
2
  module Bot
3
- VERSION = '0.10.0'.freeze
3
+ VERSION = '0.14.0'.freeze
4
4
  end
5
5
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'virtus'
22
22
  spec.add_dependency 'inflecto'
23
23
 
24
- spec.add_development_dependency 'rake', '~> 10.0'
24
+ spec.add_development_dependency 'rake', '~> 13.0'
25
25
  spec.add_development_dependency 'pry'
26
26
  spec.add_development_dependency 'rubocop', '~> 0.48.1'
27
27
  spec.add_development_dependency 'rspec', '~> 3.4'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telegram-bot-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Tipugin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-01 00:00:00.000000000 Z
11
+ date: 2020-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '13.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -157,11 +157,14 @@ files:
157
157
  - lib/telegram/bot/types/callback_game.rb
158
158
  - lib/telegram/bot/types/callback_query.rb
159
159
  - lib/telegram/bot/types/chat.rb
160
+ - lib/telegram/bot/types/chat_location.rb
160
161
  - lib/telegram/bot/types/chat_member.rb
162
+ - lib/telegram/bot/types/chat_permissions.rb
161
163
  - lib/telegram/bot/types/chat_photo.rb
162
164
  - lib/telegram/bot/types/chosen_inline_result.rb
163
165
  - lib/telegram/bot/types/compactable.rb
164
166
  - lib/telegram/bot/types/contact.rb
167
+ - lib/telegram/bot/types/dice.rb
165
168
  - lib/telegram/bot/types/document.rb
166
169
  - lib/telegram/bot/types/encrypted_credentials.rb
167
170
  - lib/telegram/bot/types/encrypted_passport_element.rb
@@ -204,6 +207,7 @@ files:
204
207
  - lib/telegram/bot/types/input_venue_message_content.rb
205
208
  - lib/telegram/bot/types/invoice.rb
206
209
  - lib/telegram/bot/types/keyboard_button.rb
210
+ - lib/telegram/bot/types/keyboard_button_poll_type.rb
207
211
  - lib/telegram/bot/types/labeled_price.rb
208
212
  - lib/telegram/bot/types/location.rb
209
213
  - lib/telegram/bot/types/login_url.rb
@@ -224,8 +228,10 @@ files:
224
228
  - lib/telegram/bot/types/passport_file.rb
225
229
  - lib/telegram/bot/types/photo_size.rb
226
230
  - lib/telegram/bot/types/poll.rb
231
+ - lib/telegram/bot/types/poll_answer.rb
227
232
  - lib/telegram/bot/types/poll_option.rb
228
233
  - lib/telegram/bot/types/pre_checkout_query.rb
234
+ - lib/telegram/bot/types/proximity_alert_triggered.rb
229
235
  - lib/telegram/bot/types/reply_keyboard_markup.rb
230
236
  - lib/telegram/bot/types/reply_keyboard_remove.rb
231
237
  - lib/telegram/bot/types/shipping_address.rb
@@ -241,6 +247,7 @@ files:
241
247
  - lib/telegram/bot/types/video.rb
242
248
  - lib/telegram/bot/types/video_note.rb
243
249
  - lib/telegram/bot/types/voice.rb
250
+ - lib/telegram/bot/types/webhook_info.rb
244
251
  - lib/telegram/bot/version.rb
245
252
  - telegram-bot-ruby.gemspec
246
253
  homepage: https://github.com/atipugin/telegram-bot
@@ -261,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
268
  - !ruby/object:Gem::Version
262
269
  version: '0'
263
270
  requirements: []
264
- rubygems_version: 3.0.3
271
+ rubygems_version: 3.1.4
265
272
  signing_key:
266
273
  specification_version: 4
267
274
  summary: Ruby wrapper for Telegram's Bot API