{
await ctx.reply(
'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ',
);
await ctx.scene.leave();
return this.telegramBotService.authOneDay(ctx);
} else {
await ctx.reply(
`Спасибо, теперь ты курьер «Магнита» и поможешь сотням людей не остаться без заказов. Забери заказ у сотрудника и отнеси его как можно быстрее. Тебе предстоит преодолеть 256 метров.`,
{
reply_markup: {
inline_keyboard: [
[{ text: 'Я пошел(ла)', callback_data: 'initDeliveryForm' }],
],
},
},
);
await ctx.scene.leave();
}
} catch (error) {
await this.handleError(ctx, error);
}
}
private async handleError(ctx: Scenes.WizardContext, error: any) {
console.error(error);
await ctx.scene.leave();
}
private getMessageText(ctx: Scenes.WizardContext): string {
if (ctx.message && 'text' in ctx.message) {
return (ctx.message as any).text;
}
return '';
}
private isCommand(text: string): boolean {
return (
text.startsWith('/') ||
text.trim().includes('Привет!') ||
text.trim().includes('Ты попал')
);
}
private isValidEmail(email: string): boolean {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
private async commandReject(ctx: Scenes.WizardContext) {
return ctx.reply('Комманды запрещены, введите данные корректно:');
}
}
кто-нибудь мне может объяснить почему это так работает и как работает правильно wizard и почему иногда в контекст появляются сообщения от бота, например текст который отправляется с приветствием ?
Правильно ли сделан тут ретрай шагов
неправильно
Обсуждают сегодня