зеркало из
https://github.com/glebtv/telegram-bot.git
synced 2026-09-06 02:55:50 +03:00
Update to Bot API 4.7
Этот коммит содержится в:
@@ -1,5 +1,9 @@
|
|||||||
# Unreleased
|
# Unreleased
|
||||||
|
|
||||||
|
- Update to Bot API 4.7
|
||||||
|
|
||||||
|
# 0.14.3
|
||||||
|
|
||||||
- Rails 6.0 support.
|
- Rails 6.0 support.
|
||||||
- Update to Bot API 4.4.
|
- Update to Bot API 4.4.
|
||||||
|
|
||||||
|
|||||||
2
Gemfile
2
Gemfile
@@ -8,7 +8,7 @@ group :development do
|
|||||||
gem 'pry-byebug', '~> 3.2.0'
|
gem 'pry-byebug', '~> 3.2.0'
|
||||||
gem 'sdoc', '~> 0.4.1'
|
gem 'sdoc', '~> 0.4.1'
|
||||||
|
|
||||||
gem 'telegram-bot-types', '~> 0.6.0'
|
gem 'telegram-bot-types', '~> 0.6.2'
|
||||||
|
|
||||||
gem 'rspec', '~> 3.5.0'
|
gem 'rspec', '~> 3.5.0'
|
||||||
gem 'rspec-its', '~> 1.1.0'
|
gem 'rspec-its', '~> 1.1.0'
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ group :development do
|
|||||||
gem "pry", "~> 0.10.1"
|
gem "pry", "~> 0.10.1"
|
||||||
gem "pry-byebug", "~> 3.2.0"
|
gem "pry-byebug", "~> 3.2.0"
|
||||||
gem "sdoc", "~> 0.4.1"
|
gem "sdoc", "~> 0.4.1"
|
||||||
gem "telegram-bot-types", "~> 0.6.0"
|
gem "telegram-bot-types", "~> 0.6.2"
|
||||||
gem "rspec", "~> 3.5.0"
|
gem "rspec", "~> 3.5.0"
|
||||||
gem "rspec-its", "~> 1.1.0"
|
gem "rspec-its", "~> 1.1.0"
|
||||||
gem "rspec-rails", "~> 3.5.0"
|
gem "rspec-rails", "~> 3.5.0"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ group :development do
|
|||||||
gem "pry", "~> 0.10.1"
|
gem "pry", "~> 0.10.1"
|
||||||
gem "pry-byebug", "~> 3.2.0"
|
gem "pry-byebug", "~> 3.2.0"
|
||||||
gem "sdoc", "~> 0.4.1"
|
gem "sdoc", "~> 0.4.1"
|
||||||
gem "telegram-bot-types", "~> 0.6.0"
|
gem "telegram-bot-types", "~> 0.6.2"
|
||||||
gem "rspec", "~> 3.5.0"
|
gem "rspec", "~> 3.5.0"
|
||||||
gem "rspec-its", "~> 1.1.0"
|
gem "rspec-its", "~> 1.1.0"
|
||||||
gem "rspec-rails", "~> 3.5.0"
|
gem "rspec-rails", "~> 3.5.0"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ group :development do
|
|||||||
gem "pry", "~> 0.10.1"
|
gem "pry", "~> 0.10.1"
|
||||||
gem "pry-byebug", "~> 3.2.0"
|
gem "pry-byebug", "~> 3.2.0"
|
||||||
gem "sdoc", "~> 0.4.1"
|
gem "sdoc", "~> 0.4.1"
|
||||||
gem "telegram-bot-types", "~> 0.6.0"
|
gem "telegram-bot-types", "~> 0.6.2"
|
||||||
gem "rspec", "~> 3.5.0"
|
gem "rspec", "~> 3.5.0"
|
||||||
gem "rspec-its", "~> 1.1.0"
|
gem "rspec-its", "~> 1.1.0"
|
||||||
gem "rspec-rails", "~> 3.5.0"
|
gem "rspec-rails", "~> 3.5.0"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ group :development do
|
|||||||
gem "pry", "~> 0.10.1"
|
gem "pry", "~> 0.10.1"
|
||||||
gem "pry-byebug", "~> 3.2.0"
|
gem "pry-byebug", "~> 3.2.0"
|
||||||
gem "sdoc", "~> 0.4.1"
|
gem "sdoc", "~> 0.4.1"
|
||||||
gem "telegram-bot-types", "~> 0.6.0"
|
gem "telegram-bot-types", "~> 0.6.2"
|
||||||
gem "rspec", "~> 3.5.0"
|
gem "rspec", "~> 3.5.0"
|
||||||
gem "rspec-its", "~> 1.1.0"
|
gem "rspec-its", "~> 1.1.0"
|
||||||
gem "rspec-rails", "~> 3.5.0"
|
gem "rspec-rails", "~> 3.5.0"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ group :development do
|
|||||||
gem "pry", "~> 0.10.1"
|
gem "pry", "~> 0.10.1"
|
||||||
gem "pry-byebug", "~> 3.2.0"
|
gem "pry-byebug", "~> 3.2.0"
|
||||||
gem "sdoc", "~> 0.4.1"
|
gem "sdoc", "~> 0.4.1"
|
||||||
gem "telegram-bot-types", "~> 0.6.0"
|
gem "telegram-bot-types", "~> 0.6.2"
|
||||||
gem "rspec", "~> 3.5.0"
|
gem "rspec", "~> 3.5.0"
|
||||||
gem "rspec-its", "~> 1.1.0"
|
gem "rspec-its", "~> 1.1.0"
|
||||||
gem "rspec-rails", "~> 3.5.0"
|
gem "rspec-rails", "~> 3.5.0"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ group :development do
|
|||||||
gem "pry", "~> 0.10.1"
|
gem "pry", "~> 0.10.1"
|
||||||
gem "pry-byebug", "~> 3.2.0"
|
gem "pry-byebug", "~> 3.2.0"
|
||||||
gem "sdoc", "~> 0.4.1"
|
gem "sdoc", "~> 0.4.1"
|
||||||
gem "telegram-bot-types", "~> 0.6.0"
|
gem "telegram-bot-types", "~> 0.6.2"
|
||||||
gem "rspec", "~> 3.5.0"
|
gem "rspec", "~> 3.5.0"
|
||||||
gem "rspec-its", "~> 1.1.0"
|
gem "rspec-its", "~> 1.1.0"
|
||||||
gem "rspec-rails", "~> 3.5.0"
|
gem "rspec-rails", "~> 3.5.0"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Generated with bin/fetch-telegram-methods
|
# Generated with bin/fetch-telegram-methods
|
||||||
# Bot API 4.4
|
# Bot API 4.7
|
||||||
|
|
||||||
getUpdates
|
getUpdates
|
||||||
setWebhook
|
setWebhook
|
||||||
@@ -23,6 +23,7 @@ stopMessageLiveLocation
|
|||||||
sendVenue
|
sendVenue
|
||||||
sendContact
|
sendContact
|
||||||
sendPoll
|
sendPoll
|
||||||
|
sendDice
|
||||||
sendChatAction
|
sendChatAction
|
||||||
getUserProfilePhotos
|
getUserProfilePhotos
|
||||||
getFile
|
getFile
|
||||||
@@ -30,6 +31,7 @@ kickChatMember
|
|||||||
unbanChatMember
|
unbanChatMember
|
||||||
restrictChatMember
|
restrictChatMember
|
||||||
promoteChatMember
|
promoteChatMember
|
||||||
|
setChatAdministratorCustomTitle
|
||||||
setChatPermissions
|
setChatPermissions
|
||||||
exportChatInviteLink
|
exportChatInviteLink
|
||||||
setChatPhoto
|
setChatPhoto
|
||||||
@@ -46,6 +48,8 @@ getChatMember
|
|||||||
setChatStickerSet
|
setChatStickerSet
|
||||||
deleteChatStickerSet
|
deleteChatStickerSet
|
||||||
answerCallbackQuery
|
answerCallbackQuery
|
||||||
|
setMyCommands
|
||||||
|
getMyCommands
|
||||||
|
|
||||||
editMessageText
|
editMessageText
|
||||||
editMessageCaption
|
editMessageCaption
|
||||||
@@ -61,6 +65,7 @@ createNewStickerSet
|
|||||||
addStickerToSet
|
addStickerToSet
|
||||||
setStickerPositionInSet
|
setStickerPositionInSet
|
||||||
deleteStickerFromSet
|
deleteStickerFromSet
|
||||||
|
setStickerSetThumb
|
||||||
|
|
||||||
answerInlineQuery
|
answerInlineQuery
|
||||||
|
|
||||||
|
|||||||
@@ -97,6 +97,8 @@ module Telegram
|
|||||||
callback_query
|
callback_query
|
||||||
shipping_query
|
shipping_query
|
||||||
pre_checkout_query
|
pre_checkout_query
|
||||||
|
poll
|
||||||
|
poll_answer
|
||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
@@ -148,7 +150,7 @@ module Telegram
|
|||||||
# Accessor to `'from'` field of payload. Can be overriden with `from` option
|
# Accessor to `'from'` field of payload. Can be overriden with `from` option
|
||||||
# for #initialize.
|
# for #initialize.
|
||||||
def from
|
def from
|
||||||
@_from ||= payload && payload['from']
|
@_from ||= payload.is_a?(Hash) ? payload['from'] : payload.try(:from)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Processes current update.
|
# Processes current update.
|
||||||
@@ -206,6 +208,10 @@ module Telegram
|
|||||||
[payload_type, [payload['data']]]
|
[payload_type, [payload['data']]]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def action_for_poll_answer
|
||||||
|
[payload_type, [payload['poll_id'], payload['option_ids']]]
|
||||||
|
end
|
||||||
|
|
||||||
# Silently ignore unsupported messages to not fail when user crafts
|
# Silently ignore unsupported messages to not fail when user crafts
|
||||||
# an update with usupported command, callback query context, etc.
|
# an update with usupported command, callback query context, etc.
|
||||||
def action_missing(action, *_args)
|
def action_missing(action, *_args)
|
||||||
|
|||||||
@@ -26,6 +26,12 @@ RSpec.describe Telegram::Bot::UpdatesController do
|
|||||||
it { should eq [payload_type, payload.values_at(:data)] }
|
it { should eq [payload_type, payload.values_at(:data)] }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when payload is poll_answer' do
|
||||||
|
let(:payload_type) { 'poll_answer' }
|
||||||
|
let(:payload) { stub_payload(:poll_id, :user, :option_ids) }
|
||||||
|
it { should eq [payload_type, payload.values_at(:poll_id, :option_ids)] }
|
||||||
|
end
|
||||||
|
|
||||||
context 'when payload is not supported' do
|
context 'when payload is not supported' do
|
||||||
let(:payload_type) { '_unsupported_' }
|
let(:payload_type) { '_unsupported_' }
|
||||||
it { should eq [:unsupported_payload_type, []] }
|
it { should eq [:unsupported_payload_type, []] }
|
||||||
@@ -39,6 +45,7 @@ RSpec.describe Telegram::Bot::UpdatesController do
|
|||||||
inline_query
|
inline_query
|
||||||
chosen_inline_result
|
chosen_inline_result
|
||||||
callback_query
|
callback_query
|
||||||
|
poll_answer
|
||||||
]
|
]
|
||||||
(described_class::PAYLOAD_TYPES - custom_payload_types).each do |type|
|
(described_class::PAYLOAD_TYPES - custom_payload_types).each do |type|
|
||||||
context "when payload is #{type}" do
|
context "when payload is #{type}" do
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user