MyChat Scripts Engine: mSetUserAttribute

MyChat Scripts Engine: mSetUserAttribute

Функция для изменения данных профиля пользователя по его атрибуту.

 

Синтаксис

function mSetUserAttribute(iUIN: integer; sAttributeName, sValue: string): integer;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

iUIN

integer

уникальный идентификатор пользователя;

sAttributeName

string

имя атрибута из профиля, который следует изменить. Регистр букв не важен;

sValue

string

значение атрибута.

 

Список доступных полей пользователя, которые можно изменять

Название

Описание

Custom_1

текстовое custom-поле номер 1;

Custom_2

текстовое custom-поле номер 2;

Custom_3

текстовое custom-поле номер 3.

 
Результат функции

0

функция отработала успешно;

-1

указан несуществующий пользователь;

-2

указан неправильный атрибут;

-3

вы не можете устанавливать атрибуты для робота (UIN = 0).

 

Пример

В разделе настроек формирования внешнего вида имени пользователя указываем "%nick% %custom1%". Имя пользователя будет составлено из ника и некоей переменной, которую мы заполняем из скрипта. У каждого пользователя есть имя компьютера, если пользователь "мигрирует", то мы меняем его custom-поле в профиле, чтобы в чате отображалось "в дороге", если он работает на ноутбуке и его имя компьютера "TOSHIBA-...", "офис" — если название компьютера "COMP....." и так далее.

 

Обработку вешаем" на событие OnUserLogin:

function OnUserLogin(iCID, iLoginUIN, iLoginState: integer; sLoginIP, sLoginMAC, sLoginHardwareID, sLoginCompName, sLoginVersion, sLoginDomain, sSessionID, sAuthService, sClientType, sRemoteOS: string): boolean;
var
  s, sWhere: string;
begin
  s := LowerCase(sLoginCompName);
  
  sWhere := '';
  
    if pos('toshiba', s) <> 0 then sWhere := '(в дороге)' else
    if pos('comp-', s) <> 0 then sWhere := '(офис)' else
    if pos('kiev', s) <> 0 then sWhere := '(у заказчика)';
  
  mSetUserAttribute(iLoginUIN, 'custom_1', sWhere);  
  
  result := true;
end;

begin

end.

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

Пользователь залогинен на компьютере с именем "TOSHIBA-PC":

 

Внешний вид пользоваеля в MyChat после выполнения скрипта

 

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

LowerCase

Pos