Size: a a a

Боты на Telegraf 3.38

2021 June 12

-C

- Cloud in Боты на Telegraf 3.38
вот
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
ctx.reply(message, Markup.keyboard( [ [‘top button’], [‘bottom button’] ] ))
источник

АА

Артём Александрович... in Боты на Telegraf 3.38
спасибо!
источник

EO

Even Odd in Боты на Telegraf 3.38
Как, имея дескриптор канала,

chat: {id, type: "channel"}

получить ссилку на него, типа 't.me/'
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
ребят, почему после ctx.scene.leave() не рендерится предыдущее состояние?

контекст: из главного on.text() захожу в свою сцену, в нужный момент хочу выйти из нее
выходит, вижу по выводам в консоль, но Markdown.keyboad и replyMessage не меняется
только если пользователь что-то введет, сработает дефотлный обработчик и отобразит предыдущий маркап и текст
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
сработал и enter, и leave
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
дефолтное  -вот это место в самом корне (удалил другие switch/case для наглядности)
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
я нахожусь в этом месте, рендерит кнопки mainMarkup, реплай текст MAIN_SCREEN
с помощью bot.hears() захожу в сцену
потом выхожу из этой сцены, ожидаю увидеть все тот же mainMarkup и MAIN_SCREEN текст, но он появляется только если ввести что-то
не знаю, это из-за того, что у меня дефолтный свич кейс на это стоит или просто потому что телеграму нужен какой-то апдейт от пользователя, чтобы перерендериться
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
на предыдущий, который был до сцены
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
у меня изначально нет сцены, просто .он(текст), он рендерит текст “”Главный экран” и пару кнопок, одна из них запускает сцену
заходишь в сцену, он пишет “Сцена №1”, например, и рисует пару своих кнопок, неважно каких
одна из эитх кнопок вызывает выход из сцены
scene.leave() срабатывает
но кнопки остаются те же, что были в сцене
но стоит что-то написать, то сразу рендерится опять изначальные пару кнопок и ”Главный экран”
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
вопрос в том, что почему после того, как вызван ctx.scene.leave() я не вижу кнопок и текста с главного экрана? может оно и не должно так работать, может мне надо под капотом запускать какую-то команду, которая принудительно будет рендерить кнопки и “Главный экран”?
источник

O

OfCourse in Боты на Telegraf 3.38
Как привязать токен своего бота к websocket
В https
https://api.telegram.org/bot<токен_вашего_бота>/getUpdates
А вот как это делается через websocket при подключении к pluto.web.telegram.org/apiws?
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
да, так и есть
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
то есть просто принуительно сделать ctx => ctx.reply(MAIN_SCREEN, mainMarkup);?
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
я просто хотел как-то не дублировать код
источник

-C

- Cloud in Боты на Telegraf 3.38
@MasterArthur скинь свой гитхаб
источник

-C

- Cloud in Боты на Telegraf 3.38
источник

SB

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

SB

Serhii Biliaiev in Боты на Telegraf 3.38
но он не сделан через сцены, просто инициализация бота и пару хендлеров
источник

SB

Serhii Biliaiev in Боты на Telegraf 3.38
будет работать норм, если я заверну первый экран в сцену и потом просто буду в него руками переходить из второй сцены, когда захочу оттуда выйти:


replace
ctx.scene.leave()

with
ctx.scene.enter(‘mainScene’)
источник