首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Telegraf.js如何将参数从内联键盘传递给函数

Telegraf.js如何将参数从内联键盘传递给函数
EN

Stack Overflow用户
提问于 2022-04-16 16:09:07
回答 1查看 1.3K关注 0票数 0

我有一个包含一些文本的消息数组和一个带有"delete“按钮的内联键盘。

代码语言:javascript
复制
bot.command('items', ctx => {
    items.forEach(async data => {
        await ctx.reply(data.Title,
            Markup.inlineKeyboard([Markup.button.callback("delete item", "DeleteItem")]));
    })
})

我有一个函数bot.action,用于我的内联键盘上的删除按钮。如何将参数传递给bot.action,以便通过delete按钮删除项目。

代码语言:javascript
复制
bot.action("DeleteItem", async ctx => {
    ctx.reply("deleting item");
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-29 18:33:11

对于删除消息,可以使用:

代码语言:javascript
复制
bot.action('delete', ctx => ctx.deleteMessage())

正如您从示例/echo-bot-module.js中看到的。

如果需要向bot.action传递参数,可以尝试:

代码语言:javascript
复制
bot.action(/^data-(\d+)$/, (ctx) => {
  return ctx.answerCbQuery(`Param: ${ctx.match[1]}! `)
})

// And send with callback data
Markup.button.callback('Button', `data-${Math.round(Math.random()*1000)}`)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71895477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档