MyChat Scripts: функция mGetCIDAttribute, получить атрибут соединения
"Для разработчиков", "Серверные скрипты", "Описание функций", "Пользователи", "mGetCIDAttribute".
Функция для получения свойств пользовательского подключения (онлайн-соединения) по его атрибуту.
Синтаксис
function mGetCIDAttribute(iCID: integer; sAttributeName: string): string;
Параметры и возвращаемые значения
Параметр |
Тип |
Значение |
iCID |
integer |
уникальный идентификатор подключения; |
sAttributeName |
string |
имя атрибута, который нужно получить. Можно указать только один атрибут. |
Список доступных атрибутов
Название |
Описание |
LastAccessUTC |
дата и время подключения пользователя (UTC) в формате dd.mm.yyyy.hh.nn.ss; |
ClientType |
|
Ver |
версия приложения пользователя; |
IP |
IP адрес, с которого было произведено соединение; |
MAC |
MAC адрес компьютера пользователя, если его удалось определить; |
NetName |
сетевое имя компьютера пользователя; |
HardwareID |
идентификатор "железа" компьютера пользователя, если его удалось определить; |
OS |
операционная система пользователя; |
Interfaces |
список локальных сетевых интерфейсов подключения через запятую; |
Reflink |
реферальная ссылка, с которой пользователь открыл WEB-чат; |
Lang |
default язык системы пользователя; |
UserAgent |
UserAgent браузера пользователя, если это WEB-чат; |
Secured |
шифрованное или нет соединение пользователя. |
Результат функции
Текстовая строка, свойства атрибута соединения пользователя. Если CID указан неправильно или атрибут не найден или пуст — вернётся пустая строка.
Пример
Обработка скриптового события OnPrivateRequest для вывода информации о пользователе из браузера WEB-поддержки в чат оператора:
function OnPrivateRequest(iCID, iUIN, iUINTo, iRole, iRoleReciever, iTask: integer): boolean;
var
s,
sIP, // IP адрес пользователя WEB-поддержки
sWEBSupportBrowserInfo, // информация о веб-браузере
sWEBSupportRefLink, // рефлинк
sWEBSupportsSysLanguage, // язык локали браузера
sWEBSupportsPlatformOS: string; // операционная система юзера
iCIDTo: integer;
begin
if mGetRoleNameByID(iRole) = 'WEB guests' then begin
iCIDTo := mGetUserCID(iUINTo);
if iCIDTo <> -1 then begin
sIP := mGetCIDAttribute(iCID, 'IP');
sWEBSupportBrowserInfo := mGetCIDAttribute(iCID, 'UserAgent');
sWEBSupportRefLink := mGetCIDAttribute(iCID, 'Reflink');
sWEBSupportsSysLanguage := mGetCIDAttribute(iCID, 'Lang');
sWEBSupportsPlatformOS := mGetCIDAttribute(iCID, 'OS');
s := '---------------' + CRLF +
'-=WEB Support=-' + CRLF + CRLF +
'IP: ' + sIP;
if length(sWEBSupportBrowserInfo) > 0 then s := s + CRLF + 'Browser: ' + sWEBSupportBrowserInfo + CRLF;
if length(sWEBSupportRefLink) > 0 then s := s + CRLF + 'Reflink: ' + sWEBSupportRefLink;
if length(sWEBSupportsSysLanguage) > 0 then s := s + CRLF + 'System language: ' + sWEBSupportsSysLanguage;
if length(sWEBSupportsPlatformOS) > 0 then s := s + CRLF + 'OS: ' + sWEBSupportsPlatformOS;
mSendPrivateMessage(iUIN, iUINTo, s, 21, true);
mSendCustomMsgToClientConsoleByCID(iCIDTo, 'WEB support session from UIN ' + inttostr(iUIN), 'newmsg', false, true, 78);
end;
end;
result := true;
end;
begin
end.