telegram-bot-ruby 0.14.0 → 0.15.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +7 -10
- data/.travis.yml +2 -2
- data/CHANGELOG.md +4 -0
- data/Rakefile +2 -2
- data/lib/telegram/bot/api.rb +4 -3
- data/lib/telegram/bot/client.rb +9 -5
- data/lib/telegram/bot/null_logger.rb +2 -4
- data/lib/telegram/bot/types.rb +7 -1
- data/lib/telegram/bot/types/chat_invite_link.rb +14 -0
- data/lib/telegram/bot/types/chat_member.rb +2 -0
- data/lib/telegram/bot/types/chat_member_updated.rb +14 -0
- data/lib/telegram/bot/types/message.rb +4 -0
- data/lib/telegram/bot/types/message_auto_delete_timer_changed.rb +9 -0
- data/lib/telegram/bot/types/update.rb +2 -0
- data/lib/telegram/bot/types/voice_chat_ended.rb +9 -0
- data/lib/telegram/bot/types/voice_chat_participants_invited.rb +9 -0
- data/lib/telegram/bot/types/voice_chat_started.rb +8 -0
- data/lib/telegram/bot/version.rb +1 -1
- metadata +13 -8
- data/.rubocop_todo.yml +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b39d62dd4efff4ab96664e0cc4a0ce3eee6631ea8b96c3b90be993f8bae6d34
|
4
|
+
data.tar.gz: e7afcb7986690e5e512faa9caec4abe13f85e21252e86f13af48968ae990bca0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 527a11835b057bc29fdbeecd22350b86b1f3bfdd9bc3c328e11b5fe275fd47847c946bc4bf7b3f804f25b9f9dee8a693c54bb3d6ebf8d64a1a009995b59d03e9
|
7
|
+
data.tar.gz: 839b7b1c0c03c4109ebcdc6f777af0f90013393f35407b113c6805d7740bc9326dc2e4236b465f76387db38656832aa615178bcc96b5c13a0fdb1ebbbedbc356
|
data/.rubocop.yml
CHANGED
@@ -1,18 +1,15 @@
|
|
1
|
-
|
1
|
+
---
|
2
2
|
require: rubocop-rspec
|
3
3
|
|
4
|
+
Style/Documentation:
|
5
|
+
Enabled: false
|
6
|
+
|
4
7
|
Metrics/BlockLength:
|
5
|
-
|
6
|
-
-
|
8
|
+
ExcludedMethods:
|
9
|
+
- context
|
10
|
+
- describe
|
7
11
|
|
8
12
|
Metrics/LineLength:
|
9
13
|
Exclude:
|
10
14
|
- telegram-bot-ruby.gemspec
|
11
15
|
- examples/*.rb
|
12
|
-
|
13
|
-
Style/EmptyMethod:
|
14
|
-
EnforcedStyle: expanded
|
15
|
-
|
16
|
-
Style/PercentLiteralDelimiters:
|
17
|
-
PreferredDelimiters:
|
18
|
-
'%w': '()'
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/Rakefile
CHANGED
@@ -5,8 +5,8 @@ require 'rspec/core/rake_task'
|
|
5
5
|
|
6
6
|
RuboCop::RakeTask.new(:rubocop) do |task|
|
7
7
|
task.fail_on_error = false
|
8
|
-
task.options = %w
|
9
|
-
task.patterns = %w
|
8
|
+
task.options = %w[--force-exclusion]
|
9
|
+
task.patterns = %w[lib/**/*.rb]
|
10
10
|
task.requires << 'rubocop-rspec'
|
11
11
|
end
|
12
12
|
|
data/lib/telegram/bot/api.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Telegram
|
2
2
|
module Bot
|
3
3
|
class Api # rubocop:disable ClassLength
|
4
|
-
ENDPOINTS = %w
|
4
|
+
ENDPOINTS = %w[
|
5
5
|
getUpdates setWebhook deleteWebhook getWebhookInfo getMe sendMessage
|
6
6
|
forwardMessage sendPhoto sendAudio sendDocument sendVideo sendVoice
|
7
7
|
sendVideoNote sendMediaGroup sendLocation editMessageLiveLocation
|
@@ -19,8 +19,9 @@ module Telegram
|
|
19
19
|
sendGame setGameScore getGameHighScores setPassportDataErrors
|
20
20
|
editMessageMedia sendAnimation sendPoll stopPoll setChatPermissions
|
21
21
|
setChatAdministratorCustomTitle sendDice getMyCommands setMyCommands
|
22
|
-
setStickerSetThumb logOut close copyMessage
|
23
|
-
|
22
|
+
setStickerSetThumb logOut close copyMessage createChatInviteLink
|
23
|
+
editChatInviteLink revokeChatInviteLink
|
24
|
+
].freeze
|
24
25
|
REPLY_MARKUP_TYPES = [
|
25
26
|
Telegram::Bot::Types::ReplyKeyboardMarkup,
|
26
27
|
Telegram::Bot::Types::ReplyKeyboardRemove,
|
data/lib/telegram/bot/client.rb
CHANGED
@@ -31,16 +31,20 @@ module Telegram
|
|
31
31
|
return unless response['ok']
|
32
32
|
|
33
33
|
response['result'].each do |data|
|
34
|
-
|
35
|
-
@options[:offset] = update.update_id.next
|
36
|
-
message = update.current_message
|
37
|
-
log_incoming_message(message)
|
38
|
-
yield message
|
34
|
+
yield handle_update(Types::Update.new(data))
|
39
35
|
end
|
40
36
|
rescue Faraday::TimeoutError
|
41
37
|
retry
|
42
38
|
end
|
43
39
|
|
40
|
+
def handle_update(update)
|
41
|
+
@options[:offset] = update.update_id.next
|
42
|
+
message = update.current_message
|
43
|
+
log_incoming_message(message)
|
44
|
+
|
45
|
+
message
|
46
|
+
end
|
47
|
+
|
44
48
|
private
|
45
49
|
|
46
50
|
def default_options
|
data/lib/telegram/bot/types.rb
CHANGED
@@ -73,11 +73,14 @@ require 'telegram/bot/types/inline_query_result_video'
|
|
73
73
|
require 'telegram/bot/types/inline_query_result_voice'
|
74
74
|
require 'telegram/bot/types/chosen_inline_result'
|
75
75
|
require 'telegram/bot/types/proximity_alert_triggered'
|
76
|
+
require 'telegram/bot/types/voice_chat_started'
|
77
|
+
require 'telegram/bot/types/voice_chat_ended'
|
78
|
+
require 'telegram/bot/types/voice_chat_participants_invited'
|
79
|
+
require 'telegram/bot/types/message_auto_delete_timer_changed'
|
76
80
|
require 'telegram/bot/types/message'
|
77
81
|
require 'telegram/bot/types/callback_query'
|
78
82
|
require 'telegram/bot/types/shipping_query'
|
79
83
|
require 'telegram/bot/types/pre_checkout_query'
|
80
|
-
require 'telegram/bot/types/update'
|
81
84
|
require 'telegram/bot/types/keyboard_button_poll_type'
|
82
85
|
require 'telegram/bot/types/keyboard_button'
|
83
86
|
require 'telegram/bot/types/reply_keyboard_markup'
|
@@ -86,7 +89,10 @@ require 'telegram/bot/types/force_reply'
|
|
86
89
|
require 'telegram/bot/types/file'
|
87
90
|
require 'telegram/bot/types/labeled_price'
|
88
91
|
require 'telegram/bot/types/shipping_option'
|
92
|
+
require 'telegram/bot/types/chat_invite_link'
|
89
93
|
require 'telegram/bot/types/chat_member'
|
94
|
+
require 'telegram/bot/types/chat_member_updated'
|
95
|
+
require 'telegram/bot/types/update'
|
90
96
|
require 'telegram/bot/types/user_profile_photos'
|
91
97
|
require 'telegram/bot/types/input_media_photo'
|
92
98
|
require 'telegram/bot/types/input_media_video'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Telegram
|
2
|
+
module Bot
|
3
|
+
module Types
|
4
|
+
class ChatInviteLink < Base
|
5
|
+
attribute :invite_link, String
|
6
|
+
attribute :creator, User
|
7
|
+
attribute :is_primary, Boolean
|
8
|
+
attribute :is_revoked, Boolean
|
9
|
+
attribute :expire_date, Integer
|
10
|
+
attribute :member_limit, Integer
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -7,9 +7,11 @@ module Telegram
|
|
7
7
|
attribute :custom_title, String
|
8
8
|
attribute :is_anonymous, Boolean
|
9
9
|
attribute :can_be_edited, Boolean
|
10
|
+
attribute :can_manage_chat, Boolean
|
10
11
|
attribute :can_post_messages, Boolean
|
11
12
|
attribute :can_edit_messages, Boolean
|
12
13
|
attribute :can_delete_messages, Boolean
|
14
|
+
attribute :can_manage_voice_chats, Boolean
|
13
15
|
attribute :can_restrict_members, Boolean
|
14
16
|
attribute :can_promote_members, Boolean
|
15
17
|
attribute :can_change_info, Boolean
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Telegram
|
2
|
+
module Bot
|
3
|
+
module Types
|
4
|
+
class ChatMemberUpdated < Base
|
5
|
+
attribute :chat, Chat
|
6
|
+
attribute :from, User
|
7
|
+
attribute :date, Integer
|
8
|
+
attribute :old_chat_member, ChatMember
|
9
|
+
attribute :new_chat_member, ChatMember
|
10
|
+
attribute :invite_link, ChatInviteLink
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -44,6 +44,7 @@ module Telegram
|
|
44
44
|
attribute :group_chat_created, Boolean
|
45
45
|
attribute :supergroup_chat_created, Boolean
|
46
46
|
attribute :channel_chat_created, Boolean
|
47
|
+
attribute :message_auto_delete_timer_changed, MessageAutoDeleteTimerChanged
|
47
48
|
attribute :migrate_to_chat_id, Integer
|
48
49
|
attribute :migrate_from_chat_id, Integer
|
49
50
|
attribute :pinned_message, Message
|
@@ -52,6 +53,9 @@ module Telegram
|
|
52
53
|
attribute :connected_website, String
|
53
54
|
attribute :passport_data, PassportData
|
54
55
|
attribute :proximity_alert_triggered, ProximityAlertTriggered
|
56
|
+
attribute :voice_chat_started, VoiceChatStarted
|
57
|
+
attribute :voice_chat_ended, VoiceChatEnded
|
58
|
+
attribute :voice_chat_participants_invited, VoiceChatParticipantsInvited
|
55
59
|
attribute :reply_markup, InlineKeyboardMarkup
|
56
60
|
|
57
61
|
alias to_s text
|
@@ -14,6 +14,8 @@ module Telegram
|
|
14
14
|
attribute :pre_checkout_query, PreCheckoutQuery
|
15
15
|
attribute :poll, Poll
|
16
16
|
attribute :poll_answer, PollAnswer
|
17
|
+
attribute :my_chat_member, ChatMemberUpdated
|
18
|
+
attribute :chat_member, ChatMemberUpdated
|
17
19
|
|
18
20
|
def current_message
|
19
21
|
@current_message ||=
|
data/lib/telegram/bot/version.rb
CHANGED
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.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Tipugin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '1.8'
|
125
|
-
description:
|
125
|
+
description:
|
126
126
|
email:
|
127
127
|
- atipugin@gmail.com
|
128
128
|
executables: []
|
@@ -132,7 +132,6 @@ files:
|
|
132
132
|
- ".gitignore"
|
133
133
|
- ".rspec"
|
134
134
|
- ".rubocop.yml"
|
135
|
-
- ".rubocop_todo.yml"
|
136
135
|
- ".travis.yml"
|
137
136
|
- CHANGELOG.md
|
138
137
|
- Gemfile
|
@@ -157,8 +156,10 @@ files:
|
|
157
156
|
- lib/telegram/bot/types/callback_game.rb
|
158
157
|
- lib/telegram/bot/types/callback_query.rb
|
159
158
|
- lib/telegram/bot/types/chat.rb
|
159
|
+
- lib/telegram/bot/types/chat_invite_link.rb
|
160
160
|
- lib/telegram/bot/types/chat_location.rb
|
161
161
|
- lib/telegram/bot/types/chat_member.rb
|
162
|
+
- lib/telegram/bot/types/chat_member_updated.rb
|
162
163
|
- lib/telegram/bot/types/chat_permissions.rb
|
163
164
|
- lib/telegram/bot/types/chat_photo.rb
|
164
165
|
- lib/telegram/bot/types/chosen_inline_result.rb
|
@@ -213,6 +214,7 @@ files:
|
|
213
214
|
- lib/telegram/bot/types/login_url.rb
|
214
215
|
- lib/telegram/bot/types/mask_position.rb
|
215
216
|
- lib/telegram/bot/types/message.rb
|
217
|
+
- lib/telegram/bot/types/message_auto_delete_timer_changed.rb
|
216
218
|
- lib/telegram/bot/types/message_entity.rb
|
217
219
|
- lib/telegram/bot/types/order_info.rb
|
218
220
|
- lib/telegram/bot/types/passport_data.rb
|
@@ -247,13 +249,16 @@ files:
|
|
247
249
|
- lib/telegram/bot/types/video.rb
|
248
250
|
- lib/telegram/bot/types/video_note.rb
|
249
251
|
- lib/telegram/bot/types/voice.rb
|
252
|
+
- lib/telegram/bot/types/voice_chat_ended.rb
|
253
|
+
- lib/telegram/bot/types/voice_chat_participants_invited.rb
|
254
|
+
- lib/telegram/bot/types/voice_chat_started.rb
|
250
255
|
- lib/telegram/bot/types/webhook_info.rb
|
251
256
|
- lib/telegram/bot/version.rb
|
252
257
|
- telegram-bot-ruby.gemspec
|
253
258
|
homepage: https://github.com/atipugin/telegram-bot
|
254
259
|
licenses: []
|
255
260
|
metadata: {}
|
256
|
-
post_install_message:
|
261
|
+
post_install_message:
|
257
262
|
rdoc_options: []
|
258
263
|
require_paths:
|
259
264
|
- lib
|
@@ -268,8 +273,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
268
273
|
- !ruby/object:Gem::Version
|
269
274
|
version: '0'
|
270
275
|
requirements: []
|
271
|
-
rubygems_version: 3.
|
272
|
-
signing_key:
|
276
|
+
rubygems_version: 3.2.3
|
277
|
+
signing_key:
|
273
278
|
specification_version: 4
|
274
279
|
summary: Ruby wrapper for Telegram's Bot API
|
275
280
|
test_files: []
|
data/.rubocop_todo.yml
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
-
# on 2015-06-27 20:51:46 +0300 using RuboCop version 0.32.1.
|
3
|
-
# The point is for the user to remove these configuration records
|
4
|
-
# one by one as the offenses are removed from the code base.
|
5
|
-
# Note that changes in the inspected code, or installation of new
|
6
|
-
# versions of RuboCop, may require this file to be generated again.
|
7
|
-
|
8
|
-
Metrics/MethodLength:
|
9
|
-
Max: 11
|
10
|
-
|
11
|
-
# Offense count: 15
|
12
|
-
Style/Documentation:
|
13
|
-
Enabled: false
|