【问题标题】:Dynamic inlineKeyboard buttons (nodejs, telegraf)动态内联键盘按钮(nodejs、telegraf)
【发布时间】:2020-02-03 04:42:53
【问题描述】:

我需要使用 inlineKeyboard 从“n”元素的数组中创建一个菜单,该元素的值和数量可以改变。我正在使用电报 API,这就是我创建静态 API 的方式:

const bookMenu = Telegraf.Extra
  .markdown()
  .markup((m) => m.inlineKeyboard([[
     m.callbackButton('book1', 'book1-callback'), 
     m.callbackButton("book2", "book2-callback")], 
    [m.callbackButton("book3", "book3-callback")]
    //.....
    //for n buttons
    //.....
]))

我该怎么做?我无法在标记内执行 for 循环

【问题讨论】:

    标签: node.js telegram telegraf node-telegram-bot-api


    【解决方案1】:
    const bookMenu = Telegraf.Extra
        .markdown()
        .markup((m) => {                    
            let list = []      
            let j = 0;
    
            async.each(arrayOfLabel, ()=>{ 
                list.push(m.callbackButton(books[j], "your-unic-callback"))
                j++
            })
        
            return m.inlineKeyboard(list)
    })
    

    返回m.inlineKeyboard 和想要的列表解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-06
      • 2018-02-09
      • 2020-11-02
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 2017-06-04
      • 1970-01-01
      相关资源
      最近更新 更多