MyChat Scripts: функция mSetUserAttribute, изменить атрибут пользователя
Функция для изменения данных профиля пользователя по его атрибуту.
Синтаксис
function mSetUserAttribute(iUIN: integer; sAttributeName, sValue: string): integer;
Параметры и возвращаемые значения
Параметр |
Тип |
Значение |
iUIN |
integer |
уникальный идентификатор пользователя; |
sAttributeName |
string |
имя атрибута из профиля, который следует изменить. Регистр букв не важен; |
sValue |
string |
значение атрибута. |
Список доступных полей пользователя, которые можно изменять
Название |
Описание |
Tag |
текстовый тег, специальное поле; |
UserDomainName |
имя домена пользователя; |
InternalNickName |
ник пользователя. Если пользователь доменный — это его доменное имя; |
Active |
активна или заблокирована учётная запись пользователя (1 или 0); |
FirstName |
реальное имя пользователя; |
MiddleName |
отчество пользователя; |
LastName |
фамилия пользователя; |
Home_MaritalStatus |
|
Home_Phone |
домашний телефон; |
Home_Fax |
домашний факс; |
Home_Birthday |
дата рождения в формате dd.mm.yyyy; |
|
основной адрес электронной почты; |
Home_Cellular |
личный мобильный; |
Home_StreetAddress |
домашний адрес; |
Home_City |
город проживания; |
Home_State |
штат/провинция/область/край проживания; |
Home_ZIP |
домашний почтовый индекс; |
Home_Country |
|
Home_WWW |
личная WEB-страница; |
Work_Position |
должность; |
Work_CompanyName |
название компании; |
Work_Office |
рабочий офис; |
Work_Phone |
рабочий телефон; |
Work_Fax |
рабочий факс; |
Work_Pager |
рабочий пейджер или номер мессенджера; |
Work_StreetAddress |
рабочий адрес; |
Work_City |
рабочий город; |
Work_State |
рабочий штат/провинция/область/край; |
Work_ZIP |
рабочий почтовый индекс; |
Work_Country |
|
Work_WWW |
рабочая WEB-страница; |
Spoken_Lang_1 |
владение языками, номер 1; |
Spoken_Lang_2 |
владение языками, номер 2; |
Spoken_Lang_3 |
владение языками, номер 3; |
Interest_Section_1 |
область интересов, номер 1; |
Interest_Section_2 |
область интересов, номер 2; |
Interest_Section_3 |
область интересов, номер 3; |
Interest_Section_4 |
область интересов, номер 4; |
Interest_Words_1 |
область интересов, ключевые слова, номер 1; |
Interest_Words_2 |
область интересов, ключевые слова, номер 2; |
Interest_Words_3 |
область интересов, ключевые слова, номер 3; |
Interest_Words_4 |
область интересов, ключевые слова, номер 4; |
History_Section_1 |
тип прошлого места работы или учёбы, номер 1; |
History_Section_2 |
тип прошлого места работы или учёбы, номер 2; |
History_Section_3 |
тип прошлого места работы или учёбы, номер 3; |
History_Words_1 |
тип прошлого места работы или учёбы, ключевые слова номер 1; |
History_Words_2 |
тип прошлого места работы или учёбы, ключевые слова номер 2; |
History_Words_3 |
тип прошлого места работы или учёбы, ключевые слова номер 3; |
Past_Organization_1 |
тип организации, прошлого места работы, номер 1; |
Past_Organization_2 |
тип организации, прошлого места работы, номер 2; |
Past_Organization_3 |
тип организации, прошлого места работы, номер 3; |
Past_Organization_Words_1 |
тип организации, прошлого места работы, ключевые слова номер 1; |
Past_Organization_Words_2 |
тип организации, прошлого места работы, ключевые слова номер 2; |
Past_Organization_Words_3 |
тип организации, прошлого места работы, ключевые слова номер 3; |
Sex |
|
Hello_Message |
сообщение-приветствие, если есть. Показывается всем пользователям, открывшим приват с этим человеком; |
Autoreplay_Message |
сообщение-автоответчик; |
Autoreplay |
включен или выключен автоответчик (1 — включен, 0 — выключен); |
About |
информационное поле "О пользователе"; |
Custom_1 |
текстовое custom-поле номер 1; |
Custom_2 |
текстовое custom-поле номер 2; |
Custom_3 |
текстовое custom-поле номер 3. |
Результат функции
0 |
функция отработала успешно; |
-1 |
указан несуществующий пользователь; |
-2 |
указан неправильный атрибут; |
-3 |
вы не можете устанавливать атрибуты для робота (UIN = 0); |
-4 |
содержимое атрибута не может быть пустым. |
Пример
В разделе настроек формирования внешнего вида имени пользователя указываем "%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":