-------------------------------------------------------- Общие сведения: -------------------------------------------------------- В версии 3.10 реализован механизм, позволяющий создавать программы-дополнения к клиенту CommFort. Данная функция работает только при сочетании клиента версии 3.10 и зарегистрированного сервера версии 3.10. Основан механизм на приеме и передаче UDP пакетов. Для включения обработки и отправки пакетов в клиенте чата необходимо отредактировать в файле Config\Main.ini следующие строки: ------------- [Bot] Enabled=1 IP=здесь указывается IP-адрес программы-надстройки Port=здесь указывается порт программы-надстройки DisableMessages=0 (если 1, то приходящие сообщения не отображаются) ------------- Обратите внимание, CommFort client будет принимать и обрабатывать сообщения только с IP-адреса и порта, указанных в данном ini файле. Узнать же адрес (в первую очередь порт), по которому необходимо отправлять UDP пакеты к клиенту чата можно по первому пакету, генерируемому программой CommFort client при подключении к серверу. -------------------------------------------------------- Описание состава сообщений: -------------------------------------------------------- При разработке структуры сообщений главный приоритет был установлен на простоте освоения и использования, потому что экономия трафика в данном случае не нужна. Для описания состава сообщений, отправляемых клиенту чата и принимаемых от него будут использоваться следующие шаблоны: число(описание): целое десятичное 32 разрядное число. представляет из себя последовательность 4х байтов, содержащих данное число текст(описание): текстовые данные. Представляют из себя число(длина текста в байтах) + сам текст пользователь(описание): текст(Ник пользователя) + текст(IP-адрес пользователя) + текст(MAC-адрес пользователя) -------------------------------------------------------- Состав сообщений, отправляемых клиентом чата: -------------------------------------------------------- Подключение к серверу данного клиента, список пользователей которые уже присутствуют в чате: -- число(3) + число(количество пользователей в чате) + пользователь()*количество пользователей в чате -- [в данном случае пользователь() будет повторяться столько раз сколько пользователей в чате] Подключение пользователя: -- число(1) + пользователь() -- Отключение пользователя: -- число(2) + пользователь() -- Сообщение в канале: -- число(5) + пользователь() + текст(название канала) + текст(опубликованное сообщение или состояние) -- Смена темы: -- число(6) + пользователь() + текст(название канала) + текст(новая тема) -- Смена ника: -- число(7) + пользователь() + текст(новый ник) -- Смена состояния: -- число(8) + пользователь() + текст(новое состояние) -- Сообщение в приватный канал: -- число(10) + пользователь() + текст(сообщение) -- Открытие менеджера каналов, ответ запрос списка каналов: -- число(11) + число(количество общих каналов) + (текст(название канала)+число(количество посетителей)+текст(тема))*количество каналов -- [в данном случае текст(название канала)+число(количество посетителей)+текст(тема) будут повторяться столько раз сколько общих каналов в чате] -------------------------------------------------------- Состав сообщений, принимаемых клиентом чата: -------------------------------------------------------- Опубликовать сообщение в канал: -- число(50) + текст(название канала) + текст(сообщение) -- Опубликовать состояние в канал: -- число(51) + текст(название канала) + текст(состояние) -- Наложить ограничение: -- число(52) + число(тип ограничения) + число(время в минутах) + текст(название записи ограничения) + текст(название канала) + текст(IP-адрес пользователя) + текст(MAC-адрес пользователя) + текст(причина ограничения) -- Типы ограничения: 0 - Запретить доступ к чату, 1 - Запретить доступ к каналу, 2 - Запретить публикацию в канале, 3 - Запретить публикацию картинок, 4 - Запретить публикацию объявлений. Запросить список пользователей (клиент чата вернет сообщение с идентификатором 3): -- число(60) -- Изменить тему канала: -- число(61) + текст(название канала) + текст(новая тема) -- Изменить приветствие канала: -- число(62) + текст(название канала) + текст(новое приветствие) -- Опубликовать сообщение в приват: -- число(63) + пользователь() + текст(сообщение) -- Внимание! Данная команда работает только если клиент имеет права администратора чата. Опубликовать состояние в приват: -- число(64) + пользователь() + текст(состояние) -- Внимание! Данная команда работает только если клиент имеет права администратора чата. Выйти из приватного канала: -- число(65) + пользователь() -- Выйти из общего канала: -- число(66) + текст (канал) -- Создать общий канал или подключиться: -- число(67) + число(режим) + текст (канал) -- Режимы: 0 - не отображать в списке каналов 1 - отображать в списке каналов -- Запросить список каналов: -- число(68) -- --------------------------------------------------------