Sha256: 6b3dd7ff47032a2686b749f430c47247879b0ff5df3d6a77ab7f45ffdc1f2e38
Contents?: true
Size: 1.14 KB
Versions: 8
Compression:
Stored size: 1.14 KB
Contents
module Telegram module Bot class UpdatesController # Use separate actions for different callback queries. # It doesn't require session support. Simply add `%{context}:` prefix to data. module CallbackQueryContext protected # Uses #context_from_callback_query as context name. # If context is present checks if `%context%_callback_query` is valid # action method and returns it if so. Context is stripped from data # in this case. Otherwise returns `super`. # # It wont raise ActionNotFound as MessageContext does, # because `data` param is controlled by client. def action_for_callback_query context, new_data = context_from_callback_query # binding.pry if context action_name = "#{context}_callback_query" [false, action_name, [new_data]] if action_method?(action_name) end || super end def context_from_callback_query data = payload['data'] return unless data parts = data.split(':', 2) parts if parts.size > 1 end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems