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