Выдает ошибку когда нажать Button ("USD-UAH») после нее Button ("EUR-UAH») показывает ошибку
TypeError: Cannot read property 'text' of undefined
at ctx (F:\project\telegram_bot\app.js:111:45)
at compose (F:\project\telegram_bot\node_modules\telegraf\scenes\wizard\index.js:45:39)
at execute (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:13)
at Promise.resolve.handler (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:49)
at F:\project\telegram_bot\node_modules\telegraf\composer.js:120:56
at execute (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:13)
at Promise.resolve.handler (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:49)
at compose (F:\project\telegram_bot\node_modules\telegraf\scenes\wizard\index.js:37:16)
at execute (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:13)
at F:\project\telegram_bot\node_modules\telegraf\composer.js:337:14
Failed to process updates. TypeError: Cannot read property 'text' of undefined
at ctx (F:\project\telegram_bot\app.js:111:45)
at compose (F:\project\telegram_bot\node_modules\telegraf\scenes\wizard\index.js:45:39)
at execute (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:13)
at Promise.resolve.handler (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:49)
at F:\project\telegram_bot\node_modules\telegraf\composer.js:120:56
at execute (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:13)
at Promise.resolve.handler (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:49)
at compose (F:\project\telegram_bot\node_modules\telegraf\scenes\wizard\index.js:37:16)
at execute (F:\project\telegram_bot\node_modules\telegraf\composer.js:352:13)
at F:\project\telegram_bot\node_modules\telegraf\composer.js:337:14
мои файлы: app.js
const Telegraf = require("telegraf");
const token = "TOKEN";
const session = require("telegraf/session");
const Stage = require("telegraf/stage");
const Markup = require("telegraf/markup");
const WizardScene = require("telegraf/scenes/wizard");
const Composer = require("telegraf/composer");
const bot = new Telegraf(token);
const getApi = require("./api");
bot.start(ctx => {
ctx.reply(
`Hello ${ctx.from.first_name}. Сhoose one of the commands`,
Markup.inlineKeyboard([
Markup.callbackButton("Curse", "curse"),
Markup.callbackButton("Convert", "convert")
]).extra()
);
});
bot.command("help", ctx => ctx.reply("Дело в том, что ctx.message есть только у текстовых сообщений, для экшенов вроде бы используется ctx.callbackQuery. Чтобы узнать тип полученного сообщения можно посмотреть ctx.updateType. Если нужно получить "контент сообщения, каким бы оно ни было", то можно ctx[ctx.updateType].
А вообще вот документация, квадратными скобками обозначены опциональные поля.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей