Скриптова подія MyChat Server: OnPrivateRequest
Подія, що виникає під час спроби відкриття приватного діалогу між двома користувачами.
Шаблон події
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, спроба приватної розмови припиняється і жодних повідомлень ні одному, ні іншому користувачеві не видається.
Однак у прикладі ми додатково надсилаємо користувачеві, який намагався розпочати розмову, спеціальне системне повідомлення, щоб повідомити його про те, що приватна розмова не розпочалася тому, що адміністратор сервера заборонив це.
Дивитися ще
mSendCustomMsgToClientConsoleByCID
Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor