Можно добавить всё необходимое в Extra.
В данном примере отправляется изображение с подписью и клавиатура, а текст форматируется с использованием HTML.
if (typeof(duckInfo['lore']) === 'undefined') {
ctx.replyWithPhoto({
url: `/home/chipher/Desktop/code/www/js/ducks_explorer_bot/img/${duckNumber}.png`
}, {
caption: `${duckInfo['name']}\n\n<i>У утки нет истории...</i>`,
parse_mode: 'HTML,
...Markup.inlineKeyboard([
Markup.button.callback('Foo', 'foo'),
Markup.button.callback('Bar', 'bar')
])
})
} else {
ctx.replyWithPhoto({
url: `/home/chipher/Desktop/code/www/js/ducks_explorer_bot/img/${duckNumber}.png`
}, {
caption: `${duckInfo['name']}\n\n<i>История:</i>\n${duckInfo['lore']}`,
parse_mode: 'HTML',
...Markup.inlineKeyboard([
Markup.button.callback('Foo', 'foo'),
Markup.button.callback('Bar', 'bar')
])
})
}