3 / 3 / 0
Регистрация: 13.07.2020
Сообщений: 228
|
||||||
1 | ||||||
Эффективный планировщик отправки сообщений с учетом лимитов Telegram API31.07.2022, 16:02. Показов 934. Ответов 6
Метки нет (Все метки)
Здравствуйте, пишу в данный момент бота который будет работать с большим объемом отправки сообщений пользователям.
Сталкиваюсь с проблемой работы с лимитами. Как известно лимиты по одному сообщению в секунду на пользователя, но не более 30 сообщений за 1 секунду. Проблема в том что серверные секунды не совпадают часто с моими локальными, к тому же сделать планировщик который будет учитывать эти 2 лимита тоже не просто (для меня). Так как сообщений много нужна еще приоритизация отправки, чтобы ответы на команды были быстрыми, а вот какие либо другие данные могли приходить с задержкой. Для решения проблемы с секундами я придумал отлавливать сообщение об ошибке и возвращать сообщение в пул планировщика и приостанавливать его работу на указанное в сообщении время. Для решения проблемы с лимитом в 30 сообщении в секунду мне подсказали в этой теме, за что всем я очень благодарен. Но остался вопрос ограничения отправки не более одного сообщения в секунду для каждого чата. Для решения проблемы я написал следующий планировщик. Но его работа оставляет желать лучшего , он работает шустро, но если для пользователя скопилось много сообщений то они долго висят в очереди с приоритетом Scheduled, что просто так грузит процессор. Быть может кто то может предложить лучший вариант? Или помочь с оптимизацией этого? На просторах интернета негде не нашел кода по работе с ограничениями Telegram API.
0
|
31.07.2022, 16:02 | |
Ответы с готовыми решениями:
6
Mail.ru Api отправки сообщений Mail.RU - API отправки сообщений (node-telegram-bot-api) как получить ID всех сообщений в чате? Telegram API (НЕ Telegram Bot API!) - как правильно спарсить все сообщения в чате? |
388 / 253 / 66
Регистрация: 12.04.2020
Сообщений: 1,326
|
|
05.08.2022, 00:32 | 2 |
0
|
3 / 3 / 0
Регистрация: 13.07.2020
Сообщений: 228
|
|
05.08.2022, 00:34 [ТС] | 3 |
0
|
388 / 253 / 66
Регистрация: 12.04.2020
Сообщений: 1,326
|
|
05.08.2022, 00:40 | 4 |
0
|
3 / 3 / 0
Регистрация: 13.07.2020
Сообщений: 228
|
|
05.08.2022, 00:45 [ТС] | 5 |
На извлечение данных из шедуллера выделен отдельный long running поток, какой смысл тут в Task если шедуллер работает на протяжении всего времени работы приложения? И вопрос вообще не в этом.
0
|
388 / 253 / 66
Регистрация: 12.04.2020
Сообщений: 1,326
|
|||||||||||
05.08.2022, 01:14 | 6 | ||||||||||
создаете
скрипт отрабатывает раз в 30 секунд
лучше обьединить тексты нескольких BotMessage в один BotMessage (если канал отправки одинаков), например по 20 штук и отправляете считая отправки превысили 30 отправок в секунду - Task.Delay(1_000(тут хз надо сидеть пробывать по времени));
1
|
3 / 3 / 0
Регистрация: 13.07.2020
Сообщений: 228
|
|
05.08.2022, 01:29 [ТС] | 7 |
Я пробовал так делать, с помощью StringBuilder считал символы чтоб за лимит не выйти, но теряется функциональность сообщений, так как важно чтобы к каждому была прикреплена картинка. Если их объединить то так сделать не получится.
К сожалению время на сервере телеграма часто не совпадает с моим локальным. Путем проб и ошибок выверил 20 сообщений в секунду и не чаще чем одно в 2 секунды для приватного чата. Основная проблема в том что нужно соблюдать эти 2 лимита и при этом быстро доставлять сообщения тем пользователям у которых ограничения по лимиту в момент извлечения их сообщения из очереди нет. Часто сообщения не успевают быть отправлены пользователю, а уже приходят новые к отправке, из за этого лимиты еще сложнее контролировать.
0
|
05.08.2022, 01:29 | |
05.08.2022, 01:29 | |
Помогаю со студенческими работами здесь
7
Telegram bot для приема сообщений + консоль для ручной отправки ответов API для отправки подобных net send сообщений. PHP API для отправки и получения SMS сообщений с SMPP Бот telegram не может подключиться к https://api.telegram.org:443: (Java) Определить наиболее эффективный маршрут для пересылки сообщений между 2 районами (минимальное остовное дерево) Отправка сообщений в Telegram Telegram поиск сообщений и каналов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |