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

Пишем Антимат вместе

СообщениеДобавлено: 21 авг 2010 01:30
Spoofing
Поскольку антимат уже нужно сделать, а идеально-готового решения все еще не нашел, то решил, что тогда стоит попробовать написать антимат целым обществом, все кто будет заинтересован - можете писать свои идеи.
Не важно на каком языке и как, здесь (в этом, первом посте темы) описывается только теория, идеальный антимат, созданный из обсуждения во всей теме. Строго по пунктам, и вам остается лишь переписать его на программный код.


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

Для регистрозависимых реализаций (2) избавляемся от вверхнего регистра, переводим весь текст в нижний.

Работаем только с русским языком, для этого (3) всю латиницу переводим в русский текст, - сначала qwerty-раскладку клавиатуры, а затем translit. На последок переводим 1337-стилевой текст в читаемые буквы, как например "9I" в "я", "/\/\" в "м" и т.д. - их много (как будет время - список составлю и выложу здесь же)


Продолжение следует...

Re: Пишем Антимат вместе

СообщениеДобавлено: 21 авг 2010 10:59
tvrsh
  • Зачем количество определять? Достаточно определять его наличие в определенной строке. Да и как ты определишь количество матов например в такой строке "хуевопиздатый"? Надо просто определить наличие мата и что-то сделать, увеличить счетчик или сразу наказать.
  • Твой второй пункт слишком прост в реализации чтобы выделять отдельным пунктом его.
  • По поводу третьего пункта вообще сложно. Я считаю, что скрипт должен банить за "основные" матершинные слова, а за всякие хитровывернутые комбинации надо наказывать руками. Ибо заколебешься и все равно найдется какой-нибудь неучтенный вариант. Лучше сделать так чтобы пользователь мог с канала пополнять базу матов или исключений из них. И редактировать ее "на лету", не залезая в сам скрипт.

Вообще, наличие такого механического правосудия это довольно спорный вариант, ибо все не так как может показаться на первый взгляд. Например эмоциональная беседа про педерастию или политику может обернуться тотальным забаниванием всего канала, хотя никаких личных оскорблений на канале в адрес пользователей не будет звучать. А с другой стороны, простая фраза "тупая сука" в адрес какой-либо девушки, может быть пропущена антиматом как вполне литературная, ну или наоборот последует наказание при обсуждении пород собак или чего-то в этом роде.
Очень много про антиматы написано тут: http://forum.eggdrop.org.ru/index.php?showtopic=367
Я какое-то время пользовался скриптом sbw.tcl

Re: Пишем Антимат вместе

СообщениеДобавлено: 21 авг 2010 20:47
Spoofing
Количество для _перфекционизма_, просто чтобы было.
Простота второго пункта расчитана на абсолютную честность перед кодером, чтобы ему самому не пришлось лишний раз думать, а дать уже опять же идеальное, полностью готовое решение для реализации. Все до мелочей.
Рано или поздно у пользователей тоже кончится фантазия придумывать маты, было бы побольше времени и пользователей с нестандартным мышлением.

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

Спасибо за линк, почитаю.
А каким антиматом пользуетесь сейчас? Надеюсь, просто написали уже свой?

Re: Пишем Антимат вместе

СообщениеДобавлено: 22 авг 2010 01:07
tvrsh
Я никаким не пользуюсь. Понял, что правильнее набрать команду операторов и поручить это дело им. Да к тому же, у меня нет детских каналов, так, что матом на них никого не шокировать и не испортить неустойчивую психику.
Ну а пока пользовался, сбв меня вполне устраивал, возможность настройки командами с канала, просмотр текущих настроек, кое-какая статистика, только кажется слова исключения не добавлялись почему-то. Хотя не думаю что и остальные скрипты сильно по функционалу отстают. Чтобы написать что-то действительно стоящее, надо изучить их все, чтобы не изобретать велосипед, а сгруппировать наиболее необходимые функции в одном скрипте.