"Для разработчиков", "Серверные скрипты", "Скриптовые события", "Chat events", "Конференции", "OnConfJoin".

 

Событие, которое возникает только при самостоятельной попытке пользователя входа в текстовую конференцию. Оно не работает, если пользователя в конференцию включает сам сервер.

 

Шаблон события

function OnConfJoin(iCID, iUIN, iUID: integer; sConfName: string): boolean;
begin
  // your own code
  
  result := true;
end;
begin
end.

Вместо комментария может быть любой ваш код.

 

Описание параметров

Параметр

Тип

Значение

iCID

integer

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

iUIN

integer

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

iUID

integer

уникальный идентификатор конференции (число > 0);

sConfName

string

текстовое название конференции.

 

Возвращаемое значение

По умолчанию функция должна возвращать true, но вы можете запретить пользователю вход в конференцию, вернув false. Никаких автоматических предупреждающих сообщений или уведомлений об ошибке у клиента выдано не будет.

 

Пример

function OnConfJoin(iCID, iUIN, iUID: integer; sConfName: string): boolean;
var
  iHour: integer;
  bFlag: boolean;
begin
  bFlag := true;
  iHour := HourOf(Now);
  
    if (iHour >= 18) or (iHour < 9) then 
      if sConfName = 'main' then begin
        mSendCustomMsgToClientConsoleByCID(iCID, 'Sorry, you can''t enter to this conference. Entering time is 9:00 - 18:00',
                                           'Error', true, true, 78); 
        bFlag := false;
      end;
  
  result := bFlag;
end;
begin
end.

Скрипт проверяет, чтобы вход в конференцию "main" был разрешён только в рабочее время, с 9:00 до 18:00. Если пользователь попытается войти туда в другое время, скрипт запретит это делать и отправит пользователю в консоль такое уведомление:

 

Уведомление в консоль MyChat Client о невозможности входа в конференцию
 

Ещё посмотреть

HourOf

mSendCustomMsgToClientConsoleByCID