Size: a a a

Боты на Telegraf 3.38

2021 January 13

☔️✨ɸᴇнᴇᴋ бᴇɜ-нᴏжᴇᴋ✨☔... in Боты на Telegraf 3.38
yung musk
Ну тогда жри говно раз не хочешь говно исправлять. В этом смысл опенсорса. За тебя никто не обязан фиксить.
Я ниже написал что интересно кто собирается с ним дружить
источник

DR

Den Ri in Боты на Telegraf 3.38
yung musk
А вот вам пряник к кнуту
Читаю Кнут - думаю про алгоритмы
источник

ym

yung musk in Боты на Telegraf 3.38
☔️✨ɸᴇнᴇᴋ бᴇɜ-нᴏжᴇᴋ✨☔️
Я ниже написал что интересно кто собирается с ним дружить
Тебя даже не просят pr кидать, ишьюс заводи на то что не нравится хотя бы
источник

☔️✨ɸᴇнᴇᴋ бᴇɜ-нᴏжᴇᴋ✨☔... in Боты на Telegraf 3.38
yung musk
Тебя даже не просят pr кидать, ишьюс заводи на то что не нравится хотя бы
ну ок
источник

E

Egor in Боты на Telegraf 3.38
yung musk
Тебя даже не просят pr кидать, ишьюс заводи на то что не нравится хотя бы
Они должны быть на узбекском?
источник

E

Egor in Боты на Telegraf 3.38
Или подойдет и engeles?
источник

OO

Oleg Oskolsky 🦊 in Боты на Telegraf 3.38
yung musk
return Promise.all(updates.map((update) => this.handleUpdate(update)))
Это и убивает боты, которые упали и которые выполняют удаленные тяжёлые запросы
источник

ym

yung musk in Боты на Telegraf 3.38
Egor
Они должны быть на узбекском?
Если будут на узбекском, код фиксить будут индусы
источник

E

Egor in Боты на Telegraf 3.38
> Это и убивает боты

->

> Это и убивает ботов.
источник

ym

yung musk in Боты на Telegraf 3.38
Egor
> Это и убивает боты

->

> Это и убивает ботов.
Это твой язык программирования новый?
источник

E

Egor in Боты на Telegraf 3.38
Нет?
источник

M

Murka in Боты на Telegraf 3.38
yung musk
Блэд.

По поводу кэтча попробую вам всем объяснить.

1. Каждая асинхронная мидлварь (вернее, коллбэк аля async ctx => ctx) по определению промис-функция вызываемая next() в промисе async (ctx, next) => next().) .
2. Async/await/catch это сахар над Promise.then.
3. Для того, чтобы цепочка корректно работала и промис резолвися, необходимо что-то возвращать промис {async ctx => return ctx.reply} или async (ctx, next) => next()
4. bot.catch() это глобальная обертка над всей этой цепочкой ваших асинхронных мидлварей
5. Резюмируя: Для того, чтобы глобальный кэтч над тем что в пункте 1 в конце работал корректно, вам необходимо чтобы ваши async промисы возвращали другие промисы и цепочка не прерывалась.

TL;DR: возвращайте в async мидлварях промисы a.k.a. return next() или return ctx.reply() и будет вам щастье глобального обработчика
То есть не авейтить next()?
источник

E

Egor in Боты на Telegraf 3.38
Если тебе по логике надо эвейтить - эвейти.
источник

☔️✨ɸᴇнᴇᴋ бᴇɜ-нᴏжᴇᴋ✨☔... in Боты на Telegraf 3.38
пиздец
источник

ym

yung musk in Боты на Telegraf 3.38
Murka
То есть не авейтить next()?
Эвэйтить с трай кэтч можно
источник

ym

yung musk in Боты на Telegraf 3.38
Если это нужно
источник

M

Murka in Боты на Telegraf 3.38
yung musk
Эвэйтить с трай кэтч можно
А если глобально кэтчить только?
источник

ym

yung musk in Боты на Telegraf 3.38
Murka
А если глобально кэтчить только?
Тада может наебнуца
источник

M

Murka in Боты на Telegraf 3.38
yung musk
Тада может наебнуца
Логично
источник

OS

Oscar S in Боты на Telegraf 3.38
Murka
То есть не авейтить next()?
Логика простая, главное не разрывать цепочку обратчиков
источник