myDC.ru

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

 

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

Рейтинг 5 V
Ksan
сообщение 4.12.2010, 3:54
Сообщение #21


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

Группа: Пользователи
Сообщений: 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 >  
Начать новую тему
Ответов
WINS
сообщение 5.1.2011, 8:37
Сообщение #22


Участник
**

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




Если кикаешь пользователя через штатную менюху "выкинуть пользователя", то в файл chathistory.dat записывается строка примерно такого содержания: "[15:09:33] <WINS> is kicking MyNet because: !", , после переподключения лог уже не отображается, вернее отображается, но в строке состояния. Как только ее удаляешь, с последующим перезапуском скрипта, все становится на круги своя big_smile.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 5.1.2011, 18:46
Сообщение #23


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

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




Для WINS:
1. Я бы посоветовал тебе не кикать через эту команду, а использовать штатную команду Птоки, либо использовать мой же скрипт отсюда (если, конечно, ты не ставишь целью кикать демонстративно, чтоб все видели, кто, кого и за что кикает). Этот скрипт работает бесшумно и без упоминания ника админа, что частенько избавляет от лишних разборок впоследствии с кикнутым юзером. big_smile.gif
2. Но есть решение и в топиковом скрипте, почти аналогично решению по указанной тобой ссылке. Я позже представлю его, когда перезалью обновлённый скрипт (когда допеределаю встроенный антимат)


Спасибо сказали:
Go to the top of the page
+Quote Post
absent
сообщение 18.1.2011, 1:31
Сообщение #24


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

Группа: Пользователи
Сообщений: 75
Регистрация: 20.11.2010
Пользователь №: 8 103
Спасибо сказали: 0 раз




01:22:25] <Ckoba> спать
[01:22:59] <GvoZD> *** Заглушенный юзер с IP (188.134.76.215) написал в чат: <tank> иду:-P

а чат хистори :
- [01:22] <Ckoba> спать
- [01:22] <tank> иду:-P
записал это иду

скрипт гага стоит самым последним, а толку нет


забыл написать хаб птока 0,4,1,2
Причина редактирования: реклама
Go to the top of the page
+Quote Post
ustas
сообщение 18.1.2011, 10:30
Сообщение #25


Продвинутый участник
****

Группа: Пользователи
Сообщений: 177
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 26 раз




поставь скрипт истории ниже скрипта заглушки
Go to the top of the page
+Quote Post
absent
сообщение 18.1.2011, 11:44
Сообщение #26


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

Группа: Пользователи
Сообщений: 75
Регистрация: 20.11.2010
Пользователь №: 8 103
Спасибо сказали: 0 раз




поставил и скрипт истории перестал запоминать историю .
Go to the top of the page
+Quote Post
Nickolya
сообщение 18.1.2011, 13:49
Сообщение #27


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Это называется конфликт скриптов... Выход только один - совместить данные скрипты в один для неконфликтной работы. Либо же писать в лог реплики заглушенного, зато без палева для него выходит big_smile.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 18.1.2011, 14:46
Сообщение #28


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




В русхабе на такой случай существует функция изменения протокольной команды Core.SetCmd(sData), таким образом, во все скрипты, которые находятся ниже данного, поступит уже изменённая команда big_smile.gif


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


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

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




absent, у этого скрипта есть свой чат-лог, и именно из-за таких конфликтов я его встроил в Сурдо-изоляцию. Можешь использовать встроенный чат-лог.
Встроенный чат-лог не запишет сообщения заглушенного, и не покажет ему при входе (или через команду) последние сообщения, и даже меню не отправит.
Антимат встроен, потому что тоже в некоторых случаях наблюдается аналогичный конфликт с независимым антиматом.
Go to the top of the page
+Quote Post
van21
сообщение 3.4.2011, 22:42
Сообщение #30


Участник
**

Группа: Пользователи
Сообщений: 46
Регистрация: 24.12.2009
Пользователь №: 5 468
Спасибо сказали: 0 раз




А что такое приставки к никам? Как работает?
Go to the top of the page
+Quote Post
Ksan
сообщение 4.4.2011, 4:53
Сообщение #31


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

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




van21, например, если к тебе кто-то в чате пишет сообщение, то получится примерно так (смотря что написано в таблице):
Цитата
[08:41:07] <Ksan> сэр van21: Приветствую тебя!

Слово "сэр" берётся из таблицы и добавляется автоматом (для каждого прописанного ника своя приставка).


Спасибо сказали:
Go to the top of the page
+Quote Post
Stym
сообщение 16.12.2012, 19:25
Сообщение #32


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 13.8.2009
Пользователь №: 4 168
Спасибо сказали: 14 раз




А может кто нибудь помочь? У меня антимат на этом скрипте настроен на подмену в виде трез звездочек. Когда тихо глушишь юзера, все нормально, он пишит, но никто его не видит... но стоит ему написать сообщение с матом, то все его сразу видят....
Go to the top of the page
+Quote Post
Ksan
сообщение 17.12.2012, 19:05
Сообщение #33


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

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




Stym, а вы скрипт держите ниже других скриптов, как я советовал в первом сообщении?
Цитата
Примечания:
Раскрывающийся текст
- Скрипт держать ниже других скриптов, работающих с сообщениями юзеров.

