动态内联键盘按钮(nodejs、telegraf)

Dynamic inlineKeyboard buttons (nodejs, telegraf)

我需要使用 inlineKeyboard 从“n”元素数组中创建一个菜单,该元素的值和数量可以更改。我正在使用 telegraf 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 循环
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 和通缉名单解决了问题。