MyChat Scripts: функция mGetCIDAttribute, получить атрибут соединения

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.

Результат работы скрипта

Информация о пользователе с сайта для оператора WEB-поддержки

Ещё посмотреть

CRLF

IntToStr

Length

mGetRoleNameByID

mGetUserCID

mSendCustomMsgToClientConsoleByCID

mSendPrivateMessage

OnPrivateRequest