WizardScene in Google Apps Script
lumpia framework - 1Yo6vQRwjG5Gl9jeEF0g2tBTUa0XN5MyT4G_HeDpRr9DvabxhRcSdhPNj
Wizard library - 1qh5YcQ6JIQcBj97jouAzZmjuuZnTybJVXvyKNs07SobcTPxu-sIXU87R
const { Scene, Stage } = WizardDua;
// create new client
const bot = new lumpia.init(token);
// handle webhook response with doPost
function doPost(e) {
bot.doPost(e);
}
// create new session
const session = new Scene(
'session_one', // id to define the session you can fill with anything
// step handle
(ctx) => {
ctx.data = {}; // create temp database
ctx.reply('Input your number');
return ctx.wizard.next();
},
(ctx) => {
ctx.data.number = ctx.message.text; // now you can save user respon.
ctx.reply(`Your number : ${ctx.message.text}`);
return ctx.wizard.leave();
}
);
// create new stage. you can fill with multiple stage.
const stage = new Stage([session]);
// use stage as middleware.
bot.use(stage.middleware());
// start command
bot.start((ctx) => ctx.reply('Started!'));
// if user send /login bot will running the current stage.
bot.cmd('login', (ctx) => {
return stage.enter('session_one'); // enter the session which has id "stage_one"
});