telegraf
Version:
📡 Modern Telegram bot framework
37 lines (34 loc) • 837 B
JavaScript
const Telegraf = require('telegraf')
const session = require('telegraf/session')
const Stage = require('telegraf/stage')
const WizardScene = require('telegraf/scenes/wizard')
const superWizard = new WizardScene('super-wizard',
(ctx) => {
ctx.reply('Step 1')
ctx.wizard.next()
},
(ctx) => {
if (ctx.message && ctx.message.text !== 'ok') {
return ctx.replyWithMarkdown('Send `ok`')
}
ctx.reply('Step 2 ')
ctx.wizard.next()
},
(ctx) => {
ctx.reply('Step 3')
ctx.wizard.next()
},
(ctx) => {
ctx.reply('Step 4')
ctx.wizard.next()
},
(ctx) => {
ctx.reply('Done')
ctx.scene.leave()
}
)
const bot = new Telegraf(process.env.BOT_TOKEN)
const stage = new Stage([superWizard], { default: 'super-wizard' })
bot.use(session())
bot.use(stage.middleware())
bot.startPolling()