Любые идеи по развитию MyChat. Запросы на новые функции, предложения по улучшению уже работающих сервисов. Если вы знаете, что нужно добавить в MyChat — welcome!
Аватара пользователя
Глеб
В настройках есть пункт "Автосоздаваемые конференции" и там есть галочка "Запрет выхода из этой конференции", проблема такая. Есть группа пользователей, которые автоматически подключаются к своей конференции, и если поставить галочку "Запрет выхода из этой конференции", то выйти они из нее не могут, а так же не могут и те, кто заходил в эту конференцию сам, через общий список.
Есть ли возможность запретить выходить из конференции пользователям, которые автоматически туда входят и разрешить выходить тем, кто заходит сам?
Аватара пользователя
Алексей Пикуров
Добрый день.

Такого не предусмотрено. Можно сделать такую логику при помощи скрипта на сервере, в принципе. Я попробую написать в этой теме, выложу готовое решение. Надо будет обновить сервер.
Аватара пользователя
Алексей Пикуров
Глеб, вопрос ещё актуален?
Аватара пользователя
Глеб
Алексей Пикуров писал(а):Глеб, вопрос ещё актуален?

Конечно.
Аватара пользователя
Глеб
Алексей Пикуров писал(а):Глеб, вопрос ещё актуален?

Ну так что?
Аватара пользователя
Алексей Пикуров
Я не делал такой скрипт ещё, пока времени.
Аватара пользователя
Алексей Пикуров
Решение готово, версия 5.23, специальная сборка, нужно обновить и клиент, и сервер.
https://nsoft-s.com/files/mychat.zip

Делаете скрипт на событие OnConfLive, типа такого:

Код: Выделить всё
function OnConfLeave(iCID, iUIN, iUID: integer; sConfName: string): boolean;
var
  bFlag: boolean;
begin
  bFlag := true;
 
    if sConfName = 'main' then
      if mIsUserIncludedToAutoConf(iUIN, iUID) then bFlag := false;
   
  result := bFlag; 
end;

begin

end.


onconflivescript.png
Обработка события выхода пользователя из текстовой конференции в MyChat
onconflivescript.png (43.28 КБ) Просмотров: 794

Логика скрипта такая:

1. В конференции установлен запрет на выход.
2. Пользователь пытается выйти из конференции.
3. Если эта конференция "main", то делается проверка, пользователь входит в список тех, кто включается в конференцию автоматом или нет? Если нет, то юзеру разрешается покинуть конференцию.