170 похожих чатов

Народ, проблема. Я тестировал бот одновременно из двух телеграм аккаунтов и

проблема заключается в том, что когда код доходит до вот этой проверки ссылки:

const regex = /^(http(s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/;

if (regex.test(ctx.message.text)) {}

То код ждет пока проверка ссылки завершится у одного пользователя, и только тогда он начинает проверку у другого.

Нужно чтобы независимо работало, как бы у каждого пользователя свой отдельный контекст

19 ответов

23 просмотра
ꑭ- Автор вопроса

звучит как что-то, что нуждается в асинхроне

ꑭ- Автор вопроса

надо смотреть код API класса, возможно там нет асинка


там все на async await

это ещё ничего не значит

>>> import re >>> import time >>> >>> # Регулярное выражение для проверки >>> regex = r"^(http(s)?:\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$" >>> >>> # Входная строка для проверки >>> url = "https://example.com" >>> >>> # Компилирование регулярного выражения >>> pattern = re.compile(regex) >>> >>> # Измерение времени выполнения проверки >>> start_time = time.time() >>> >>> # Выполнение проверки >>> result = pattern.fullmatch(url) >>> >>> # Расчет времени выполнения >>> elapsed_time = time.time() - start_time >>> >>> print(f"Результат проверки: {bool(result)}") Результат проверки: True >>> print(f"Время выполнения проверки: {elapsed_time} секунд") Время выполнения проверки: 0.03199887275695801 секунд Не думаю что 30 мс на проверку даже в синхроне это много

ꑭ- Автор вопроса
Ax3🇺🇦
>>> import re >>> import time >>> >>> # Регулярное...

ладно, потом при оптимизации регулярку укорочу, но проблема же const isValid = await service.checkURL(api, ctx); тут


ладно, потом при оптимизации регулярку укорочу, но...

Добавь логов в сервис, посмотри где пауза

ꑭ- Автор вопроса
Tishka17
Ну давай посмотрим API класс все таки

https://gist.github.com/dwarionas/cbb4e4e864af29f6303e3483a6ead24c


https://gist.github.com/dwarionas/cbb4e4e864af29f6...

Бессмысленный класс, давай смотреть rezka


screenshot

@chrissstiaan


screenshot

Убрать async await (с помощью промиса), сделать цикл и поставить Timeout Костыль, но у меня работало

Christian
Убрать async await (с помощью промиса), сделать ци...

тот твинк спиздил какой-то араб, поставили другой сервисный акк, который впихнули в инвайтер

zxc
тот твинк спиздил какой-то араб, поставили другой ...

У меня складывается вопрос чё там не было пароля

А ну, это святое ваххаха

ꑭ- Автор вопроса

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта