Size: a a a

Боты на Telegraf

2021 January 12

Y💜

Yūri 💜 Ly in Боты на Telegraf
Nikita Kolmogorov
Ребятки, а чего в https://github.com/telegraf/telegraf/pull/1276 мы внезапно решили, что не нужно делать асинхронный поллинг апдейтов? Чувак старается, 3-4 PR открыл с разными подходами, пропоузалы пишет, а разбивается просто о стену того, что меинтейнерам это "не надо" в Телеграфе.

Но это надо! Меня задолбало ивентлуп спамить через bot.use((_, next) => { next() }), мне бы хотелось какого-то более правильного решения для того, чтобы обрабатывать все новые апдейты еще до того, как хендлеры предыдущего батча апдейтов завершились.

Что думаете?

сc: @dotcypress
Согласен, кстати. А то текущие костыли бред. А вебхуки говно
источник

OS

Oscar S in Боты на Telegraf
Nikita Kolmogorov
а есть пример реализации?
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
+
источник

Y💜

Yūri 💜 Ly in Боты на Telegraf
Josh Dies 🥭 [man go]
ващет есть Composer.fork
А можно пример как сделать с ним нормально асинк? Типо bot.use(Composer.fork) или как
источник

NK

Nikita Kolmogorov in Боты на Telegraf
типа setTimeout(..., 1) будет там у каждого хендлера?
источник

OS

Oscar S in Боты на Telegraf
Nikita Kolmogorov
типа setTimeout(..., 1) будет там у каждого хендлера?
нет в 3.38 там Promise.race
источник

NK

Nikita Kolmogorov in Боты на Telegraf
Oscar S
нет в 3.38 там Promise.race
ок, спасибо большое
источник

OS

Oscar S in Боты на Telegraf
между пачками обнов
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
Yūri 💜 Ly
А можно пример как сделать с ним нормально асинк? Типо bot.use(Composer.fork) или как
просто оборачиваешь свой хендлер в форк и всё, апдейты дальше идут, а хендл на следующем тике

ну контекст только сейви
источник

NK

Nikita Kolmogorov in Боты на Telegraf
то есть если я сделаю handlerTimeout: 1, то телеграф не будет ждать завершения всех хендлеров текущего батча апдейтов, а пойдет за следующим батчем апдейтов?
источник

OS

Oscar S in Боты на Telegraf
Nikita Kolmogorov
то есть если я сделаю handlerTimeout: 1, то телеграф не будет ждать завершения всех хендлеров текущего батча апдейтов, а пойдет за следующим батчем апдейтов?
да
источник

NK

Nikita Kolmogorov in Боты на Telegraf
спасибо большое!
источник

Y💜

Yūri 💜 Ly in Боты на Telegraf
Nikita Kolmogorov
то есть если я сделаю handlerTimeout: 1, то телеграф не будет ждать завершения всех хендлеров текущего батча апдейтов, а пойдет за следующим батчем апдейтов?
Секунду ждать наверное будет. Не? Или я не понял
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
следующего тика
источник

OS

Oscar S in Боты на Telegraf
Nikita Kolmogorov
спасибо большое!
источник

Y💜

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

Y💜

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

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
расстраиваш
источник

NK

Nikita Kolmogorov in Боты на Telegraf
в доках о handlerTimeout еще не написали?
источник

OS

Oscar S in Боты на Telegraf
Nikita Kolmogorov
в доках о handlerTimeout еще не написали?
его там никогда не было))
источник