myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> Surdo_Isolation, Почти универсальный скрипт заглушек с богатым меню и возможностями

Рейтинг 5 V
Ksan
сообщение 4.12.2010, 3:54
Сообщение #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

Благодарности: всем скриптерам форума http://MyDC.ru, у которых учусь и ещё долго буду учиться (и чьё присутствие в скрипте наверняка заметите в виде отдельных кусков кода либо идей), юзерам-нарушителям (без них не было бы нужды в скрипте и моего стремления учиться), особая благодарность - Nickolya (он играючи разрубил не один узелок, в которых я запутывался)! big_smile.gif

Возможности:
Раскрывающийся текст
- возможность скрытия чата от заглушенного
- заглушка ников, 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: Добавил в скрипт и в меню возможность выбора - уведомлять заглушаемого онлайн-юзера в приват о его заглушке или нет (в момент установки заглушки). В уведомлении покажет причину и срок.
И убрал (закомментил в таблице) из антимата из запретов слово "торрент" и его производные (сильно доставали у нас в чате проблемами торрента и пришлось таким образом избавиться (у нас маты обычно просто глушатся тихо))
(перезалил ещё раз, добавив пропущенный кусок кода big_smile.gif )
UPD-3: Подправил кое-что по наводке пользователя Stym. Благодаря ему пофиксил прохождение в чат от заглушенного юзера видоизменённых антиматом сообщений (с подменой матов или целиком сообщения). Проблема возникала при режимах антимата 1 и 2.
Залил вторым файлом (Surdo_Isolation_beta.rar), не удаляя предыдущий.
UPD-4: Исправил очень редко (как правило) появляющуюся ошибку, описанную, например, тут в сообщении #39 (появлялась, как оказалось, из-за наличия в нике, к которому обращаются, т.н. "магических" символов). Заодно чуток оптимизировал прилегающие участки.
Скрипт перезалит (но изменения коснулись только 2 файлов - главного файла и вспомогательного surdo_addfunctions.lua из папки AddFunc), старые архивы удалены.

Последняя перезаливка: 2013-05-27 06:00 МСК

Прикрепленные файлы
Прикрепленный файл  Surdo_Isolation_1.4.rar ( 29.25 килобайт ) Кол-во скачиваний: 123
 
Go to the top of the page
+Quote Post
3 страниц V   1 2 3 >  
Начать новую тему
Ответов
Saymon21
сообщение 4.12.2010, 14:05
Сообщение #2


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Отличная работа! big_smile.gif

Вот разве при тотал заглушке чата:
Цитата
[14:02:18] <DC•Etherway.ru> ••• ••• ••• Чат для всех заглушен на 30 мин. ••• ••• •••
Заглушил(а) - Saymon
[14:02:32] <DC•Etherway.ru> ••• ••• ••• Заглушка с Привата снята ••• ••• •••
Снял(а) - Saymon

Но приват то не блокировался)

Вот хотелось бы отдельно сделать переменную, в которой указываем, использовать ли iTotalGagTimeMax если не указано время.big_smile.gif
Тогда чат блокировался бы на то время, пока одмин сам не снимет гаг. (Моя паранойя с провайдером. Иногда бывают тех работы, и полностью отрубают инет на неизвестный срок. Соответственно начинается мега флуд юзеров в чате и т.д)big_smile.gif

Да, кем был заглушен/разглушен чат можно бы было видеть только опам)

UP: [14:52:56] <_#ОпЧат> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:118: attempt to get length of field 'tChathistory' (a nil value)
Go to the top of the page
+Quote Post
Wan
сообщение 4.12.2010, 14:20
Сообщение #3


Активный участник
***

Группа: Пользователи
Сообщений: 53
Регистрация: 11.6.2009
Из: Чита
Пользователь №: 3 559
Спасибо сказали: 1 раз




спасибо хороший скрипт
Go to the top of the page
+Quote Post
Ksan
сообщение 4.12.2010, 21:38
Сообщение #4


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Saymon:
1. Не смог у себя повторить насчёт заглушки чата и последующего сообщения разглушки привата.
Возможно, у тебя были последовательно заглушены сначала приват, потом чат и потом так же последовательно разглушались - сначала приват, потом чат. И возникла такая картинка, как ты показал....может быть. Но я проверил с теми же файлами, что в архиве - нормально показало.
2. Насчёт сроков заглушки...есть легкое решение - просто в конфиг-файле ставишь не 30 (минут), а очень большое число, например, 1440*10 (это будет 10 дней)...или умножь на 100 big_smile.gif Будет 100 дней заглушки. А снять ты всегда сможешь вручную в любую минуту.
3. Кем был заглушен-разглушен - видят и так только опы.
4. Насчёт ошибки про чат-хистори. Перезалил архив.


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 5.12.2010, 1:18
Сообщение #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


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 5.12.2010, 3:29
Сообщение #6


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Saymon:
1. Я не могу понять, почему у тебя так с Тотал-заглушкой! У меня с теми же файлами всё как надо!
2. И с чат-хистори так же! Я спешал фор Ю ещё раз изменил способ чтения таблицы, перезалил в первом сообщении, попробуй.
3. Если у тебя снова эти же косяки будут, тогда я не знаю, может, решу, что ты шутишь надо мной...
Пусть другие выскажутся, работает ли у них чат-лог нормально и Тотал-заглушка при автоматической разглушке корректно ли сообщает про это (не путая чат и приват).

