|
Здравствуйте, гость ( Вход | Регистрация )
|
![]()
Сообщение
#1
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Почти универсальный скрипт заглушки
Название: Surdo_Isolation.lua (слышали когда-нибудь про сурдокамеры?) Версия: 1.4 Платформа: PtokaX 0.4.1.x API: API 2 Автор: Ksan (aka Trans) Город: Томск Дата написания: 03-12-2010 Благодарности: всем скриптерам форума ![]() Возможности: Раскрывающийся текст - возможность скрытия чата от заглушенного - заглушка ников, IP и диапазонов (диапазоны - только мастером) - заглушка по времени - возможность временно отменить скрытие чата для всех заглушенных - возможность показа (отмены показа) сообщений заглушенных админам - возможность изменять отдельные параметры заглушек ников и IP (причину, скрытость чата, срок) на лету, не снимая заглушку - возможность через меню вносить ники и IP в исключения (в одну таблицу) - проверка статуса ника, IP или диапазона на заглушенность (ника и IP - ещё на исключение) - при заглушке ника или IP покажет (если есть что показать), в каких ещё списках заглушек засвечен данный ник или IP - при просмотре статуса покажет, кроме ника или IP: --- причину (комментарий), --- метку скрытия-нескрытия чата от заглушаемого, --- автора заглушки, --- время установки заглушки, --- конец заглушки (либо "до амнистии"), --- а также дополнительную информацию (о заглушке ещё IP или ника, о вхождении этого IP в заглушенный диапазон) - просмотр любых списков - очистка любого списка (для мастера) - просмотр текущих настроек через меню - тотальная заглушка чата и привата для всех, кроме тех, кто может сам глушить (чат и приват - по отдельности) - резервирование списков заглушек и исключений периодически (и вручную через меню) - интеграция некоторых функций обработки сообщений в чате (чат-лог, антимат, антикапс, сокращение количества повторяющихся знаков препинания, возможность добавлять к определённым никам некие приставки (через таблицу)). Все эти дополнения можно отключить закомментированием точек вхождения, если пользователь сочтёт их лишними - чат-лог можно отключить в скрипте в настройках - антимат имеет 4 уровня, регулирующихся через меню: -- 0 - тихий антимат (сообщение с матом видит только сам матерщинник), -- 1 - слово-мат подменяется другим словом, -- 2 - сообщение с матом подменяется целиком на случайное сообщение из таблицы фраз, -- 3 - антимат отключен - папка с запретами и заменами к антимату прилагается - при первом запуске скрипта будут созданы папки и файлы под динамические таблицы, если отсутствуют (кроме папок и файлов, необходимых для запуска и работы скрипта). После скачивания просто скопируйте всё из архива в папку скриптов. + теперь можно через меню включать/выключать возможность отправки уведомления про заглушку при установке заглушки онлайн-юзеру --- возможно, что-то ещё упустил ToDo (не факт, что будет всё реализовано): Раскрывающийся текст + При разглушках/изменениях учитывать, кто был автором (чтоб младший не мог отменять/изменять заглушку старшего)? + Может, позволять глушить и ВИПам на ограниченное время (например, до 24 часов или до 10 суток)? + Сделать общую таблицу профилей с регулировкой прав для всех событий? + Сделать заглушку ников по маскам? типа "дура*" + Добавить заглушки по другим параметрам (ОПИСАНИЕ, е-майл, точная шара)? Примечания: Раскрывающийся текст - Скрипт держать ниже других скриптов, работающих с сообщениями юзеров. - Настройки, функции и меню вынесены в отдельные файлы. - Штатные команды Птоки (в том числе и текстовые) не внесены в таблицу исключений скрипта, но заглушенный их всё равно не увидит (кроме сообщений от третьего лица). - Сообщения от третьего лица и сообщения от всяческих ботов и сервера хаба (в том числе и с подменой сообщений юзеров изменённым текстом, если это выдано не данным скриптом) пройдут до заглушенного и при скрытом чате, но их обычно мало, да и информативная ценность их ничтожна. - Имеющие право заглушать не смогут развлекаться затыканием друг друга - в таблицу запишется, но заглушка на них не подействует. - В архиве в таблицах заглушенных оставил несколько примеров для просмотра. PS: Скрипт ещё не совсем закончен, имеется ряд идей, которые позже могут быть добавлены. Можете тоже предлагать свои. PPS: Жду критику, замечания и комментарии (можно даже одобрительные). Насчёт скорости работы - у меня скрипт стоит на хабе из разряда до 1000 и нет никаких тормозов. Что будет на больших хабах - практика покажет. Возможно, время от времени буду что-то подправлять или добавлять в скрипт, поэтому следите за датой/временем перезаливки файла в этом сообщении. UPD: Подправил, + вынес ещё 3 команды в меню (теперь не придётся лезть в скрипт, чтоб менять флажки для включения/отключения Чат-лога, антифлуда (это антикапс + анти-много-пробелов + анти-много-знаков-препинания) и приставок к никам) UPD-2: Добавил в скрипт и в меню возможность выбора - уведомлять заглушаемого онлайн-юзера в приват о его заглушке или нет (в момент установки заглушки). В уведомлении покажет причину и срок. И убрал (закомментил в таблице) из антимата из запретов слово "торрент" и его производные (сильно доставали у нас в чате проблемами торрента и пришлось таким образом избавиться (у нас маты обычно просто глушатся тихо)) (перезалил ещё раз, добавив пропущенный кусок кода ![]() UPD-3: Подправил кое-что по наводке пользователя Stym. Благодаря ему пофиксил прохождение в чат от заглушенного юзера видоизменённых антиматом сообщений (с подменой матов или целиком сообщения). Проблема возникала при режимах антимата 1 и 2. Залил вторым файлом (Surdo_Isolation_beta.rar), не удаляя предыдущий. UPD-4: Исправил очень редко (как правило) появляющуюся ошибку, описанную, например, тут в сообщении #39 (появлялась, как оказалось, из-за наличия в нике, к которому обращаются, т.н. "магических" символов). Заодно чуток оптимизировал прилегающие участки. Скрипт перезалит (но изменения коснулись только 2 файлов - главного файла и вспомогательного surdo_addfunctions.lua из папки AddFunc), старые архивы удалены. Последняя перезаливка: 2013-05-27 06:00 МСК
Прикрепленные файлы
|
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
Отличная работа!
![]() Вот разве при тотал заглушке чата: Цитата [14:02:18] <DC•Etherway.ru> ••• ••• ••• Чат для всех заглушен на 30 мин. ••• ••• ••• Заглушил(а) - Saymon [14:02:32] <DC•Etherway.ru> ••• ••• ••• Заглушка с Привата снята ••• ••• ••• Снял(а) - Saymon Но приват то не блокировался) Вот хотелось бы отдельно сделать переменную, в которой указываем, использовать ли iTotalGagTimeMax если не указано время. ![]() Тогда чат блокировался бы на то время, пока одмин сам не снимет гаг. (Моя паранойя с провайдером. Иногда бывают тех работы, и полностью отрубают инет на неизвестный срок. Соответственно начинается мега флуд юзеров в чате и т.д) ![]() Да, кем был заглушен/разглушен чат можно бы было видеть только опам) UP: [14:52:56] <_#ОпЧат> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:118: attempt to get length of field 'tChathistory' (a nil value) |
|
|
![]()
Сообщение
#3
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 53 Регистрация: 11.6.2009 Из: Чита Пользователь №: 3 559 Спасибо сказали: 1 раз ![]() |
спасибо хороший скрипт
|
|
|
![]()
Сообщение
#4
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Saymon:
1. Не смог у себя повторить насчёт заглушки чата и последующего сообщения разглушки привата. Возможно, у тебя были последовательно заглушены сначала приват, потом чат и потом так же последовательно разглушались - сначала приват, потом чат. И возникла такая картинка, как ты показал....может быть. Но я проверил с теми же файлами, что в архиве - нормально показало. 2. Насчёт сроков заглушки...есть легкое решение - просто в конфиг-файле ставишь не 30 (минут), а очень большое число, например, 1440*10 (это будет 10 дней)...или умножь на 100 ![]() 3. Кем был заглушен-разглушен - видят и так только опы. 4. Насчёт ошибки про чат-хистори. Перезалил архив. |
|
|
![]()
Сообщение
#5
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
Ksan, с тотал гагом оказалось всё верно... Действительно так он пишет когда снимаю тотал гаг с чата.
Да, и [02:14:53] <_#ОпЧат> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:118: attempt to get length of global 'tChathistory' (a nil value) осталось Сообщение отредактировал Saymon - 5.12.2010, 2:15 |
|
|
![]()
Сообщение
#6
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Saymon:
2. И с чат-хистори так же! Я спешал фор Ю ещё раз изменил способ чтения таблицы, перезалил в первом сообщении, попробуй. 3. Если у тебя снова эти же косяки будут, тогда я не знаю, может, решу, что ты шутишь надо мной... Пусть другие выскажутся, работает ли у них чат-лог нормально и Тотал-заглушка при автоматической разглушке корректно ли сообщает про это (не путая чат и приват). UPD: С Тоталом - мой косячок - в одном месте недоисправил при копировании и при разглушке чата приходит сообщение о разглушке привата, но в остальном работает нормально. Исправил, перезалил в первом сообщении. UPD-2: Не даёт покоя твоя ошибка с чат-хистори...Поэтому поставил отдельно новую Птоку, скачал обратно отсюда скрипт, поставил его в новую Птоку - никаких багов с чат-хистори. Совет - целиком меняй, взяв с архива с форума, главный файл скрипта и этот - SurdoIsolation/AddFunc/surdo_addfunctions.lua...как минимум. |
|
|
![]()
Сообщение
#7
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 53 Регистрация: 11.6.2009 Из: Чита Пользователь №: 3 559 Спасибо сказали: 1 раз ![]() |
Хм вот какая трабла выскочила
[12:00:01] <OpChat> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:209: invalid pattern capture |
|
|
![]()
Сообщение
#8
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
luxemat, изредка такое вылезает, я не могу отловить причину.
Это происходит при отправлении сообщения нику из заглавных букв, судя по сообщению и строке, но вот при какой ситуации такое выскакивает, я не смог отловить. Это у меня ранее тоже выскаивало пару раз. Советую пока просто включить скрипт и забить. ![]() Может, как-нибудь отловим потом. Возможно, в нике был какой-то критичный символ. |
|
|
![]() ![]()
Сообщение
#9
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 83 Регистрация: 18.9.2010 Из: Россия Пользователь №: 7 719 Спасибо сказали: 2 раза ![]() |
ч классная вещ !!! Ништяк спс те большое (кнопочку спасибо нажал)
|
|
|
![]()
Сообщение
#10
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Saymon, похоже, есть действительно недоделка...она вылезает только при отключении чат-лога через флажок в настройках скрипта (у меня вылезло так - поставил флажок чат-лога на false, перезапустил скрипт, потом отключил скрипт. и в этот момент вылезает ошибка твоя). Ты мне про флажок вроде не говорил.
Сегодня буду исправлять, да и заодно приделаю отмену чат-лога через меню, чтоб не лазали лишний раз по скрипту. UPD: Подправил, + вынес ещё 3 команды в меню (теперь не придётся лезть в скрипт, чтоб менять флажки для включения/отключения Чат-лога, антифлуда (это антикапс + анти-много-пробелов + анти-много-знаков-препинания) и приставок к никам) Скачайте ещё раз и проверяйте. Архив перезалит в первом сообщении. |
|
|
![]()
Сообщение
#11
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
Ksan, ещё бы удаление/добавление/показ шаблонов мата через меню.
![]() |
|
|
![]()
Сообщение
#12
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Saymon, это у меня в ToDo...
Теперь, с твоей просьбой, я ещё больше уверен, что это нужно сделать. ![]() PS: Что-то не пишут ничего почти, неужели скрипт никакой? Только не забудьте обновить, если скачивали раннюю версию. |
|
|
![]()
Сообщение
#13
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
Скрипт отличен!
![]() С матом да, верно нужно, чтобы не лазить лишний раз в файлы. Лично скажу по себе: я использую его только на хабе провайдера, и там не особо охота лишний раз лазить на фтп и что-то править. ![]() Да, также нужен бы переключатель, в котором можно указать, уведомить ли юзера о том, что он был только что заглушен на N времени по N причине, или же заглушка будет тихой. Может оно и сейчас есть, да я не заметил. + маленький изврат по поводу исключения опа из права гагать / смотреть гагнутых, если он сам заглушен. Хотя с этим уже нужно быть ближе к снятию такого опа ![]() |
|
|
![]()
Сообщение
#14
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
1. Сообщение-предупреждение заглушенному юзеру - легко сделать (опционально)
2. Такого опа лучше снять, свято место не бывает пусто, к тому же, в скрипте исключена заглушка опов (чтоб не баловались затыканием друг друга). Если есть проблема с опом - лучше принимать другие, более серьёзные меры (как с милицией - если ты мент и нарушил закон, с тебя и спрос выше). PS: Если у кого возникли вопросы, например, при вводе аргументов (там с непривычки можно слегка запутаться), задавайте, разъясню.. UPD: Подправил небольшую опечатку, перезалил в первом сообщении. Время: 08-12-2010 00:30 МСК |
|
|
![]()
Сообщение
#15
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
UPD-2: По предложению Saymon'а добавил в скрипт и в меню возможность выбора - уведомлять заглушаемого онлайн-юзера в приват о его заглушке или нет (в момент установки заглушки). В уведомлении покажет причину и срок.
(перезалил, добавив пропущенный кусок кода) Перезалил в первом сообщении. Время: 17-12-2010 19:40 МСК |
|
|
![]()
Сообщение
#16
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
Можно сделать ещё функцию предупреждения юзера и после N (например 3ёх) предупреждений гаг на N времени (например на 1 день) по IP.
Во время выставления гага оператором юзер получает сообщение в ЛС "Вы были предупреждены по причине: .... при повторных нарушениях может последовать наказание в виде заглушки вашего IP адреса на N времени." И так-же отправляем всем в главном чате сообщение "Юзер "ник" получил предупреждение по причине .... При повторных нарушениях возможно он будет заглушен". ![]() |
|
|
![]()
Сообщение
#17
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 41 Регистрация: 20.1.2010 Из: KHV Пользователь №: 5 772 Спасибо сказали: 4 раза ![]() |
спс, отличная работа
![]() ![]() Нашел такую недоработку: при отправке в чат ТЕСТ АНТИКАПСА!!!!!!!!!!!!)))))))))) имеем на выходе текст ТЕСТ АНТИКАПСА!!!))) т.е. флуд обработался а капс нет |
|
|
![]()
Сообщение
#18
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Saymon, я подумал над твоим предложением. Вообще, скрипт задумывался именно как тихая заглушка с возможностью скрытия чата, только с дополнительными удобствами и решениями проблем, возникающих по ходу эксплуатации (я про антикапс, антимат и т.д.), и как-то не хочется превращать его совсем уж в подобие Экзекутора (а если вовремя не остановиться, к тому и придём). Не хочется повесить сюда ещё и предупреждения, для этого же есть обычный скрипт предупреждений и общения через бота (можно так же предупреждать и потом уже при необходимости применять Сурдо-изоляцию).
Для WINS: 1. Цитата Можно добавить чтоб при при замене самого мата, фраза бралась рандомо из таблицы, как при замене фразы целиком. Можно, и даже нетрудно, но считаю, что ни к чему. Хотите разнообразия - применяйте режим 2 (замену всего сообщения случайной фразой). ![]() 2. Насчёт твоего теста антикапса...я знаю, но я пока не стал заморачиваться отыскивать алгоритм против тестов ![]() Решение - в совмещении трёх кодов - антикапса, антипробелов и анти-слишком-много-одинаковых-знаков - в один код. Я такие тесты сам проводил по ходу работы над скриптом ещё. Не стал усложнять скрипт доп. кодом против нереальных (на 98%) сообщений. UPD: Пока для меня самое важное - доделать антимат (работа с таблицей матов и исключений через меню (добавление, удаление, редактирование, просмотр) + изменение кода анализа матов из-за изменения структуры таблицы), но пока дело тормознулось из-за проблем со здоровьем...осталось изменить код анализа сообщений на маты и исключения, всё остальное сделано. |
|
|
![]()
Сообщение
#19
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 41 Регистрация: 20.1.2010 Из: KHV Пользователь №: 5 772 Спасибо сказали: 4 раза ![]() |
увидел имеет место недочет, описаный тут http://mydc.ru/index.html?showtopic=3682&a...ost&p=34213
|
|
|
![]()
Сообщение
#20
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
WINS, хотелось бы услышать от тебя описание проблемы своими словами..По отсылке я не понял, в чём суть твоей проблемы.
|
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
От: Surdo_Isolation От темы с ID: 4108 |
1 | Артём | 4 883 | 18.1.2011, 2:43 Посл. сообщение: absent |
![]() |
От: Surdo_Isolation От темы с ID: 4108 |
1 | Ferb | 4 708 | 4.12.2010, 22:03 Посл. сообщение: Ksan |
![]() |
Сейчас: 8.9.2024, 3:16 |