最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

动态inline键盘按钮(nodejs,telegraf)

IT培训 admin 2浏览 0评论

动态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解决了该问题。

发布评论

评论列表 (0)

  1. 暂无评论