хакатон · битрикс24 · icq · архитектура · интеграция · ностальгия21 сентября в 11:32 · 5 мин

ICQ в Битрикс24: как за один хакатон соединили эпохи мессенджеров

В рамках хакатона команда разработчиков Битрикс24 создала прототип seek_you — систему, позволяющую общаться в корпоративном портале, используя классический клиент ICQ. Проект работает как адаптер: он перехватывает соединения со старого мессенджера и транслирует их в интерфейс Битрикс24, создавая иллюзию единой среды без участия ботов-посредников.

# Как за один хакатон мы вживили ICQ в Битрикс24

В мире цифровых коммуникаций, где мессенджеры меняются быстрее моделей смартфонов, иногда возникает странное желание вернуться в начало. В июле 2026 года команда Битрикс24 реализовала эту ностальгию не ради ретро-шоу, а как инженерный вызов. Задача стояла амбициозная: подключить настоящие клиенты ICQ к современному корпоративному порталу так, чтобы для сотрудников все выглядело как обычный рабочий чат.

Результатом стал прототип seek_you — самодельная сеть, работающая за кадром. Она подменяет стандартный сервер ICQ и связывает его с API Битрикс24. Коллега в старом «Ай-Сии» пишет сообщение, а получатель видит его в привычном интерфейсе портала как личное сообщение от сотрудника. Никаких ботов, которые транслируют текст по очереди — только прямая, хоть и обманчивая, связь эпох.

*Примечание редакции Umine Nagi: Когда старая технология, которая уже не существует официально, встречается с мощной современной CRM, создается напряжение между ностальгией и реальностью. Здесь оно не просто существует — оно конвертируется в код.*

Архитектура моста между эпохами

Основой эксперимента стала идея создания адаптера. Проект состоит из трех ключевых компонентов, каждый из которых выполняет свою функцию в этой сложной цепи трансляции.

В центре steht Open-oscar-server — открытый проект, написанный на языке Go. Он эмулирует сервер ICQ, принимая подключения от старых клиентов. Сервер общается с ними на протоколе OSCAR, хранит временные данные в SQLite и предоставляет внутренний HTTP-интерфейс WIM. Именно через WIM Python-мост, являющийся «сердцем» системы, получает доступ к технической сессии.

Python-мост выступает переводчиком. С одной стороны он взаимодействует с OSCAR-сервером, а с другой — подключается к Битрикс24 через входящий вебхук. Вебхук дает доступ к API Битрикс24, но, как отмечают разработчики, сам по себе он не присылает новые сообщения. Мост должен постоянно опрашивать сервер через HTTPS-запросы каждые три секунды, чтобы узнать, появились ли новые диалоги или ответы.

Такой подход позволяет сохранять нативность. Иван в его старом клиенте ICQ видит, что пишет Иван, а не общий «Битрикс-бот». Каждому сотруднику создается отдельная прокси-сессия, что обеспечивает изоляцию и стабильность связи.

Как генерируются старые идентификационные коды

Одна из главных технических головоломок заключалась в уникальных числовых идентификаторах пользователей ICQ, известных как UIN. Официальная сеть ICQ была закрыта компанией VK в июне 2024 года, и использовать реальные UIN из прошлого нельзя.

Разработчики придумали хитрый способ генерации синтетических UIN. Формула проста и обратима: к внутреннему ID сотрудника в Битрикс24 прибавляется константа 10_000_000. Например, сотрудник с ID 123 получает локальный UIN 10000123.

Такой сдвиг необходим из-за старых правил протокола ICQ, которые не допускали использование малых чисел вроде 4 или 123 в качестве валидных идентификаторов. Мост всегда вычисляет этот UIN при отправке сообщения и обратно переводит его в ID сотрудника при получении ответа. Это позволяет старой программе «думать», что она общается с другим пользователем старой сети, хотя в реальности все участники — сотрудники одного предприятия.

Цикл жизни сообщения в гибридной системе

Процесс передачи данных выглядит сложнее, чем кажется на первый взгляд. Когда пользователь отправляет сообщение из ICQ Lite, оно проходит несколько этапов трансформации перед появлением в Битрикс24.

1. ICQ-клиент отправляет текст на локальный сервер в кодировке CP1251 — старой кириллической кодировке. Это создавало проблемы с отображением русских букв, которые нужно было исправлять на стороне сервера. 2. Сервер переводит текст в современный формат Unicode. 3. Python-мост получает событие о новом сообщении через WIM, удаляет техническое форматирование и преобразует UIN адресата в ID сотрудника Битрикс24. 4. Мост вызывает метод добавления сообщения в Битрикс24, и оно появляется в личном диалоге.

Обратная связь работает зеркально: мост опрашивает Битрикс24 на наличие новых сообщений, находит соответствующий локальный UIN и отправляет текст через прокси-сессию в ICQ. Также система способна менять статус контакта на «онлайн» и пометить диалог как прочитанный, имитируя поведение реального клиента.

Ограничения и предупреждения

Проект остается экспериментальным прототипом. Одно из главных ограничений — отсутствие шифрования. Сообщения передаются в открытом виде, поэтому использовать эту систему на продуктивных серверах категорически нельзя. Разработчики подчеркивают, что здесь присутствуют множество технических упрощений и «костылей», характерных для быстрого создания прототипа во время хакатона.

Кроме того, клиенты старой публичной ICQ-сети найти невозможно — серверы закрыты официально. Поэтому список контактов формируется исключительно на основе сотрудников конкретного портала Битрикс24. Также стоит отметить, что файлы передаются в виде текстовых пометок, а не как вложения.

Тем не менее, опыт интеграции подал важные выводы о совместимости наследия и современных технологий. Проект демонстрирует, что даже самые старые протоколы можно заставить работать в новых средах, если найти правильный путь трансляции данных. В мире, где привычные интерфейсы исчезают, такие эксперименты напоминают, что цифровая культура имеет свои корни, которые иногда полезно сохранять, даже если они больше не существуют в официальных списках.

Tags: хакатон, битрикс24, искусственный интеллект, icq, ретро-технологии

Первоисточники

Habr AI
← Вернуться в эфир