Я вот только что поставил на отдельном хабе и проверил скрипт из первого сообщения - антимат работает как надо - в режиме 1 (замена словом только мата) мат заменяет на слово [•ценZура•], вместо него поставил *** - тоже работает (другие режимы тоже работают).
Цитата
[22:49:55] <Тест-юзер> проверка антимата: [•ценZура•]
[22:52:52] <Тест-юзер> проверка антимата: [***]
[22:53:27] <Тест-юзер> проверка антимата: ***
[22:57:59] <Тест-юзер> Я такой матершинник, мне даже говорить об этом противно! •••

И да, помните, в конфиг-файле есть таблица профилей, для кого мат разрешён (пишу на всякий случай).
Ну и, напоследок, - если до этого скрипта (выше в списке скриптов) стоит другой антимат, то сработает он, а не обсуждаемый.


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


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 13.8.2009
Пользователь №: 4 168
Спасибо сказали: 14 раз




Спасибо, но вы меня не правильно поняли.. Антимат работает на ура. Но вот тихая заглушка с проблемами.... Когда заглушенный юзер пишит в чате мат, то он виден всему чату.... а сообщения без мата, тихо глашться (он видит что пишит, но его реально в чате никто не видит...)


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


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

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




Stym, вопрос - всему чату видно его сообщение с подменённым матом или сообщение проходит в чат без подмены (с матом)?
Если первый вариант, то действительно, есть такое, оказывается, я как-то не учёл вариант, когда заглушенный пишет с матами. big_smile.gif Без вашего сообщения так и не узнал бы (у меня на хабах антимат настроен на непропускание сообщения с матом), так что спасибо! Надо будет изменить скрипт малость (для передачи флажка заглушенности юзера в функцию антимата). Когда сделаю, выложу тут и напишу сообщение.
Если второй вариант - то я даже не представляю, как это может получиться так..
Go to the top of the page
+Quote Post
Stym
сообщение 18.12.2012, 21:02
Сообщение #36


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 13.8.2009
Пользователь №: 4 168
Спасибо сказали: 14 раз




Да да.. первый вариант... Юзер появляется в чате, с подменной мата big_smile.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 19.12.2012, 4:50
Сообщение #37


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

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




Пофиксил вышеобсуждённую проблему, перезалил (точнее, дозалил) файл (старый остался доступен) в первом сообщении.
Тем не менее, обнаружилась и осталась не пофиксенной в силу большой трудозатратности и возможного увеличения нагрузки на хаб другая фишка, суть которой не стану тут описывать. big_smile.gif

P.S.: Файл залит в виде RAR-архива, но скачивается почему-то как ZIP-архив и, естественно, не разархивируется. Поэтому после скачивания расширение файла нужно сразу поменять на .rar

Время заливки нового файла: 19-12-2012 05:30 Мск.


Спасибо сказали:
Go to the top of the page
+Quote Post
Stym
сообщение 19.12.2012, 17:08
Сообщение #38


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 13.8.2009
Пользователь №: 4 168
Спасибо сказали: 14 раз




Все настроил. Спосибо большое! Теперь сообщения с матом не появляется в чате big_smile.gif И так же не отобржается ОПам... но это фиг с ним, у меня флаг показа админам сообщений заглушенных отключен big_smile.gif
Go to the top of the page
+Quote Post
SergSat
сообщение 19.5.2013, 21:15
Сообщение #39


Начинающий
*

Группа: Пользователи
Сообщений: 12
Регистрация: 26.9.2009
Из: Новосибирск
Пользователь №: 4 558
Спасибо сказали: 6 раз




было сегодня в течении дня 2 странных ошибки
[2013-05-19 12:26] <NoUser> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:204: invalid pattern capture
[2013-05-19 21:09] <NoUser> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:204: invalid pattern capture

вот строка 204
msg = msg:gsub(komu2, komu)


лог чата

[2013-05-19 12:26] <kasta540> ТАБУРЕТКА ДАЖЕ ДО ЭТОЙ ВЫСОТЫ НЕ ДОРОСЛА)))))))))
***
[2013-05-19 21:09] <kasta540> вредина)): ЗДРАВСТВУЙТЕ!
Go to the top of the page
+Quote Post
Ksan
сообщение 27.5.2013, 5:12
Сообщение #40


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

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




SergSat, сделано. big_smile.gif
UPD-4: Исправил очень редко (как правило) появляющуюся ошибку, описанную, например, тут выше в сообщении #39 (хотя и раньше писали). Появлялась ошибка, как оказалось, из-за наличия в нике, к которому обращаются, т.н. "магических" символов. Заодно чуток оптимизировал прилегающие участки.
Скрипт перезалит в первом сообщении темы (но изменения коснулись только 2 файлов - главного файла и вспомогательного surdo_addfunctions.lua из папки AddFunc), старые архивы удалены.

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

Проверяйте, сообщайте о результатах.
Go to the top of the page
+Quote Post
dimetro
сообщение 4.12.2014, 21:54
Сообщение #41


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

Группа: Пользователи
Сообщений: 69
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 19 раз




А можно из этого скрипта сделать только чтоб отключать видимость чата заглушенным ип - тихая заглушка? остальные возможности не нужны..
Go to the top of the page
+Quote Post

3 страниц V  < 1 2 3 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 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, 17:38