The event that occurs when attempting to open a private dialogue between two users.

 

Template event


function OnPrivateRequest(iCID, iUIN, iUINTo, iRole, iRoleReciever, iTask: integer): boolean;
begin
  // your own code
  result := true;
end;
begin
end.


You can write any of your code instead of the comment.

 

Description of parameters

Parameter

Type

Value

iCID

integer

Client connection ID, unique session identifier in the online structure of network connections to the server;

iUIN

integer

unique identifier of the private dialogue initiator (число >=0);

iUINTo

integer

unique identifier of the message recipient (number >=0);

iRole

integer

index for the sender's rights group;

iRoleReciever

integer

index for the recipient's rights group;

iTask

integer

task type: 0 — regular private message, 1 — an attempt for sending files from the program, 2 — an attempt to send files from the context menu of Windows Explorer (Explorer).

 

Return value

By default, this function must return the value "true". If you set the value "false" — a private dialogue won't open and there will be no messages displayed.

 

Example


function OnPrivateRequest(iCID, iUIN, iUINTo, iRole, iRoleReciever, iTask: integer): boolean;
begin
  if (iUIN = 6) and (iUINTo = 3) then begin
    mSendCustomMsgToClientConsoleByCID(iCID, 'You are not allowed to talk to this person' + CRLF +
                                             'All questions to Google :)',
                                             'Error', true, true, 74); 
    result := false;
  end else result := true;
end;
begin
end.


The script checks which user is trying to hide the private dialogue session and if a user with UIN 6 starts the conversation with a user that has UIN 3 then the private conversation attempt is overlapped and none of these users receives any message.

 

However, in the example we send a system message to a user that tries to start the conversation in order to notify him that the private conversation is impossible since the administrator has forbidden it.

 

 

See also

CRLF

mSendCustomMsgToClientConsoleByCID