зеркало из
https://github.com/glebtv/telegram-bot.git
synced 2026-09-04 02:05:52 +03:00
New api methods and support for inline keyboards
Этот коммит содержится в:
@@ -39,6 +39,12 @@ module Telegram
|
||||
Instrumentation.instrument(:reply_with, type: type) { super }
|
||||
end
|
||||
|
||||
%i(answer_callback_query answer_inline_query).each do |type|
|
||||
define_method(type) do |*args|
|
||||
Instrumentation.instrument(:reply_with, type: type) { super(*args) }
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# A hook invoked every time a before callback is halted.
|
||||
|
||||
42
lib/telegram/bot/updates_controller/reply_helpers.rb
Обычный файл
42
lib/telegram/bot/updates_controller/reply_helpers.rb
Обычный файл
@@ -0,0 +1,42 @@
|
||||
module Telegram
|
||||
module Bot
|
||||
class UpdatesController
|
||||
module ReplyHelpers
|
||||
# Helper to call bot's `send_#{type}` method with already set `chat_id` and
|
||||
# `reply_to_message_id`:
|
||||
#
|
||||
# reply_with :message, text: 'Hello!'
|
||||
# reply_with :message, text: '__Hello!__', parse_mode: :Markdown
|
||||
# reply_with :photo, photo: File.open(photo_to_send), caption: "It's incredible!"
|
||||
def reply_with(type, params)
|
||||
method = "send_#{type}"
|
||||
chat = self.chat
|
||||
payload = self.payload
|
||||
params = params.merge(
|
||||
chat_id: (chat && chat['id'] or raise 'Can not reply_with when chat is not present'),
|
||||
reply_to_message: payload && payload['message_id'],
|
||||
)
|
||||
bot.public_send(method, params)
|
||||
end
|
||||
|
||||
# Same as reply_with, but for inline queries.
|
||||
def answer_inline_query(results, params = {})
|
||||
params = params.merge(
|
||||
inline_query_id: payload['id'],
|
||||
results: results,
|
||||
)
|
||||
bot.answer_inline_query(params)
|
||||
end
|
||||
|
||||
# Same as reply_with, but for callback queries.
|
||||
def answer_callback_query(text, params = {})
|
||||
params = params.merge(
|
||||
callback_query_id: payload['id'],
|
||||
text: text,
|
||||
)
|
||||
bot.answer_callback_query(params)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Ссылка в новой задаче
Block a user