Почти универсальный скрипт заглушки
Название: Surdo_Isolation.lua (слышали когда-нибудь про сурдокамеры?)
Версия: 1.4
Платформа: PtokaX 0.4.1.x
API: API 2
Автор: Ksan (aka Trans)
Город: Томск
Дата написания: 03-12-2010
Благодарности: всем скриптерам форума
Возможности:
Отличная работа!
Вот разве при тотал заглушке чата:
спасибо хороший скрипт
Saymon:
1. Не смог у себя повторить насчёт заглушки чата и последующего сообщения разглушки привата.
Возможно, у тебя были последовательно заглушены сначала приват, потом чат и потом так же последовательно разглушались - сначала приват, потом чат. И возникла такая картинка, как ты показал....может быть. Но я проверил с теми же файлами, что в архиве - нормально показало.
2. Насчёт сроков заглушки...есть легкое решение - просто в конфиг-файле ставишь не 30 (минут), а очень большое число, например, 1440*10 (это будет 10 дней)...или умножь на 100 Будет 100 дней заглушки. А снять ты всегда сможешь вручную в любую минуту.
3. Кем был заглушен-разглушен - видят и так только опы.
4. Насчёт ошибки про чат-хистори. Перезалил архив.
Ksan, с тотал гагом оказалось всё верно... Действительно так он пишет когда снимаю тотал гаг с чата.
Да, и [02:14:53] <_#ОпЧат> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:118: attempt to get length of global 'tChathistory' (a nil value) осталось
Saymon:1. Я не могу понять, почему у тебя так с Тотал-заглушкой! У меня с теми же файлами всё как надо!
2. И с чат-хистори так же! Я спешал фор Ю ещё раз изменил способ чтения таблицы, перезалил в первом сообщении, попробуй.
3. Если у тебя снова эти же косяки будут, тогда я не знаю, может, решу, что ты шутишь надо мной...
Пусть другие выскажутся, работает ли у них чат-лог нормально и Тотал-заглушка при автоматической разглушке корректно ли сообщает про это (не путая чат и приват).
UPD: С Тоталом - мой косячок - в одном месте недоисправил при копировании и при разглушке чата приходит сообщение о разглушке привата, но в остальном работает нормально.
Исправил, перезалил в первом сообщении.
UPD-2: Не даёт покоя твоя ошибка с чат-хистори...Поэтому поставил отдельно новую Птоку, скачал обратно отсюда скрипт, поставил его в новую Птоку - никаких багов с чат-хистори. Совет - целиком меняй, взяв с архива с форума, главный файл скрипта и этот - SurdoIsolation/AddFunc/surdo_addfunctions.lua...как минимум.
Хм вот какая трабла выскочила
[12:00:01] <OpChat> ...cripts/SurdoIsolation/AddFunc/surdo_addfunctions.lua:209: invalid pattern capture
luxemat, изредка такое вылезает, я не могу отловить причину.
Это происходит при отправлении сообщения нику из заглавных букв, судя по сообщению и строке, но вот при какой ситуации такое выскакивает, я не смог отловить. Это у меня ранее тоже выскаивало пару раз.
Советую пока просто включить скрипт и забить.
Может, как-нибудь отловим потом. Возможно, в нике был какой-то критичный символ.
ч классная вещ !!! Ништяк спс те большое (кнопочку спасибо нажал)
Saymon, похоже, есть действительно недоделка...она вылезает только при отключении чат-лога через флажок в настройках скрипта (у меня вылезло так - поставил флажок чат-лога на false, перезапустил скрипт, потом отключил скрипт. и в этот момент вылезает ошибка твоя). Ты мне про флажок вроде не говорил.
Сегодня буду исправлять, да и заодно приделаю отмену чат-лога через меню, чтоб не лазали лишний раз по скрипту.
UPD: Подправил, + вынес ещё 3 команды в меню (теперь не придётся лезть в скрипт, чтоб менять флажки для включения/отключения Чат-лога, антифлуда (это антикапс + анти-много-пробелов + анти-много-знаков-препинания) и приставок к никам)
Скачайте ещё раз и проверяйте. Архив перезалит в первом сообщении.
Ksan, ещё бы удаление/добавление/показ шаблонов мата через меню.
Saymon, это у меня в ToDo...
Теперь, с твоей просьбой, я ещё больше уверен, что это нужно сделать.
PS: Что-то не пишут ничего почти, неужели скрипт никакой?
Только не забудьте обновить, если скачивали раннюю версию.
Скрипт отличен!
С матом да, верно нужно, чтобы не лазить лишний раз в файлы.
Лично скажу по себе: я использую его только на хабе провайдера, и там не особо охота лишний раз лазить на фтп и что-то править.
Да, также нужен бы переключатель, в котором можно указать, уведомить ли юзера о том, что он был только что заглушен на N времени по N причине, или же заглушка будет тихой. Может оно и сейчас есть, да я не заметил. + маленький изврат по поводу исключения опа из права гагать / смотреть гагнутых, если он сам заглушен. Хотя с этим уже нужно быть ближе к снятию такого опа
1. Сообщение-предупреждение заглушенному юзеру - легко сделать (опционально)
2. Такого опа лучше снять, свято место не бывает пусто, к тому же, в скрипте исключена заглушка опов (чтоб не баловались затыканием друг друга). Если есть проблема с опом - лучше принимать другие, более серьёзные меры (как с милицией - если ты мент и нарушил закон, с тебя и спрос выше).
PS: Если у кого возникли вопросы, например, при вводе аргументов (там с непривычки можно слегка запутаться), задавайте, разъясню..
UPD: Подправил небольшую опечатку, перезалил в первом сообщении. Время: 08-12-2010 00:30 МСК
UPD-2: По предложению Saymon'а добавил в скрипт и в меню возможность выбора - уведомлять заглушаемого онлайн-юзера в приват о его заглушке или нет (в момент установки заглушки). В уведомлении покажет причину и срок.
(перезалил, добавив пропущенный кусок кода)
Перезалил в первом сообщении. Время: 17-12-2010 19:40 МСК
Можно сделать ещё функцию предупреждения юзера и после N (например 3ёх) предупреждений гаг на N времени (например на 1 день) по IP.
Во время выставления гага оператором юзер получает сообщение в ЛС "Вы были предупреждены по причине: .... при повторных нарушениях может последовать наказание в виде заглушки вашего IP адреса на N времени."
И так-же отправляем всем в главном чате сообщение "Юзер "ник" получил предупреждение по причине .... При повторных нарушениях возможно он будет заглушен".
спс, отличная работа Можно добавить чтоб при при замене самого мата, фраза бралась рандомо из таблицы, как при замене фразы целиком. На скорую руку попробывал переделать - не получилось, ошибки посыпались
Нашел такую недоработку: при отправке в чат ТЕСТ АНТИКАПСА!!!!!!!!!!!!)))))))))) имеем на выходе текст ТЕСТ АНТИКАПСА!!!)))
т.е. флуд обработался а капс нет
Saymon, я подумал над твоим предложением. Вообще, скрипт задумывался именно как тихая заглушка с возможностью скрытия чата, только с дополнительными удобствами и решениями проблем, возникающих по ходу эксплуатации (я про антикапс, антимат и т.д.), и как-то не хочется превращать его совсем уж в подобие Экзекутора (а если вовремя не остановиться, к тому и придём). Не хочется повесить сюда ещё и предупреждения, для этого же есть обычный скрипт предупреждений и общения через бота (можно так же предупреждать и потом уже при необходимости применять Сурдо-изоляцию).
Для WINS:
1.
увидел имеет место недочет, описаный тут http://mydc.ru/index.html?showtopic=3682&view=findpost&p=34213
WINS, хотелось бы услышать от тебя описание проблемы своими словами..По отсылке я не понял, в чём суть твоей проблемы.
Если кикаешь пользователя через штатную менюху "выкинуть пользователя", то в файл chathistory.dat записывается строка примерно такого содержания: "[15:09:33] <WINS> is kicking MyNet because: !", , после переподключения лог уже не отображается, вернее отображается, но в строке состояния. Как только ее удаляешь, с последующим перезапуском скрипта, все становится на круги своя
Для WINS:
1. Я бы посоветовал тебе не кикать через эту команду, а использовать штатную команду Птоки, либо использовать мой же http://mydc.ru/topic3630.html (если, конечно, ты не ставишь целью кикать демонстративно, чтоб все видели, кто, кого и за что кикает). Этот скрипт работает бесшумно и без упоминания ника админа, что частенько избавляет от лишних разборок впоследствии с кикнутым юзером.
2. Но есть решение и в топиковом скрипте, почти аналогично решению по указанной тобой ссылке. Я позже представлю его, когда перезалью обновлённый скрипт (когда допеределаю встроенный антимат)
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
поставь скрипт истории ниже скрипта заглушки
поставил и скрипт истории перестал запоминать историю .
Это называется конфликт скриптов... Выход только один - совместить данные скрипты в один для неконфликтной работы. Либо же писать в лог реплики заглушенного, зато без палева для него выходит
В русхабе на такой случай существует функция изменения протокольной команды Core.SetCmd(sData), таким образом, во все скрипты, которые находятся ниже данного, поступит уже изменённая команда
absent, у этого скрипта есть свой чат-лог, и именно из-за таких конфликтов я его встроил в Сурдо-изоляцию. Можешь использовать встроенный чат-лог.
Встроенный чат-лог не запишет сообщения заглушенного, и не покажет ему при входе (или через команду) последние сообщения, и даже меню не отправит.
Антимат встроен, потому что тоже в некоторых случаях наблюдается аналогичный конфликт с независимым антиматом.
А что такое приставки к никам? Как работает?
van21, например, если к тебе кто-то в чате пишет сообщение, то получится примерно так (смотря что написано в таблице):
А может кто нибудь помочь? У меня антимат на этом скрипте настроен на подмену в виде трез звездочек. Когда тихо глушишь юзера, все нормально, он пишит, но никто его не видит... но стоит ему написать сообщение с матом, то все его сразу видят....
Stym, а вы скрипт держите ниже других скриптов, как я советовал в первом сообщении?
Спасибо, но вы меня не правильно поняли.. Антимат работает на ура. Но вот тихая заглушка с проблемами.... Когда заглушенный юзер пишит в чате мат, то он виден всему чату.... а сообщения без мата, тихо глашться (он видит что пишит, но его реально в чате никто не видит...)
Stym, вопрос - всему чату видно его сообщение с подменённым матом или сообщение проходит в чат без подмены (с матом)?
Если первый вариант, то действительно, есть такое, оказывается, я как-то не учёл вариант, когда заглушенный пишет с матами. Без вашего сообщения так и не узнал бы (у меня на хабах антимат настроен на непропускание сообщения с матом), так что спасибо! Надо будет изменить скрипт малость (для передачи флажка заглушенности юзера в функцию антимата). Когда сделаю, выложу тут и напишу сообщение.
Если второй вариант - то я даже не представляю, как это может получиться так..
Да да.. первый вариант... Юзер появляется в чате, с подменной мата
Пофиксил вышеобсуждённую проблему, перезалил (точнее, дозалил) файл (старый остался доступен) в первом сообщении.
Тем не менее, обнаружилась и осталась не пофиксенной в силу большой трудозатратности и возможного увеличения нагрузки на хаб другая фишка, суть которой не стану тут описывать.
P.S.: Файл залит в виде RAR-архива, но скачивается почему-то как ZIP-архив и, естественно, не разархивируется. Поэтому после скачивания расширение файла нужно сразу поменять на .rar
Время заливки нового файла: 19-12-2012 05:30 Мск.
Все настроил. Спосибо большое! Теперь сообщения с матом не появляется в чате И так же не отобржается ОПам... но это фиг с ним, у меня флаг показа админам сообщений заглушенных отключен
было сегодня в течении дня 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> вредина)): ЗДРАВСТВУЙТЕ!
SergSat, сделано.
UPD-4: Исправил очень редко (как правило) появляющуюся ошибку, описанную, например, http://mydc.ru/topic4108.html?view=findpost&p=45495 (хотя и раньше писали). Появлялась ошибка, как оказалось, из-за наличия в нике, к которому обращаются, т.н. "магических" символов. Заодно чуток оптимизировал прилегающие участки.
Скрипт перезалит в первом сообщении темы (но изменения коснулись только 2 файлов - главного файла и вспомогательного surdo_addfunctions.lua из папки AddFunc), старые архивы удалены.
Последняя перезаливка: 2013-05-27 06:00 МСК
Проверяйте, сообщайте о результатах.
А можно из этого скрипта сделать только чтоб отключать видимость чата заглушенным ип - тихая заглушка? остальные возможности не нужны..
dimetro,
Вы вообще читали описание скрипта полностью? Например, возможности..
Ставить у себя пробовали? Что мешает отключить через меню всё, что не нужно, или просто не использовать ненужное? Очистите таблицы сразу после установки (опять же через меню) и юзайте только то, что вам надо, отключив всё, что не надо.
Почему даже такие элементарные вещи надо подсказывать?