|
Downgrade > Forums > Networks > Архитектура "Double-UIN".
<< < Page 1 of 1 > >>
|
Moderation History | New Thread | Reply | Subscribe
|
|
BitByByte
Member since Feb 25, 2025
|
Недавно я придумал архитектуру ботов для KICQ, предназначенную для исправления проблем с отправкой сообщений. Объясняю принцип работы. Так как из-за особенностей протокола OSCAR по UDP не всегда удаётся отправить сообщение определённого размера, а закономерностей у этих размеров нет (т. е. не отправляются как сообщения длиной 2 символа, так и сообщения длиной 35 символов и так далее), я решил сделать систему, которая автоматически подгоняет сообщение к такому размеру, который гарантированно отправится.
Принцип работы следующий: перед тем как отправить сообщение конечному пользователю, наш основной номер (с которого мы хотим отправить сообщение) сначала отправляет его на второй номер. Если сообщение дошло, второй номер сообщает об этом первому (всё общение происходит на основе общего файла, но можно было бы сделать и через оперативную память), а первый уже отправляет сообщение пользователю.
Если же второму номеру сообщение не пришло, первый номер начинает добавлять пробелы, пока не найдётся комбинация, которая будет доставлена. Как только подходящая комбинация найдена, сообщение отправляется.
На самом деле всё работает весьма быстро - задержка между ботом и конечным пользователем составляет не более 0.3 секунды. К тому же можно добавить кэширование, чтобы бот сохранял, к каким сообщениям сколько пробелов нужно добавлять, дабы не обращаться каждый раз ко второму номеру.
Я уже сделал первую реализацию для библиотеки pykicq, и всё это работает достаточно неплохо. В скором времени отправлю сюда номер первого чат-бота на основе данной архитектуры. |
| Posted Feb 2, 2026, 05:33 PM |
Quote
|
Kolambur
Member since Feb 02, 2026
|
Идею более-менее понял. Теперь вам нужно приступить к практике и реализации. |
| Posted Feb 2, 2026, 05:56 PM |
Quote
|
|