Предисловие:
1. Я до сих пор еще не полностью понимаю как правильно пользоваться справкой от https://telegraf.js.org
2. Я не знаю js. Изучаю js на практике создания ботов в телеграм
Вопрос:
Моя задача: Создание информационного бота со встроенным меню под сообщением. Меню должно иметь подменю (При нажатии на один из пунктов основного меню должно появляться другое меню с несколькими кнопками)
Какие варианты я нашел:
1. Это из видео на ютубе какого-то англоязычного парня.
bot.command('gogo', (ctx) => {
ctx.telegram.sendMessage(ctx.chat.id, 'gngffgfghgf!',
{
reply_markup: {
inline_keyboard: [
[{text:"delfi", callback_data: "DL"},{text:"еще текст", callback_data: "KK"}],
[{text:"кнопка 3", callback_data: "LL"}]
]
}
});
});
bot.action("DL",(ctx) => {
ctx.reply('нажатие первой кнопки прошло успешно');
});
2. Этот кусок кода мне подсказали в одном из чатов телеграмма по jsreturn Telegraf.Extra
.markup((m) =>
m.inlineKeyboard([
m.callbackButton('Plot', plot)
])
);
3. Этот вариант я нашел вроде как в справке https://telegraf.js.org. Но мне сказали что "это какой-то мусор"https://github.com/EdJoPaTo/telegraf-inline-menu
Какой именно вариант относится к https://telegraf.js.org ? Какой лучше использовать? В 1 и 3 варианте я пробовал писать код и кнопки выводились. Но как делать подменю я не разобрался (думаю меня подводит незнание синтаксиса).
До второго варианта я еще не добрался. Как то мало примера в этом коде для новичка.
Будет очень здорово если у кого-нибудь есть рабочий пример такого меню на node.js - telegraf.
Давайте создадим нормальную инфу по inline клавиатурам, чтобы новичкам было проще обучаться ботостроению.
по Вашему 2 варианту накидал вывод меню.
Предполагаю, что надо написать функцию которая бы по переданным критериям формировала меню - из бд или массива.