1

我需要使用 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 循环

4

1 回答 1

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解决了这个问题。

于 2019-10-04T22:17:41.150 回答