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.
- checksums.yaml +5 -5
- data/.rubocop.yml +11 -1
- data/.travis.yml +1 -1
- data/CHANGELOG.md +22 -0
- data/Gemfile +2 -0
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/bin/install_git_hooks +2 -1
- data/lib/telegram/bot/types.rb +19 -70
- data/lib/telegram/bot/types/animation.rb +6 -0
- data/lib/telegram/bot/types/audio.rb +5 -0
- data/lib/telegram/bot/types/base.rb +6 -0
- data/lib/telegram/bot/types/callback_game.rb +2 -0
- data/lib/telegram/bot/types/callback_query.rb +2 -0
- data/lib/telegram/bot/types/chat.rb +10 -0
- data/lib/telegram/bot/types/chat_invite_link.rb +16 -0
- data/lib/telegram/bot/types/chat_location.rb +12 -0
- data/lib/telegram/bot/types/chat_member.rb +22 -0
- data/lib/telegram/bot/types/chat_member_updated.rb +16 -0
- data/lib/telegram/bot/types/chat_permissions.rb +18 -0
- data/lib/telegram/bot/types/chat_photo.rb +14 -0
- data/lib/telegram/bot/types/chosen_inline_result.rb +2 -0
- data/lib/telegram/bot/types/contact.rb +3 -0
- data/lib/telegram/bot/types/dice.rb +12 -0
- data/lib/telegram/bot/types/document.rb +3 -0
- data/lib/telegram/bot/types/encrypted_credentials.rb +13 -0
- data/lib/telegram/bot/types/encrypted_passport_element.rb +20 -0
- data/lib/telegram/bot/types/file.rb +3 -0
- data/lib/telegram/bot/types/force_reply.rb +2 -0
- data/lib/telegram/bot/types/game.rb +2 -0
- data/lib/telegram/bot/types/game_high_score.rb +2 -0
- data/lib/telegram/bot/types/inline_keyboard_button.rb +3 -0
- data/lib/telegram/bot/types/inline_keyboard_markup.rb +2 -0
- data/lib/telegram/bot/types/inline_query.rb +2 -0
- data/lib/telegram/bot/types/inline_query_result_article.rb +2 -0
- data/lib/telegram/bot/types/inline_query_result_audio.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_cached_audio.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_cached_document.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_cached_gif.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_cached_mpeg4_gif.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_cached_photo.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_cached_sticker.rb +2 -0
- data/lib/telegram/bot/types/inline_query_result_cached_video.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_cached_voice.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_contact.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_document.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_game.rb +2 -0
- data/lib/telegram/bot/types/inline_query_result_gif.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_location.rb +6 -0
- data/lib/telegram/bot/types/inline_query_result_mpeg4_gif.rb +4 -0
- data/lib/telegram/bot/types/inline_query_result_photo.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_venue.rb +5 -0
- data/lib/telegram/bot/types/inline_query_result_video.rb +3 -0
- data/lib/telegram/bot/types/inline_query_result_voice.rb +3 -0
- data/lib/telegram/bot/types/input_contact_message_content.rb +3 -0
- data/lib/telegram/bot/types/input_location_message_content.rb +6 -0
- data/lib/telegram/bot/types/input_media_animation.rb +18 -0
- data/lib/telegram/bot/types/input_media_audio.rb +18 -0
- data/lib/telegram/bot/types/input_media_document.rb +17 -0
- data/lib/telegram/bot/types/input_media_photo.rb +14 -0
- data/lib/telegram/bot/types/input_media_video.rb +18 -0
- data/lib/telegram/bot/types/input_message_content.rb +2 -0
- data/lib/telegram/bot/types/input_text_message_content.rb +2 -0
- data/lib/telegram/bot/types/input_venue_message_content.rb +5 -0
- data/lib/telegram/bot/types/invoice.rb +2 -0
- data/lib/telegram/bot/types/keyboard_button.rb +3 -0
- data/lib/telegram/bot/types/keyboard_button_poll_type.rb +11 -0
- data/lib/telegram/bot/types/labeled_price.rb +2 -0
- data/lib/telegram/bot/types/location.rb +6 -0
- data/lib/telegram/bot/types/login_url.rb +14 -0
- data/lib/telegram/bot/types/mask_position.rb +14 -0
- data/lib/telegram/bot/types/message.rb +20 -0
- data/lib/telegram/bot/types/message_auto_delete_timer_changed.rb +11 -0
- data/lib/telegram/bot/types/message_entity.rb +3 -0
- data/lib/telegram/bot/types/order_info.rb +2 -0
- data/lib/telegram/bot/types/passport_data.rb +12 -0
- data/lib/telegram/bot/types/passport_element_error_data_field.rb +15 -0
- data/lib/telegram/bot/types/passport_element_error_file.rb +14 -0
- data/lib/telegram/bot/types/passport_element_error_files.rb +14 -0
- data/lib/telegram/bot/types/passport_element_error_front_side.rb +14 -0
- data/lib/telegram/bot/types/passport_element_error_reverse_side.rb +14 -0
- data/lib/telegram/bot/types/passport_element_error_selfie.rb +14 -0
- data/lib/telegram/bot/types/passport_element_error_translation_file.rb +14 -0
- data/lib/telegram/bot/types/passport_element_error_translation_files.rb +14 -0
- data/lib/telegram/bot/types/passport_element_error_unspecified.rb +14 -0
- data/lib/telegram/bot/types/passport_file.rb +14 -0
- data/lib/telegram/bot/types/photo_size.rb +3 -0
- data/lib/telegram/bot/types/poll.rb +23 -0
- data/lib/telegram/bot/types/poll_answer.rb +13 -0
- data/lib/telegram/bot/types/poll_option.rb +12 -0
- data/lib/telegram/bot/types/pre_checkout_query.rb +2 -0
- data/lib/telegram/bot/types/proximity_alert_triggered.rb +13 -0
- data/lib/telegram/bot/types/reply_keyboard_markup.rb +2 -0
- data/lib/telegram/bot/types/reply_keyboard_remove.rb +2 -0
- data/lib/telegram/bot/types/response.rb +94 -0
- data/lib/telegram/bot/types/shipping_address.rb +2 -0
- data/lib/telegram/bot/types/shipping_option.rb +2 -0
- data/lib/telegram/bot/types/shipping_query.rb +2 -0
- data/lib/telegram/bot/types/sticker.rb +6 -0
- data/lib/telegram/bot/types/sticker_set.rb +16 -0
- data/lib/telegram/bot/types/successful_payment.rb +2 -0
- data/lib/telegram/bot/types/update.rb +6 -0
- data/lib/telegram/bot/types/user.rb +6 -0
- data/lib/telegram/bot/types/user_profile_photos.rb +2 -0
- data/lib/telegram/bot/types/venue.rb +5 -0
- data/lib/telegram/bot/types/version.rb +3 -1
- data/lib/telegram/bot/types/video.rb +4 -0
- data/lib/telegram/bot/types/video_note.rb +3 -0
- data/lib/telegram/bot/types/voice.rb +3 -0
- data/lib/telegram/bot/types/voice_chat_ended.rb +11 -0
- data/lib/telegram/bot/types/voice_chat_participants_invited.rb +11 -0
- data/lib/telegram/bot/types/voice_chat_started.rb +10 -0
- data/lib/telegram/bot/types/webhook_info.rb +19 -0
- data/telegram-bot-types.gemspec +5 -4
- metadata +50 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0606fc748fb8602745774a0445227cfd5ead1b8d5669bd08bd9ee1bb0ce3b53b
|
4
|
+
data.tar.gz: b8c309b5149ac1b850dcd7de3e4fda9150091d1b91dff03376b5e8b93c15d44e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c5928397f4828c224ca987c5487655ccf5e9603329859fa13c64b6e12dc792ec53d62d0cc3b3b201be552982e7e1e12dba72eabb986c0dbc42c8bde28639d2d
|
7
|
+
data.tar.gz: 26927705f798cc3da58bc6371f10d8b1c1104342a913f29e8a9298b38ee16ea0bb20900fd4e016f7a493742edf6740645efa3743e09f0ee55d631ee959096a90
|
data/.rubocop.yml
CHANGED
@@ -1,4 +1,14 @@
|
|
1
|
+
Layout/EmptyLineAfterGuardClause: {Enabled: false}
|
2
|
+
Layout/SpaceInsideHashLiteralBraces: {EnforcedStyle: no_space}
|
1
3
|
Metrics/LineLength: {Max: 100}
|
2
4
|
Style/Alias: {EnforcedStyle: prefer_alias_method}
|
3
5
|
Style/Documentation: {Enabled: false}
|
4
|
-
Style/
|
6
|
+
Style/TrailingCommaInArrayLiteral: {EnforcedStyleForMultiline: comma}
|
7
|
+
Style/TrailingCommaInHashLiteral: {EnforcedStyleForMultiline: comma}
|
8
|
+
|
9
|
+
# New cops. Need to be explicitly enabled to prevent warning.
|
10
|
+
Lint/RaiseException: {Enabled: true}
|
11
|
+
Lint/StructNewOverride: {Enabled: true}
|
12
|
+
Style/HashEachMethods: {Enabled: true}
|
13
|
+
Style/HashTransformKeys: {Enabled: true}
|
14
|
+
Style/HashTransformValues: {Enabled: true}
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Unreleased
|
2
|
+
|
3
|
+
# 0.6.3
|
4
|
+
|
5
|
+
- Bunch of new types from Bot API 5.3.
|
6
|
+
|
7
|
+
# 0.6.2
|
8
|
+
|
9
|
+
- Bunch of new types.
|
10
|
+
|
11
|
+
# 0.6.1
|
12
|
+
|
13
|
+
- Strip empty values from `#to_hash`.
|
14
|
+
|
15
|
+
# 0.6.0
|
16
|
+
|
17
|
+
- Add WebhookInfo
|
18
|
+
- Add Response module to cast results from api methods.
|
19
|
+
|
20
|
+
# Older
|
21
|
+
|
22
|
+
See `git log`. `¯\_(ツ)_/¯`
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/bin/console
CHANGED
data/bin/install_git_hooks
CHANGED
data/lib/telegram/bot/types.rb
CHANGED
@@ -1,78 +1,27 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'pathname'
|
2
4
|
|
3
5
|
module Telegram
|
4
6
|
module Bot
|
5
7
|
module Types
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
game_high_score
|
21
|
-
inline_keyboard_button
|
22
|
-
inline_keyboard_markup
|
23
|
-
inline_query
|
24
|
-
inline_query_result_article
|
25
|
-
inline_query_result_audio
|
26
|
-
inline_query_result_cached_audio
|
27
|
-
inline_query_result_cached_document
|
28
|
-
inline_query_result_cached_gif
|
29
|
-
inline_query_result_cached_mpeg4_gif
|
30
|
-
inline_query_result_cached_photo
|
31
|
-
inline_query_result_cached_sticker
|
32
|
-
inline_query_result_cached_video
|
33
|
-
inline_query_result_cached_voice
|
34
|
-
inline_query_result_contact
|
35
|
-
inline_query_result_document
|
36
|
-
inline_query_result_game
|
37
|
-
inline_query_result_gif
|
38
|
-
inline_query_result_location
|
39
|
-
inline_query_result_mpeg4_gif
|
40
|
-
inline_query_result_photo
|
41
|
-
inline_query_result_venue
|
42
|
-
inline_query_result_video
|
43
|
-
inline_query_result_voice
|
44
|
-
input_contact_message_content
|
45
|
-
input_location_message_content
|
46
|
-
input_message_content
|
47
|
-
input_text_message_content
|
48
|
-
input_venue_message_content
|
49
|
-
invoice
|
50
|
-
keyboard_button
|
51
|
-
labeled_price
|
52
|
-
location
|
53
|
-
message
|
54
|
-
message_entity
|
55
|
-
order_info
|
56
|
-
photo_size
|
57
|
-
pre_checkout_query
|
58
|
-
reply_keyboard_markup
|
59
|
-
reply_keyboard_remove
|
60
|
-
shipping_address
|
61
|
-
shipping_option
|
62
|
-
shipping_query
|
63
|
-
sticker
|
64
|
-
successful_payment
|
65
|
-
update
|
66
|
-
user
|
67
|
-
user_profile_photos
|
68
|
-
venue
|
69
|
-
version
|
70
|
-
video
|
71
|
-
video_note
|
72
|
-
voice
|
73
|
-
).each do |type|
|
74
|
-
autoload type.camelize, "telegram/bot/types/#{type}"
|
8
|
+
module_function
|
9
|
+
|
10
|
+
# Simple implementation for internal use only.
|
11
|
+
# rubocop:disable all
|
12
|
+
def camelize(str)
|
13
|
+
str.gsub(/(?:_|(\/)|^)([a-z\d]*)/i) { "#{$1}#{$2.capitalize}" }
|
14
|
+
end
|
15
|
+
# rubocop:enable all
|
16
|
+
|
17
|
+
files = Pathname(__FILE__).dirname.join('types').children.map { |x| x.basename.to_s }
|
18
|
+
types = files.select { |x| x.end_with?('.rb') }.map { |x| x.gsub(/\.rb$/, '') }
|
19
|
+
types -= ['version']
|
20
|
+
types.each do |type|
|
21
|
+
autoload camelize(type), "telegram/bot/types/#{type}"
|
75
22
|
end
|
76
23
|
end
|
77
24
|
end
|
78
25
|
end
|
26
|
+
|
27
|
+
require 'telegram/bot/types/version'
|
@@ -1,8 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Telegram
|
2
4
|
module Bot
|
3
5
|
module Types
|
4
6
|
class Animation < Base
|
5
7
|
attribute :file_id, String
|
8
|
+
attribute :file_unique_id, String
|
9
|
+
attribute :width, Integer
|
10
|
+
attribute :height, Integer
|
11
|
+
attribute :duration, Integer
|
6
12
|
attribute :thumb, PhotoSize
|
7
13
|
attribute :file_name, String
|
8
14
|
attribute :mime_type, String
|
@@ -1,13 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Telegram
|
2
4
|
module Bot
|
3
5
|
module Types
|
4
6
|
class Audio < Base
|
5
7
|
attribute :file_id, String
|
8
|
+
attribute :file_unique_id, String
|
6
9
|
attribute :duration, Integer
|
7
10
|
attribute :performer, String
|
8
11
|
attribute :title, String
|
12
|
+
attribute :file_name, String
|
9
13
|
attribute :mime_type, String
|
10
14
|
attribute :file_size, Integer
|
15
|
+
attribute :thumb, PhotoSize
|
11
16
|
end
|
12
17
|
end
|
13
18
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Telegram
|
2
4
|
module Bot
|
3
5
|
module Types
|
@@ -9,6 +11,14 @@ module Telegram
|
|
9
11
|
attribute :first_name, String
|
10
12
|
attribute :last_name, String
|
11
13
|
attribute :all_members_are_administrators, Boolean
|
14
|
+
attribute :photo, ChatPhoto
|
15
|
+
attribute :description, String
|
16
|
+
attribute :invite_link, String
|
17
|
+
attribute :pinned_message, Message
|
18
|
+
attribute :permissions, ChatPermissions
|
19
|
+
attribute :slow_mode_delay, Integer
|
20
|
+
attribute :sticker_set_name, String
|
21
|
+
attribute :can_set_sticker_set, Boolean
|
12
22
|
end
|
13
23
|
end
|
14
24
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telegram
|
4
|
+
module Bot
|
5
|
+
module Types
|
6
|
+
class ChatInviteLink < Base
|
7
|
+
attribute :invite_link, String
|
8
|
+
attribute :creator, User
|
9
|
+
attribute :is_primary, Boolean
|
10
|
+
attribute :is_revoked, Boolean
|
11
|
+
attribute :expire_date, Integer
|
12
|
+
attribute :member_limit, Integer
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -1,9 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Telegram
|
2
4
|
module Bot
|
3
5
|
module Types
|
4
6
|
class ChatMember < Base
|
5
7
|
attribute :user, User
|
6
8
|
attribute :status, String
|
9
|
+
attribute :custom_title, String
|
10
|
+
attribute :is_anonymous, Boolean
|
11
|
+
attribute :can_be_edited, Boolean
|
12
|
+
attribute :can_manage_chat, Boolean
|
13
|
+
attribute :can_post_messages, Boolean
|
14
|
+
attribute :can_edit_messages, Boolean
|
15
|
+
attribute :can_delete_messages, Boolean
|
16
|
+
attribute :can_manage_voice_chats, Boolean
|
17
|
+
attribute :can_restrict_members, Boolean
|
18
|
+
attribute :can_promote_members, Boolean
|
19
|
+
attribute :can_change_info, Boolean
|
20
|
+
attribute :can_invite_users, Boolean
|
21
|
+
attribute :can_pin_messages, Boolean
|
22
|
+
attribute :is_member, Boolean
|
23
|
+
attribute :can_send_messages, Boolean
|
24
|
+
attribute :can_send_media_messages, Boolean
|
25
|
+
attribute :can_send_polls, Boolean
|
26
|
+
attribute :can_send_other_messages, Boolean
|
27
|
+
attribute :can_add_web_page_previews, Boolean
|
28
|
+
attribute :until_date, Integer
|
7
29
|
end
|
8
30
|
end
|
9
31
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telegram
|
4
|
+
module Bot
|
5
|
+
module Types
|
6
|
+
class ChatMemberUpdated < Base
|
7
|
+
attribute :chat, Chat
|
8
|
+
attribute :from, User
|
9
|
+
attribute :date, Integer
|
10
|
+
attribute :old_chat_member, ChatMember
|
11
|
+
attribute :new_chat_member, ChatMember
|
12
|
+
attribute :invite_link, ChatInviteLink
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telegram
|
4
|
+
module Bot
|
5
|
+
module Types
|
6
|
+
class ChatPermissions < Base
|
7
|
+
attribute :can_send_messages, Boolean
|
8
|
+
attribute :can_send_media_messages, Boolean
|
9
|
+
attribute :can_send_polls, Boolean
|
10
|
+
attribute :can_send_other_messages, Boolean
|
11
|
+
attribute :can_add_web_page_previews, Boolean
|
12
|
+
attribute :can_change_info, Boolean
|
13
|
+
attribute :can_invite_users, Boolean
|
14
|
+
attribute :can_pin_messages, Boolean
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telegram
|
4
|
+
module Bot
|
5
|
+
module Types
|
6
|
+
class ChatPhoto < Base
|
7
|
+
attribute :small_file_id, String
|
8
|
+
attribute :small_file_unique_id, String
|
9
|
+
attribute :big_file_id, String
|
10
|
+
attribute :big_file_unique_id, String
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -1,8 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Telegram
|
2
4
|
module Bot
|
3
5
|
module Types
|
4
6
|
class Document < Base
|
5
7
|
attribute :file_id, String
|
8
|
+
attribute :file_unique_id, String
|
6
9
|
attribute :thumb, PhotoSize
|
7
10
|
attribute :file_name, String
|
8
11
|
attribute :mime_type, String
|