Как подключить сцены в телеграм бота я никак не могу понять в чем моя ошибка?

    require('dotenv').config();
    const Stage = require('telegraf/stage');
    const { enter, leave } = Stage;
    const Telegraf = require('telegraf');
    const Scene = require('telegraf/scenes/base');
    
    const bot = new Telegraf('token');
    // const mongoose = require('mongoose');
    const uuid = require('uuid');
    const session = require('telegraf/session');
    const contactStartScene =  require('./scenes/scenecontact');
    const curContact = new contactStartScene();
    const contactSceneStart = curContact.contactscenes();
    bot.use(Telegraf.log());
    
    const stageContact = new Stage([contactSceneStart]);
    
    
    bot.use(stageContact.middleware());
    bot.start(async ctx=>ctx.scene.enter('contact') );

// При подключение сцены пишет что Cannot read property 'enter' of undefined я не могу понять в чем проблема, утыкаюсь в мануал уже третий день ответ найти не могу

const Telegraf = require('telegraf');
const Scene = require('telegraf/scenes/base');
const Stage = require('telegraf/stage');
const {
    enter,
    leave
} = Stage;
class contactStartScene {
    contactscenes() {
        const contact = new Scene('contact');
        contact.enter((ctx) => {
            ctx.replyWithMarkdown("Для того чтобы продолжить введите свой номер", {

                reply_markup: {

                    keyboard: [
            

                [{
    
                                text: "Отправить номер",
                                request_contact: true,
    
                            }]
                        ],
                        resize_keyboard: true,
                        one_time_keyboard: true
                    },
    
                });
            });
            return contact;
        }
    
    }
    
    module.exports = contactStartScene;


Ответы (1 шт):

Автор решения: Maksim Kraev

Мне кажется у тебя просто enter просто не про инициализировался, так как ты подключаешь библиотеки используя CommonJS, а юзаешь код используя ES6. Выбери, что то одно, редактор конфликтует.

И ошибка такова, что ты не правильно про инициализировал классы с библиотеке Телеграффа, а именно:

const {Telegraf, Scenes} = require("telegraf")

const { enter, leave } = ***Scenes.Stage***

Stage - не объявляется

→ Ссылка