gpt4 book ai didi

node.js - 无法使用 Stage.enter 和变量名称进入 telegraf 场景

转载 作者:行者123 更新时间:2023-12-05 08:31:48 25 4
gpt4 key购买 nike

我正在使用 telegraf 创建电报机器人使用 wizards .我想在我的机器人中有几个向导。我怎样才能进入另一个场景?我正在使用以下代码,但出现错误 Cannot read property 'enter' of undefined

const Stage = require("telegraf/stage");
const WizardScene = require("telegraf/scenes/wizard");
const wiz1 = new WizardScene('task1',
ctx => {...},
ctx => {...}
);
const wiz2 = new WizardScene('task2',
ctx => {...},
ctx => {...}
);
const wiz3 = new WizardScene('task3',
ctx => {...},
ctx => {...}
);

const stage =new Stage([wiz1,wiz2,wiz3],{default: 'task1'})
bot.hears('anAction', (ctx) => {Stage.enter('wiz2')}); // this does not work

最佳答案

这是一个迟到的回复,但它可能对某些人有所帮助。您需要注册阶段的中间件after const stage = new Stage ...before bot.hears...

bot.use(stage.middleware())

而且您还可以使用他们的 id 而不是变量名称进入场景。因此,不要使用 Stage.enter('wiz2'),而是使用 Stage.enter('task2') 进入 wizard2。

关于node.js - 无法使用 Stage.enter 和变量名称进入 telegraf 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55303203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com