зеркало из
https://github.com/glebtv/telegram-bot.git
synced 2026-08-28 15:26:18 +03:00
Сравнить коммиты
2 Коммитов
| Автор | SHA1 | Дата | |
|---|---|---|---|
|
|
d1d15d9910 | ||
|
|
e557a217eb |
@@ -1,4 +1,10 @@
|
||||
# 0.7.0 Unreleased
|
||||
# 0.7.1
|
||||
|
||||
- Bot API 2.1
|
||||
- Fixed possible crashes when payload type is not supported.
|
||||
Provides empty session when neither `from` nor `chat` is defined.
|
||||
|
||||
# 0.7.0
|
||||
|
||||
- New Bot API methods.
|
||||
- Helpers for inline keyboards, support for callback_query (with contextual actions).
|
||||
|
||||
@@ -50,7 +50,7 @@ module Telegram
|
||||
# ControllerClass.new(bot, from: telegram_user, chat: telegram_chat).
|
||||
# process(:help, *args)
|
||||
#
|
||||
class UpdatesController < AbstractController::Base
|
||||
class UpdatesController < AbstractController::Base # rubocop:disable ClassLength
|
||||
abstract!
|
||||
|
||||
require 'telegram/bot/updates_controller/session'
|
||||
@@ -84,6 +84,7 @@ module Telegram
|
||||
inline_query
|
||||
chosen_inline_result
|
||||
callback_query
|
||||
edited_message
|
||||
).freeze
|
||||
CMD_REGEX = %r{\A/([a-z\d_]{,31})(@(\S+))?(\s|$)}i
|
||||
CONFLICT_CMD_REGEX = Regexp.new("^(#{PAYLOAD_TYPES.join('|')}|\\d)")
|
||||
@@ -180,6 +181,11 @@ module Telegram
|
||||
[true, cmd, args] if cmd
|
||||
end
|
||||
|
||||
# It doesn't extract commands from edited messages. Just process
|
||||
# them as usual ones.
|
||||
def action_for_edited_message
|
||||
end
|
||||
|
||||
def action_for_inline_query
|
||||
[false, payload_type, [payload['query'], payload['offset']]]
|
||||
end
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module Telegram
|
||||
module Bot
|
||||
VERSION = '0.7.0'.freeze
|
||||
VERSION = '0.7.1'.freeze
|
||||
|
||||
def self.gem_version
|
||||
Gem::Version.new VERSION
|
||||
|
||||
@@ -102,6 +102,11 @@ RSpec.describe Telegram::Bot::UpdatesController do
|
||||
it { should eq [false, payload_type, payload.values_at(:data)] }
|
||||
end
|
||||
|
||||
context 'when payload is edited_message' do
|
||||
let(:payload_type) { 'edited_message' }
|
||||
it { should eq [false, payload_type, [payload]] }
|
||||
end
|
||||
|
||||
context 'when payload is not supported' do
|
||||
let(:payload_type) { '_unsupported_' }
|
||||
it { should eq [false, :unsupported_payload_type, []] }
|
||||
|
||||
Ссылка в новой задаче
Block a user