UPD: С Тоталом - мой косячок - в одном месте недоисправил при копировании и при разглушке чата приходит сообщение о разглушке привата, но в остальном работает нормально.
Исправил, перезалил в первом сообщении.
UPD-2: Не даёт покоя твоя ошибка с чат-хистори...Поэтому поставил отдельно новую Птоку, скачал обратно отсюда скрипт, поставил его в новую Птоку - никаких багов с чат-хистори. Совет - целиком меняй, взяв с архива с форума, главный файл скрипта и этот - SurdoIsolation/AddFunc/surdo_addfunctions.lua...как минимум.


Спасибо сказали:
Go to the top of the page
+Quote Post
Wan
сообщение 5.12.2010, 6:02
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 53
Регистрация: 11.6.2009
Из: Чита
Пользователь №: 3 559
Спасибо сказали: 1 раз




Хм вот какая трабла выскочила
[12:00:01] <OpChat> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:209: invalid pattern capture
Go to the top of the page
+Quote Post
Ksan
сообщение 5.12.2010, 6:35
Сообщение #8


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




luxemat, изредка такое вылезает, я не могу отловить причину.
Это происходит при отправлении сообщения нику из заглавных букв, судя по сообщению и строке, но вот при какой ситуации такое выскакивает, я не смог отловить. Это у меня ранее тоже выскаивало пару раз.
Советую пока просто включить скрипт и забить. big_smile.gif
Может, как-нибудь отловим потом. Возможно, в нике был какой-то критичный символ.
Go to the top of the page
+Quote Post
Ferb
сообщение 6.12.2010, 12:36
Сообщение #9


Активный участник
***

Группа: Пользователи
Сообщений: 83
Регистрация: 18.9.2010
Из: Россия
Пользователь №: 7 719
Спасибо сказали: 2 раза




ч классная вещ !!! Ништяк спс те большое (кнопочку спасибо нажал)


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 6.12.2010, 21:26
Сообщение #10


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Saymon, похоже, есть действительно недоделка...она вылезает только при отключении чат-лога через флажок в настройках скрипта (у меня вылезло так - поставил флажок чат-лога на false, перезапустил скрипт, потом отключил скрипт. и в этот момент вылезает ошибка твоя). Ты мне про флажок вроде не говорил.
Сегодня буду исправлять, да и заодно приделаю отмену чат-лога через меню, чтоб не лазали лишний раз по скрипту.

UPD: Подправил, + вынес ещё 3 команды в меню (теперь не придётся лезть в скрипт, чтоб менять флажки для включения/отключения Чат-лога, антифлуда (это антикапс + анти-много-пробелов + анти-много-знаков-препинания) и приставок к никам)
Скачайте ещё раз и проверяйте. Архив перезалит в первом сообщении.


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 7.12.2010, 18:26
Сообщение #11


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Ksan, ещё бы удаление/добавление/показ шаблонов мата через меню. big_smile.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 7.12.2010, 18:30
Сообщение #12


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Saymon, это у меня в ToDo...
Теперь, с твоей просьбой, я ещё больше уверен, что это нужно сделать. big_smile.gif

PS: Что-то не пишут ничего почти, неужели скрипт никакой?
Только не забудьте обновить, если скачивали раннюю версию.


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 7.12.2010, 18:36
Сообщение #13


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Скрипт отличен! big_smile.gif
С матом да, верно нужно, чтобы не лазить лишний раз в файлы.
Лично скажу по себе: я использую его только на хабе провайдера, и там не особо охота лишний раз лазить на фтп и что-то править. bad_smile.gif
Да, также нужен бы переключатель, в котором можно указать, уведомить ли юзера о том, что он был только что заглушен на N времени по N причине, или же заглушка будет тихой. Может оно и сейчас есть, да я не заметил. + маленький изврат по поводу исключения опа из права гагать / смотреть гагнутых, если он сам заглушен. Хотя с этим уже нужно быть ближе к снятию такого опаbig_smile.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 7.12.2010, 18:49
Сообщение #14


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




1. Сообщение-предупреждение заглушенному юзеру - легко сделать (опционально)
2. Такого опа лучше снять, свято место не бывает пусто, к тому же, в скрипте исключена заглушка опов (чтоб не баловались затыканием друг друга). Если есть проблема с опом - лучше принимать другие, более серьёзные меры (как с милицией - если ты мент и нарушил закон, с тебя и спрос выше).

PS: Если у кого возникли вопросы, например, при вводе аргументов (там с непривычки можно слегка запутаться), задавайте, разъясню..

