电报机器人回复循环

时间:2017-09-22 13:06:27

标签: node.js telegram-bot

我只想在对象中读取数据并连续打印多个按钮 我怎么能这样做?

一个类似的例子:

var obj={"coca":"2$" , "7up":"3$" , "fanta":"4$"} 
for (var key in obj) {
  if (obj.hasOwnProperty(key)) {
      ctx.reply('price list', Extra.HTML().markup((m) =>
        m.inlineKeyboard([
          [m.callbackButton(`${key} : `, ` price : ${obj[key]}`)]
        ]))))

但问题是我不想每次都打印“价目表” 我只想在顶部打印1次,我不能在“ctx.reply”中使用for循环

1 个答案:

答案 0 :(得分:2)

如果你只想要回复第一项,你所要做的就是在第一次回复后打破循环。

您的代码可能是这样的:

var obj={"coca":"2$" , "7up":"3$" , "fanta":"4$"} 
for (var key in obj) {
  if (obj.hasOwnProperty(key)) {
          ctx.reply('price list', Extra.HTML().markup((m) =>
          m.inlineKeyboard([
          [m.callbackButton(`${key} : `, ` price : ${obj[key]}`)]
        ]))));
  break;
  }
}