Событие MyChat Server: OnConfJoin, ручной вход пользователя в конференцию
"Для разработчиков", "Серверные скрипты", "Скриптовые события", "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. Если пользователь попытается войти туда в другое время, скрипт запретит это делать и отправит пользователю в консоль такое уведомление: