Подія, що виникає під час спроби відкриття приватного діалогу між двома користувачами.

 

Шаблон події
function OnPrivateRequest(iCID, iUIN, iUINTo, iRole, iRoleReciever, iTask: integer): boolean;
begin
  // your own code
  result := true;
end;
begin
end.


Замість коментаря може бути будь-який ваш код.

 

Опис параметрів

Параметр

Тип

Значення

iCID

integer

Connection ID клієнта, унікальний сеансовий ідентифікатор в онлайн структурі мережевих підключень до сервера;

iUIN

integer

унікальний ідентифікатор ініціатора приватного діалогу (число >=0);

iUINTo

integer

унікальний ідентифікатор одержувача повідомлення (число >=0);

iRole

integer

індекс групи прав відправника;

iRoleReciever

integer

індекс групи прав отримувача;

iTask

integer

тип завдання: 0 — стандартне приватне повідомлення, 1 — спроба надсилання файлів із програми, 2 — спроба надсилання файлів із контекстного меню Провідника (Explorer).

 

Значення, що повертається

Стандартно функція повинна повертатись true. Якщо ви надаєте результату функції false — приват не відкриється, жодних повідомлень при цьому показано не буде.

 

Приклад
function OnPrivateRequest(iCID, iUIN, iUINTo, iRole, iRoleReciever, iTask: integer): boolean;
begin
  if (iUIN = 6) and (iUINTo = 3) then begin
    mSendCustomMsgToClientConsoleByCID(iCID, 'Вам заборонено спілкуватись з цією людиною.' + CRLF +
                                             'Такі справи :)',
                                             'Error', true, true, 74); 
    result := false;
  end else result := true;
end;
begin
end.


Скрипт відстежує, який користувач намагається відкрити сеанс приватної розмови, і якщо розмову починає користувач з UIN 6, а його опонент — користувач з UIN 3, спроба приватної розмови припиняється і жодних повідомлень ні одному, ні іншому користувачеві не видається.


Однак у прикладі ми додатково надсилаємо користувачеві, який намагався розпочати розмову, спеціальне системне повідомлення, щоб повідомити його про те, що приватна розмова не розпочалася тому, що адміністратор сервера заборонив це.

 

Дивитися ще

CRLF

mSendCustomMsgToClientConsoleByCID