UPD: Подправил небольшую опечатку, перезалил в первом сообщении. Время: 08-12-2010 00:30 МСК
Go to the top of the page
+Quote Post
Ksan
сообщение 11.12.2010, 2:10
Сообщение #15


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




UPD-2: По предложению Saymon'а добавил в скрипт и в меню возможность выбора - уведомлять заглушаемого онлайн-юзера в приват о его заглушке или нет (в момент установки заглушки). В уведомлении покажет причину и срок.
(перезалил, добавив пропущенный кусок кода)

Перезалил в первом сообщении. Время: 17-12-2010 19:40 МСК


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 20.12.2010, 20:06
Сообщение #16


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Можно сделать ещё функцию предупреждения юзера и после N (например 3ёх) предупреждений гаг на N времени (например на 1 день) по IP.
Во время выставления гага оператором юзер получает сообщение в ЛС "Вы были предупреждены по причине: .... при повторных нарушениях может последовать наказание в виде заглушки вашего IP адреса на N времени."
И так-же отправляем всем в главном чате сообщение "Юзер "ник" получил предупреждение по причине .... При повторных нарушениях возможно он будет заглушен". big_smile.gif
Go to the top of the page
+Quote Post
WINS
сообщение 29.12.2010, 21:41
Сообщение #17


Участник
**

Группа: Пользователи
Сообщений: 41
Регистрация: 20.1.2010
Из: KHV
Пользователь №: 5 772
Спасибо сказали: 4 раза




спс, отличная работа big_smile.gif Можно добавить чтоб при при замене самого мата, фраза бралась рандомо из таблицы, как при замене фразы целиком. На скорую руку попробывал переделать - не получилось, ошибки посыпались shame.gif
Нашел такую недоработку: при отправке в чат ТЕСТ АНТИКАПСА!!!!!!!!!!!!)))))))))) имеем на выходе текст ТЕСТ АНТИКАПСА!!!)))
т.е. флуд обработался а капс нет
Go to the top of the page
+Quote Post
Ksan
сообщение 29.12.2010, 23:31
Сообщение #18


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Saymon, я подумал над твоим предложением. Вообще, скрипт задумывался именно как тихая заглушка с возможностью скрытия чата, только с дополнительными удобствами и решениями проблем, возникающих по ходу эксплуатации (я про антикапс, антимат и т.д.), и как-то не хочется превращать его совсем уж в подобие Экзекутора (а если вовремя не остановиться, к тому и придём). Не хочется повесить сюда ещё и предупреждения, для этого же есть обычный скрипт предупреждений и общения через бота (можно так же предупреждать и потом уже при необходимости применять Сурдо-изоляцию).

Для WINS:
1.
Цитата
Можно добавить чтоб при при замене самого мата, фраза бралась рандомо из таблицы, как при замене фразы целиком.
Можно, и даже нетрудно, но считаю, что ни к чему. Хотите разнообразия - применяйте режим 2 (замену всего сообщения случайной фразой). big_smile.gif А режим замены мата одним словом сделан, чтоб просто отметить, что мат был, и скрыть его, не устраивая из этого балаган (уверен, что найдётся немало любителей проверить весь список слов), как находятся любители проверить весь список случайных фраз (а список немалый).
2. Насчёт твоего теста антикапса...я знаю, но я пока не стал заморачиваться отыскивать алгоритм против тестов big_smile.gif
Решение - в совмещении трёх кодов - антикапса, антипробелов и анти-слишком-много-одинаковых-знаков - в один код.
Я такие тесты сам проводил по ходу работы над скриптом ещё. Не стал усложнять скрипт доп. кодом против нереальных (на 98%) сообщений.

UPD: Пока для меня самое важное - доделать антимат (работа с таблицей матов и исключений через меню (добавление, удаление, редактирование, просмотр) + изменение кода анализа матов из-за изменения структуры таблицы), но пока дело тормознулось из-за проблем со здоровьем...осталось изменить код анализа сообщений на маты и исключения, всё остальное сделано.


Спасибо сказали:
Go to the top of the page
+Quote Post
WINS
сообщение 4.1.2011, 20:37
Сообщение #19


Участник
**

Группа: Пользователи
Сообщений: 41
Регистрация: 20.1.2010
Из: KHV
Пользователь №: 5 772
Спасибо сказали: 4 раза




увидел имеет место недочет, описаный тут http://mydc.ru/index.html?showtopic=3682&a...ost&p=34213
Go to the top of the page
+Quote Post
Ksan
сообщение 4.1.2011, 22:48
Сообщение #20


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




WINS, хотелось бы услышать от тебя описание проблемы своими словами..По отсылке я не понял, в чём суть твоей проблемы.
Go to the top of the page
+Quote Post

3 страниц V   1 2 3 >
Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts От: Surdo_Isolation
От темы с ID: 4108
1 Артём 4 663 18.1.2011, 2:43 Посл. сообщение: absent
No New Posts От: Surdo_Isolation
От темы с ID: 4108
1 Ferb 4 513 4.12.2010, 22:03 Посл. сообщение: Ksan

 



RSS Сейчас: 28.3.2024, 12:19