MyChat Scripts: функция mGetUsersListByNickAndState, получить список пользователей по нику и статусу
Получить список UIN-ов пользователей по их нику и сетевому статусу.
Синтаксис
function mGetUsersListByNickAndState(sNick: string; iState: integer): string;
Параметры и возвращаемые значения
| 
    Параметр  | 
  
    Тип  | 
  
    Значение  | 
 
| 
    sNick  | 
  
    string  | 
  
    ник пользователя, регистр букв не важен;  | 
 
| 
    iState  | 
  
    integer  | 
  
Результат функции
Строка с UIN-ми найденных пользователей через запятую. Если ни один пользователь не найден — пустая строка.
Пример
const
  NICK = 'admin';
var
  sUINS, sUIN, sEmail, sDisplayName: string;
begin
  sUINS := mGetUsersListByNickAndState(NICK, -2);
  
    if length(sUINS) > 0 then begin
      mLogScript(sUINS, '');
        while length(sUINS) > 0 do begin
          sUIN := Fetch(sUINS, ',');
          sDisplayName := mGetUserAttribute(StrToInt(sUIN), 'DisplayName');
          sEmail := mGetUserAttribute(StrToInt(sUIN), 'Email');
          
            if length(sEmail) = 0 then sEmail := '-';
          
          mLogScript('Name: ' + sDisplayName + ', Email: ' + sEmail, 'UIN ' + sUIN);
        end;
    end else mLogScript('No users found', '');
end.
Результат работы скрипта
[18:43:19] (Log "mGetUsersListByNickAndState"): 1,13632,13676,15878
[18:43:19] (Log "mGetUsersListByNickAndState"): [UIN 1] Name: admin, Email: -
[18:43:19] (Log "mGetUsersListByNickAndState"): [UIN 13632] Name: admin, Email: support@gmail.com
[18:43:19] (Log "mGetUsersListByNickAndState"): [UIN 13676] Name: admin, Email: alex@oneminute.mail
[18:43:19] (Log "mGetUsersListByNickAndState"): [UIN 15878] Name: ADMIN, Email: chief@mail.com
[18:43:19] (Run "mGetUsersListByNickAndState"): Время выполнения скрипта: 10 мс
[18:43:19] (Run "mGetUsersListByNickAndState"): Скрипт выполнен успешно.