не работают сцены telegraf.js
выдает ошибку когда пытаюсь инициализировать сцены в Stage Ошибка:
throw new Error('telegraf: Unsupported scene');
Error: telegraf: Unsupported scene
at C:\Users\User\Desktop\IchiroTg\node_modules\telegraf\lib\scenes\stage.js:17:23
at Array.forEach (<anonymous>)
at Stage.register (C:\Users\User\Desktop\IchiroTg\node_modules\telegraf\lib\scenes\stage.js:15:16)
at C:\Users\User\Desktop\IchiroTg\node_modules\telegraf\lib\scenes\stage.js:12:40
at Array.forEach (<anonymous>)
at new Stage (C:\Users\User\Desktop\IchiroTg\node_modules\telegraf\lib\scenes\stage.js:12:16)
at Object.<anonymous> (C:\Users\User\Desktop\IchiroTg\index.js:8:15)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
[nodemon] app crashed - waiting for file changes before starting...
index.js:
const { token, allowedUsers } = require('./config.json');
const ScenesGenerate = require('./libs/Scenes.js');
const bot = new Telegraf(token);
const scenes = new ScenesGenerate;
const scenesLogging = scenes.loggining;
const stage = new Stage([ scenesLogging() ])
bot.use(session())
bot.use(stage.middleware())
const fs = require('fs');
bot.start((ctx) => {
if (ctx.from.username === allowedUsers[0]) return ctx.reply(`Привет создатель!
/admin
/stats
/examples
`)
return ctx.reply(`Привет ${ctx.from.username}, нажми на -> /description`);
})
bot.command('description', (ctx, next) => {
ctx.reply(`Привет, данный бот не предназнчен для массовго пользования.\nБот оказывает услуги, по мониторингу и помощи в работе небольшим коммнадам в it\nДля пользования ботом нужно иметь секретные ключи верефикации.`)
// сделать опрос для кнопки верефикации после переход в логин сцену
})
bot.command('login', (ctx) => {
ctx.scene.enter('loggining')
})
bot.launch()
Scenes.js:
const { enter, leave, reenter } = Stage;
class Scenes {
loggining() {
const loggining = new BaseScene('loggining');
loggining.enter(async (ctx) => {
await ctx.reply('Напиши код верефикатор')
})
loggining.on('message', (ctx) => {
ctx.reply('Нельзя пересылать сообщение!');
return ctx.scene.reenter();
});
loggining.on('text', async (ctx) => {
const userKeyInputVereficateCode = String(ctx.message.text);
if(userKeyInputVereficateCode === verificateCode) {
await ctx.reply(`Вы успешно авторизавались! ✅`);
return
}
else {
ctx.reply('Код верефикации неверный, введите снова! ❌');
ctx.scene.reenter();
return
}
})
}
}
module.exports = Scenes