Size: a a a

Боты на Telegraf

2020 December 01

АШ

Артём Шевченко... in Боты на Telegraf
и цеплять доп. ивент
источник

SB

Semeon Boboshko in Боты на Telegraf
Артём Шевченко
handers тож не верно, лучше композер вешать
в handlers обработчик с callback_query, который я пытаюсь вызвать
источник

АШ

Артём Шевченко... in Боты на Telegraf
Semeon Boboshko
в handlers обработчик с callback_query, который я пытаюсь вызвать
так не будет работать
источник

SB

Semeon Boboshko in Боты на Telegraf
Артём Шевченко
так не будет работать
Я уже понял. Как можно починить в визарде?
источник

АШ

Артём Шевченко... in Боты на Telegraf
Артём Шевченко
вот так
const sellScene = new WizardScene('sell', async (ctx) => {
   ctx.reply(`Введи число, паскуда!`)
   ctx.wizard.next()
}, Composer.mount('text', (ctx) => {
   if (!isNaN(ctx.message.text)) { //проверка на число
       ctx.reply(`Молодец, послушный, ты ввел число.`)
       return ctx.wizard.next()  
   }
   ctx.reply(`Ты не ввел число, мраз`)
})
.
источник

АШ

Артём Шевченко... in Боты на Telegraf
примерно так
источник

АШ

Артём Шевченко... in Боты на Telegraf
Semeon Boboshko
в handlers обработчик с callback_query, который я пытаюсь вызвать
на композер вешать уже свои ивенты callback_query и тд
источник

АШ

Артём Шевченко... in Боты на Telegraf
правда это плохая практика мне кажется
источник

SB

Semeon Boboshko in Боты на Telegraf
почему?
источник

АШ

Артём Шевченко... in Боты на Telegraf
повесив композер один он так и будет висеть
источник

АШ

Артём Шевченко... in Боты на Telegraf
структура рушится
источник

АШ

Артём Шевченко... in Боты на Telegraf
архитектуры никакой не будет
источник

АШ

Артём Шевченко... in Боты на Telegraf
везде придется вешать проверки на каком шаге находится сцена и тд
источник

SB

Semeon Boboshko in Боты на Telegraf
Из-за этого лучше сцены использовать?
источник

АШ

Артём Шевченко... in Боты на Telegraf
да обычные сцены
источник

OO

Oleg Oskolsky 🦊 in Боты на Telegraf
Сцены топ.
источник

SB

Semeon Boboshko in Боты на Telegraf
А можете пример какой-нибудь простой кинуть, чтобы сцены последовательно вызывались? Я пытаюсь анбординг сделать
источник

SB

Semeon Boboshko in Боты на Telegraf
Если не сложно
источник

АШ

Артём Шевченко... in Боты на Telegraf
Артём Шевченко
const Scene = require('telegraf/scenes/base')
const {
 Markup,
 Extra
} = require('telegraf')

const scene = new Scene('kakawa')

scene.enter(async (ctx) => {
 ctx.replyWithHTML(`Напиши отзыв, блядина`)
 ctx.scene.state.setReview = true
})
scene.on("text", async (ctx) => {
 if(ctx.scene.state.setReview) {
   ctx.scene.state.setReview = false
   ctx.scene.state.setService = true
   await ctx.replyWithHTML(`Спасибо за отзыв, чучело`)
   await ctx.replyWithHTML(`Какая услуга интересует?`)
 } else if(ctx.scene.state.setService) {
   ctx.scene.state.setService = false
   ctx.scene.state.setInfo = true
   await ctx.replyWithHTML(`Укажите информацию о себе, псина`)
 }else if(ctx.scene.state.setInfo) {
   ctx.scene.state.setInfo = false
   await ctx.replyWithHTML(`Добром, а теперь пшел вон`)
   ctx.scene.leave()
 }
})

module.exports = scene
ну вот самый дешманский пример
источник
2020 December 02

SB

Semeon Boboshko in Боты на Telegraf
Артём Шевченко
ну вот самый дешманский пример
Спасибо!
источник