В настоящее время я работаю над телеграмм-ботом Node, который принимает различные данные от пользователя и выполняет некоторые действия, но я получаю сообщение об ошибке, которое объясняется приведенным ниже кодом. Пожалуйста, помогите, я использую Telegraf node api.
это мастер, который я создал:
const mkConnection=new WizardScene("make_connection",ctx=>{
ctx.reply("Enter IP address of the server (External IP):",
Markup.inlineKeyboard(cross).extra());
return ctx.wizard.next();
},ctx=>{
ctx.wizard.state.ipAddress=ctx.message.text;
ctx.reply(`IP Address:${ctx.wizard.state.ipAddress}\nEnter Username:`,
Markup.inlineKeyboard(cross).extra());
return ctx.wizard.next();
},ctx=>{
ctx.wizard.state.username=ctx.message.text;
ctx.reply(`IP Address:${ctx.wizard.state.ipAddress}\nusername:${ctx.wizard.state.username}\nEnter Password:`,
Markup.inlineKeyboard(cross).extra());
return ctx.wizard.next();
},
ctx=>{
ctx.wizard.state.password=ctx.message.text;
ctx.reply(`IP Address:${ctx.wizard.state.ipAddress}\nusername:${ctx.wizard.state.username}\nEnter Password:${ctx.wizard.state.password}`,
Markup.inlineKeyboard(auth_menu).extra());
return ctx.scene.leave();
});
вот макет кнопок, который я создал:
var cross=[
[Markup.callbackButton("❌ cancel","cancel")]
];
вот как я обрабатываю кнопку с крестиком
var stepHandler=new Composer();
stepHandler.action('cancel',ctx=>{
console.log("left....");
ctx.replyWithMarkdown("`process cancelled...`",
Markup.keyboard(main_menu).extra());
ctx.scene.leave("make_connection");
});
const stage=new Stage([mkConnection]);
bot.use(session());
bot.use(stage.middleware());
bot.startPolling();
когда я нажимаю кнопку отмены, он возвращает следующую ошибку:
TypeError: Cannot read property 'text' of undefined
Failed to process updates. TypeError: Cannot read property 'text' of undefined
ctx.message не определен, но не может понять, что вызывает проблему и как ее исправить.
пожалуйста, помогите.