Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby电报机器人,将值传递给CallbackQuery?_Ruby_Telegram - Fatal编程技术网

Ruby电报机器人,将值传递给CallbackQuery?

Ruby电报机器人,将值传递给CallbackQuery?,ruby,telegram,Ruby,Telegram,我有一个电报机器人,可以更新一组球队的得分 团队的规模是动态的 def collection_keyboard(identity) ip_addr = "127.0.0.1:27017" client = Mongo::Client.new([ip_addr], :database => "camp") kb = [] client[:inventory].find({"owner": identity}, projection: {"_id": 0, "name": 1

我有一个电报机器人,可以更新一组球队的得分

团队的规模是动态的

def collection_keyboard(identity)
  ip_addr = "127.0.0.1:27017"
  client = Mongo::Client.new([ip_addr], :database => "camp")

  kb = []
  client[:inventory].find({"owner": identity}, projection: {"_id": 0, "name": 1}).each do |doc|
    kb << Telegram::Bot::Types::InlineKeyboardButton.new(text: doc.to_s , callback_data: ??) //What do i put as the callback data?
  end
  markup = Telegram::Bot::Types::InlineKeyboardMarkup.new(inline_keyboard: kb)
  return markup
end
返回第一个回调查询后,将创建第二个inlinekeyboard。此键盘将允许用户选择要给出的点数,例如10、20、30

但是,由于组大小不同,我如何传递用户单击的内联键盘的值,以便我可以向该特定团队添加点?由于组是动态的,我不能用常规switch语句捕获所有可能的回调返回值

例如,如果用户单击
黄色
,我如何将此值传递到下一个InlineKeyboard,以便用户可以向其添加
10

Telegram::Bot::Client.run(token) do |bot|
  bot.listen do |message|
    case message
    when Telegram::Bot::Types::CallbackQuery
      if message.data == ?? //What do i check here?

      end
    end