Size: a a a

Боты на Telegraf 3.38

2021 June 09

Y💜

Yūri 💜 Ly in Боты на Telegraf 3.38
))
источник

A

Arthur Kh in Боты на Telegraf 3.38
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf 3.38
Я не помню там атавизм с ме заполняется ли с инфо при старте
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf 3.38
Неудобно щас в исходники, в пути
источник

1

10000101101111111010... in Боты на Telegraf 3.38
Это в launch:
this.options.username = botInfo.username
this.context.botInfo = botInfo

А это в контексте:
get me () {
   return this.options && this.options.username
}
источник

V

Viktor in Боты на Telegraf 3.38
А подскажите пожалуйста.
Вот сделал я BaseScene, определил обработчик enter и leave, назначил вход в сцену по команде, но почему-то всегда срабатывает сначала метод leave, а уже потом enter.
Что не так?
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf 3.38
Я не про это
источник

V

Viktor in Боты на Telegraf 3.38
const keyboardAgree = Markup.inlineKeyboard([{ text: 'Я согласен', callback_data: cnt.callbacks.agreement }]);

export const startScene = new Scenes.BaseScene<Scenes.SceneContext<SessionContextData>>(cnt.startSceneId);

startScene.enter(async ctx => {
 console.log('---------- Enter', ctx.session.__scenes);

 if (ctx.session.__scenes.userAgreement) {
   return ctx.scene.leave();
 }

 return ctx.replyWithMarkdown(cnt.strings.startMessage, keyboardAgree);
});

startScene.action(cnt.callbacks.agreement, async ctx => {
 console.log('---------- Action', ctx.session.__scenes);
 ctx.session.__scenes.userAgreement = true;
 return ctx.scene.leave();
});

startScene.leave(async ctx => {
 console.log('---------- Leave', ctx.session.__scenes);
 return ctx.reply(cnt.strings.welcome);
});
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf 3.38
Лень, если надо — перечитай
источник

V

Viktor in Боты на Telegraf 3.38
и вот вызов
    const stage = new Scenes.Stage([startScene]);
   bot.use(stage.middleware());

   bot.command('/info', ctx => ctx.scene.enter(cnt.startSceneId));
источник

V

Viktor in Боты на Telegraf 3.38
Ага
источник

V

Viktor in Боты на Telegraf 3.38
Я сейчас вообще убрал этот вызов.
источник

V

Viktor in Боты на Telegraf 3.38
Тоже самое
источник

V

Viktor in Боты на Telegraf 3.38
Ну, как и предполагается, отрабатывает только enter
источник

V

Viktor in Боты на Telegraf 3.38
Да, конечно
источник

V

Viktor in Боты на Telegraf 3.38
Он и с leave в enter заходит, только вторым шагом
источник

V

Viktor in Боты на Telegraf 3.38
Так, а вот здесь не понял. Видно я где-то не догоняю как эта система работает
источник

V

Viktor in Боты на Telegraf 3.38
да
источник

V

Viktor in Боты на Telegraf 3.38
Я кажется понял.
источник

V

Viktor in Боты на Telegraf 3.38
да
источник