lib/telegram/bot/updates_controller/reply_helpers.rb in telegram-bot-0.7.4 vs lib/telegram/bot/updates_controller/reply_helpers.rb in telegram-bot-0.8.0
- old
+ new
@@ -1,23 +1,25 @@
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`:
+ # Helper to call bot's `send_#{type}` method with already set `chat_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}"
+ # respond_with :message, text: 'Hello!'
+ # respond_with :message, text: '__Hello!__', parse_mode: :Markdown
+ # respond_with :photo, photo: File.open(photo_to_send), caption: "It's incredible!"
+ def respond_with(type, params)
chat = self.chat
+ chat_id = chat && chat['id'] or raise 'Can not respond_with when chat is not present'
+ bot.public_send("send_#{type}", params.merge(chat_id: chat_id))
+ end
+
+ # Same as respond_with but also sets `reply_to_message_id`.
+ def reply_with(type, params)
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)
+ message_id = payload && payload['message_id']
+ params = params.merge(reply_to_message_id: message_id) if message_id
+ respond_with(type, params)
end
# Same as reply_with, but for inline queries.
def answer_inline_query(results, params = {})
params = params.merge(