Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

10 972 Posts in 6 347 Topics- by 1 216 Members - Latest Member: santini862

24 November 2020, 10:40
  Show Posts
Pages: [1]
1  Russian talks / Скриптинг / Re: Антимат on: 13 March 2008, 11:58
Quote
то есть если вам надо отлавливать только слово "тест", то в словаре надо писать * тест *, то есть с пробелами вначале и в конце
А вот этого я не знал и даже не догадывался. Еще удивлялся, зачем в самом начале пробелы добавляете слева и справа. Правильно ли я понял: если я хочу поймать одно слово целиком, например "тест", то в словаре надо писать * тест *, а если какие либо совпадения, например любые слова начинающиеся на "тест", "тестовый", "тестовая", тогда маска в словаре должна быть "* тест*", т.е. в начале пробел есть, а в конце его нет ?
И тоже самое касается знака одного символа - "?" ?
Quote
в словаре исключений не маски, а комбинации букв, которые будут вырезаться из строки перед проверкой. символы * и ? там не нужны
Ага, а здесь значит можно просто указать сами слова исключения без каких-либо знаков, например "себя", "себе" ?
Quote
у меня, кстати, словари в кодировке win-1251
А вот у меня ни с одной из стандартных он не захотел работать, только в UTF-8 нормально загрузил в массив, а в остальных сплошные вопросы были "?".
Квирк у меня 3.2.6.20080226.
2  Russian talks / Скриптинг / Re: Антимат on: 12 March 2008, 11:56
создавайте файл badwords_check.kvs в кодировке UTF-8
Ваш скрипт с форума мне удалось перенести в Тестер скриптов в квирке через буфер обмена. Потом я его експортировал из квирка в файл badwords_check.kvs, так что думаю он и так в кодировке UTF-8.
Еще я заметил, что текстовые файлы со словами тоже должны быть в этой кодировке.
Я вычислил, что срабатывают слова, которые в файле словаря записаны со знаком "*" с обеих сторон, например, маска *тест* сработает на любые слова, где встречается "тест" - тест, тестовый, тестовая... А это уже не правильно.

Я так предпалагаю, что он у вас стоит на вооружении и прекрастно работает ?
3  Russian talks / Скриптинг / Re: Антимат on: 11 March 2008, 19:23
На основе материалов данной темы я сделал Бота как Дополнение для КВирка с функцией Антимата.
В дальнейшем планируется увеличение функционала Бота.
Но есть загвоздка. В функции (алиасе) проверки слов почему-то не всегда срабатывает на слова из словаря.  Embarrassed Некоторые слова пропускает.
Буду рад любой помощи. Может кто-нибудь подскажет причину и ее решение ?
4  Russian talks / Скриптинг / Re: Антимат on: 7 March 2008, 19:44
функция проверки строки на присутствие матерного слова (возвращает "ничто", если строка нормальная и найденную маску мата если такая найдена:
Code:
alias(BadWords::check)
{
%str=" "$str.lowcase($str.stripcolors($0))" "
foreach(%bwExtWord,%BadWordsExt) %str=$str.replace(%str,"",%bwExtWord)
%str=~tr/ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ/ёйцукенгшщзхъфывапролджэячсмитьбю/
%str=~tr/\,\.\!\#\%\^\&\*\(\)\-\=\\\_\+\|\`\~\[\]\{\}\;\'\:\"\,\.\/\<\>\?‚„…‰‹‘’“”•–—˜™›¤¦«¬°±µ·»/                                                        /
%str4=%str
%str4=~tr/1234567890\@\$\x0F/             /
%str4=" "$str.replace(%str4,""," ")" "
%str=~tr/\@\$ЉЂЃѓ†‡€ЊЌЋЏђљњќџЎўЈҐ§Ё©Є®ЇІіґё№єјЅѕї¶/аслбггttенkhuhлнkuууjгsесеriiiгеnеjssiп/
%str=~tr/69403/бячоз/
%str2=%str
%str2=~tr/69403yabсeghkmnoprtuxёй/бячозуавcеднкмпоргтихеи/
%str3=%str
%str3=$str.replace(%str3,"я","ya")
%str3=$str.replace(%str3,"ч","ch")
%str3=$str.replace(%str3,"ш","sh")
#%str3=$str.replace(%str3,"л","/\\")
%str3=$str.replace(%str3,"л","ji")
%str3=$str.replace(%str3,"л","jl")
%str3=~tr/abcdefghijklmnopqrstuvwxyz/абцдефгхииклмнопqрстуввxyз/
foreach(%bw,%BadWords) if ($str.match(%bw,%str2,e)) { %result=%bw;return %result; }
foreach(%bw,%BadWords) if ($str.match(%bw,%str3,e)) { %result=%bw;return %result; }
foreach(%bw,%BadWords) if ($str.match(%bw,%str4,e)) { %result=%bw;return %result; }
}

При компиляции этого кода выдается ошибка:

 Предупреждение: Строка с константой не закрыта
[16:58:48] [KVS]   в контексте скрипта "badwords_check.kvs", Строка 9, около символа 83
[16:58:48] [KVS] Листинг кода:
[16:58:48] [KVS]   7 ...
[16:58:48] [KVS]   8    %str=~tr/ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ/ёйцукенгшщзхъфывапролджэячсмитьбю/
[16:58:48] [KVS]   9    %str=~tr/\,\.\!\#\%\^\&\*\(\)\-\=\\\_\+\|\`\~\[\]\{\}\;\'\:\"\,\.\/\<\>\?'":%<''""--?T>
5  Russian talks / Скриптинг / Re: Антимат и антифлуд on: 7 March 2008, 19:19
Небольшой Антимат я нашел на этом топике http://www.kvirc.ru/forum/topic,37.0 , спасибо Hadros.
И начал реализовывать. Есть еще несколько для мирки, но я ее скриптинг не знаю.
Желающие присоедениться и помочь, пишите.
6  Russian talks / Скриптинг / Антимат и антифлуд on: 3 March 2008, 20:13
Ищу скрипты-боты. Больше всего интересует антимат и антифлуд. Но буду рад и другим полезнам скриптам-ботам для управления каналам. Кто чем может, помогите, плиз.
Pages: [1]
Theme orange-lt created by panic