首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Telegraf.js添加带有sendPhoto标记的按钮

Telegraf.js添加带有sendPhoto标记的按钮
EN

Stack Overflow用户
提问于 2020-09-14 10:31:45
回答 1查看 9.5K关注 0票数 1

我有一个包含以下代码的bot.telegram.sendPhoto()

代码语言:javascript
复制
bot.telegram.sendPhoto(
  channel_id,
  {source: filepath},
  { 
    caption: description.join("\n"), 
    parse_mode: 'MarkdownV2'
  }
)

(description是一个包含一些文本的数组。

因此,我会添加一些按钮,然后执行一个动作,但我如何做呢?我试过这样做:

代码语言:javascript
复制
const buttons = Markup.keyboard([
            ["Test", "Test2"]
        ]).oneTime().resize().extra()

然后将其添加到parse_mode之后的{.}中:

代码语言:javascript
复制
{ 
  caption: description.join("\n"), 
  parse_mode: 'MarkdownV2',
  buttons
}

但不起作用。我在{.}之后也试过

代码语言:javascript
复制
{ 
  caption: description.join("\n"), 
  parse_mode: 'MarkdownV2'
},
buttons

但还是没用。那我该怎么办?谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-09-14 11:21:46

Markup.keyboard表示用于回复文本的自定义键盘(参见这里),它不可能在通道中使用(因为成员不能在通道中发送消息)。

您可能正在寻找内联键盘 (连接在成员可以交互的消息底部的按钮)。

下面是在telegraf中发送内联键盘的方式(例如,使用callback_data按钮):

代码语言:javascript
复制
const buttons = Telegraf.Extra.markup((m) =>
  m.inlineKeyboard([
      [ m.callbackButton('Test', 'test') ],
      [ m.callbackButton('Test 2', 'test2') ]
  ])
)

bot.action('test', async (ctx) => {
  console.log(ctx)
  try {
    await ctx.answerCbQuery();    
  } catch (error) {
  }
})


bot.telegram.sendPhoto(
  channel_id,
  {source: filepath},
  { 
    caption: description.join("\n"), 
    parse_mode: 'MarkdownV2',
    reply_markup: buttons.reply_markup
  }
)

bot.launch()

如果要使用telegraf/markup模块,请按以下方式更新代码:

代码语言:javascript
复制
const Markup = require('telegraf/markup')

const buttons = Markup.inlineKeyboard([
  [Markup.callbackButton('Test', 'test')],
  [Markup.callbackButton('Test 2', 'test2')]
])

bot.telegram.sendPhoto(
  channel_id, {
    source: filepath
  }, {
    caption: description.join("\n"),
    parse_mode: 'MarkdownV2',
    reply_markup: buttons
  }
)

示例输出:

进一步参考资料:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63882563

复制
相关文章

相似问题

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