动态inline键盘按钮(nodejs,telegraf)
我需要使用inlineKeyboard从可以更改值和数字的“ n”元素数组中创建菜单。我正在使用telegraf API,这就是我创建静态静态API的方式:
const bookMenu = Telegraf.Extra
.markdown()
.markup((m) => m.inlineKeyboard([[
m.callbackButton('book1', 'book1'),
m.callbackButton("book2", "book2")],
[m.callbackButton("book3", "book3")]
//.....
//for n buttons
//.....
]))
我该怎么做?我无法在标记内进行for循环
回答如下:await db.query(sql).then(async(result) =>{
const bookMenu = Telegraf.Extra
.markdown()
.markup((m) => {
let list = []
let j = 0;
async.each(result[0], ()=>{
console.log(result[0][0].corso)
list.push(m.callbackButton(result[0][j].corso, "callback"))
j++
})
return m.inlineKeyboard(list)
})
返回带有所需列表的m.inlineKeyboard解决了该问题。
动态inline键盘按钮(nodejs,telegraf)
我需要使用inlineKeyboard从可以更改值和数字的“ n”元素数组中创建菜单。我正在使用telegraf API,这就是我创建静态静态API的方式:
const bookMenu = Telegraf.Extra
.markdown()
.markup((m) => m.inlineKeyboard([[
m.callbackButton('book1', 'book1'),
m.callbackButton("book2", "book2")],
[m.callbackButton("book3", "book3")]
//.....
//for n buttons
//.....
]))
我该怎么做?我无法在标记内进行for循环
回答如下:await db.query(sql).then(async(result) =>{
const bookMenu = Telegraf.Extra
.markdown()
.markup((m) => {
let list = []
let j = 0;
async.each(result[0], ()=>{
console.log(result[0][0].corso)
list.push(m.callbackButton(result[0][j].corso, "callback"))
j++
})
return m.inlineKeyboard(list)
})
返回带有所需列表的m.inlineKeyboard解决了该问题。