Страница 1 из 1

Не могу выгнать пользователя из конференции

СообщениеДобавлено: Вт апр 02, 2019 4:39 pm
ChimMAG
Создал сегодня запороленную конференцию со входом только определённой группе пользователей, назначил модератора (как всегда, со старым багом: создаю конференцию, но назначить модератора в эту конференцию некоторое время (несколько часов точно) не могу - её просто нет в списке конференций в диалоге назначения модераторам конференции).
Для работы модераторов используется скрипт по событию OnConfJoin - если человек попадает в соответствующую конференцию (а он это может сделать либо введя пароль, либо если его "впихнёт" модератор), то он проверяется на присутствие в соответствующей (конференции) группе пользователей и при отсутствии там автоматически добавляется (в группу пользователей).
Всё хорошо, но затесался в конференции один лишний человек. Странно. Я его точно не добавлял. Ладно, удаляю из группы пользователей, выпихиваю из конференции, переконнекчиваю его - она-на! Он опять в конфе. И в группе пользователей. Непонятно. Делаю лог - да, в группу он добавляется этим скриптом, но почему возбуждается событие OnConfJoin? Вариантов вижу три: либо у него осталась незакрыта вкладка с соответствующей открытой конференцией и он восстанавливает при реконнекте все вкладки и возникает событие (на всякий случай я отключил на сервере "восстанавливать вкладки при старте"), либо он добавил каким-то образом конференцию в "любимые", либо... Либо не знаю. Получается, что я не могу его выгнать из конференции никаким образом.

Re: Не могу выгнать пользователя из конференции

СообщениеДобавлено: Ср апр 03, 2019 9:49 am
ChimMAG
Добавлю. Сейчас специально остановил скрипт OnConfJoin , проверил на его отсутствие в соответствующей группе и переконнектил пользователя. Он всё равно автоматически зашёл в нужную конференцию, но не попал в соответствующую группу. То есть он просто попадает автоматом туда, хотя нет в группе, конференция запаролена и это просто один какой-то конкретный никак не связанный ни с чем пользователь. Проверил - пользователи каких групп попадают в конференцию. Только одной, в которой этого пользователя нет. Почему он туда заходит?!!!

Re: Не могу выгнать пользователя из конференции

СообщениеДобавлено: Ср апр 03, 2019 2:00 pm
Андрей Раков
Добрый день.

Скорее все эта конференция у него в списке "Любимых".

Как вариант забанить его с наказанием "Вход в конференцию".

Re: Не могу выгнать пользователя из конференции

СообщениеДобавлено: Ср апр 03, 2019 7:55 pm
ChimMAG
Андрей Раков писал(а):Скорее все эта конференция у него в списке "Любимых".

Как вариант забанить его с наказанием "Вход в конференцию".


Скорее всего. Но административных инструментов работы со списком любимых каналов у него, как я понимаю, нет. Верно? Но есть на лицо баг безопасности - пользователь лег и просто попадает туда, куда не должен.
Забанить - вариант, хоть это и костыль. Но я одинаково могу и написать одну строку-исключение для него в скрипт, но это такой же костыль на костыле. А если другой пользователь так же сделает?

Re: Не могу выгнать пользователя из конференции

СообщениеДобавлено: Чт апр 04, 2019 8:34 am
ChimMAG
Разобрались с пользователем. Действительно у него эта конференция была в "Любимых" каналах. Но!! У него не было даже прав для работы с любимыми - просто нет иконки "конференции" на панели: отключены в правах пользователей. Это раз. То есть он мог какими-то горячими клавишами или как?
Второе. Нет административных инструментов для разрешения таких ситуаций. Для решения мне сейчас пришлось:
а) включить в правах пользователей отображение "Конференции";
б) зайти удалённо/лично на его рабочее место и удалить из "любимых" данную конференцию;
в) опять вернуть права.
Согласитесь, что это неправильно, когда надо что-то делать с машины пользователя лично, открывать его от работы и прочее.
При этом я уверен, что сам пользователь каких-то осознанных действий явно не предпринимал для всего этого (да и у него нет инструментов для этого). Плюс вопрос с безопасностью - пароль он явно не знал.

Re: Не могу выгнать пользователя из конференции

СообщениеДобавлено: Пт апр 05, 2019 3:34 pm
Алексей Пикуров
Да, эти вопросы мы будем решать.

Re: Не могу выгнать пользователя из конференции

СообщениеДобавлено: Ср дек 11, 2019 12:30 pm
ChimMAG
Опять с другим человеком возникла такая ситуация. Особенно огорчают две вещи: во-первых в самом начале обещаешь людям/выполняешь заявку на исключение пользователя, а потом оказывается, что он вновь там. Неприятно и осадочек. И второе - в принципе нехорошо что-то делать на стороне пользователя, что бы не допустить/исключить его откуда-то.
В данной ситуации сделал персональное исключение в скриптах для конкретного пользователя, но сами понимаете - это самый настоящий костыль.
Итого по проблеме работы с конференциями и исключениями из неё не хватает:
  • возможность разделить события приглашения модератором и автовход через группу или любимую конференцию. Сейчас генерируется единое событие
  • чрезвычайно не хватает противоположного события OnConfLeave. Просто половинчатый в данном функционал. Кстати, тут больше нравится другое решение проблемы - возможность делать конференции не только по принципу "все или члены групп", но и просто "выбранные пользователи". Тогда модераторские приглашения/исключения будут работать без всяких скриптов что называется "из коробки". И не будет очень большого неудобства и нелогичности (при этом я понимаю, что "изнутри" это скорее всего будет реализованно через скрытые внутренние группы пользователей, но пусть они и остаются внутренними и скрытыми от глаз, а не как сейчас...). Хотя и при этом анти-OnConfLeave лишним не будет
  • работы со списком "любимых конференций" - на данном этапе можно только выяснить есть ли они у пользователя или нет в принципе (и то в текущей августовской ревизии сервера это работает плохо, о чём писал. Сказали, что исправили (https://nsoft-s.com/forum/viewtopic.php?f=35&t=5940&p=35967#p35967), но пока обновлений не было), но нет возможности работать с ними любыми административными способами

Re: Не могу выгнать пользователя из конференции

СообщениеДобавлено: Ср дек 11, 2019 1:50 pm
Алексей Пикуров
Ждите, мы в курсе, что это неудобно, но то, о чём вы просите — ещё нужно реализовать.