Можно ли в коре фильтровать сообщения чата?
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Можно ли в коре фильтровать сообщения чата?
если такая фишка есть, подскажите как сделать
если нет, надо бы внедрить, а то просто задрали боты-рекламщики, поэтому хотелось бы иметь возможность поставить фильтр на определенные слова (сайты, фразы)
если нет, надо бы внедрить, а то просто задрали боты-рекламщики, поэтому хотелось бы иметь возможность поставить фильтр на определенные слова (сайты, фразы)
Я не бот, я просто мозг отключил.
-
- Начинающий
- Сообщения: 28
- Зарегистрирован: Ср янв 24, 2007 3:24 pm
- Откуда: Питер
- Контактная информация:
ну так что? неужели никто не может помочь? это же элементарная задача для тех кто знает кору - сделать фильтр спама.
Блин, надоели рекламные сообщения. Неужели мне одному?
Этих ушлепышей с www.top4game.ru и похожих сайтов надо просто пиздить за эту навязчивую рекламу, подонки просто.
Блин, надоели рекламные сообщения. Неужели мне одному?
Этих ушлепышей с www.top4game.ru и похожих сайтов надо просто пиздить за эту навязчивую рекламу, подонки просто.
Я не бот, я просто мозг отключил.
-
- Новичок
- Сообщения: 13
- Зарегистрирован: Ср май 14, 2008 3:17 am
-
- Новичок
- Сообщения: 13
- Зарегистрирован: Ср май 14, 2008 3:17 am
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
squelchDomains [<message domains>]
If this option is set, certain messages grouped under the specified comma-separated list of message domains will not be printed in the console. For example, use:
Example:you don't want your vendbot to be spammed by people using skills in town.Код: Выделить всё
squelchDomains skillif
Notes:
* For normal messages, the option verboseDomains overrides this option, thus if a message domain is listed in verboseDomains, that message group will always be printed in the console even if it is listed in this option.
* Internally, Kore sets the verbosity level of message domains listed in this option to 5. See the option verbose for more information on verbosity.
* See the references section for a list of known message domains.
Recive.pm
sub public_chat {
Найти
заменить на
В конфиг добавить chatFilter и в него написать регэксп который будет отбирать фразы.
Попробовать и сказать - работает или нет )
sub public_chat {
Найти
Код: Выделить всё
message TF("%s%s\n", $distInfo, $message), "publicchat";
Код: Выделить всё
message TF("%s%s\n", $distInfo, $message), "publicchat" unless ($message =~ /$config{chatFilter}/);
Попробовать и сказать - работает или нет )
что такое регэксп?
и что прописывать в конфиге то?
типа если написать в конфе
chatFilter 'продажа зеней', 'боты'
то тогда в чате не будут высвечиваться предложения, содержащие такие фразы?
===============
если не трудно, объясни смысл того, что должно произойти и что нужно прописывать.
в кавычки брать? если брать, то в двойные или одинарные?
фразу можно или только одно слово?
можно ли слова через запятую?
====================================
я просто не понимаю синтаксис перла
==============================
заменил функцию в ресив.пм
пробовал прописывать в файле config.txt так:
chatFilter www.top4game.ru
chatFilter 'www.top4game.ru'
не работает, проходят в чат предлжения такого типа www.top4game.ru! Лучший сервис! Лучший для игр!
и что прописывать в конфиге то?
типа если написать в конфе
chatFilter 'продажа зеней', 'боты'
то тогда в чате не будут высвечиваться предложения, содержащие такие фразы?
===============
если не трудно, объясни смысл того, что должно произойти и что нужно прописывать.
в кавычки брать? если брать, то в двойные или одинарные?
фразу можно или только одно слово?
можно ли слова через запятую?
====================================
я просто не понимаю синтаксис перла
это случаем не означает "показывать предложение из публичного чата, если тока в предложении не встречается фраза/слово, определенное в параметре chatFilter"?"publicchat" unless ($message =~ /$config{chatFilter}/);
==============================
заменил функцию в ресив.пм
пробовал прописывать в файле config.txt так:
chatFilter www.top4game.ru
chatFilter 'www.top4game.ru'
не работает, проходят в чат предлжения такого типа www.top4game.ru! Лучший сервис! Лучший для игр!
Я не бот, я просто мозг отключил.
Регэксп - это регулярное выражение.
Тут на форуме по ним была памятка.
В конфиге прописывать надо один параметр - chatFilter.
потом пробел, потом - регулярное выражение (регэксп) описывающее то, что ты хочешь не слышать.
Пример:
chatFilter продажа зеней|боты|zeny|top4game
Означает что будут отбрасываться все фразы в которых есть или
продажа зеней или top4game или боты или zeny.
Можно усложнить, например top4game можно написать разными способами.
Проверить, работает ли это можно вставив такой код:
в результате обычный чат будет зеленым и иметь домен publicchat а спам будет белым и в домене spamchat , который можно внести в squelchDomains для подавления.
Пример
Тут на форуме по ним была памятка.
В конфиге прописывать надо один параметр - chatFilter.
потом пробел, потом - регулярное выражение (регэксп) описывающее то, что ты хочешь не слышать.
Пример:
chatFilter продажа зеней|боты|zeny|top4game
Означает что будут отбрасываться все фразы в которых есть или
продажа зеней или top4game или боты или zeny.
Можно усложнить, например top4game можно написать разными способами.
Проверить, работает ли это можно вставив такой код:
Код: Выделить всё
message TF("%s%s\n", $distInfo, $message), "publicchat" unless ($message =~ /$config{chatFilter}/);
message TF("%s%s\n", $distInfo, $message), "spamchat" if ($message =~ /$config{chatFilter}/);
Пример
Код: Выделить всё
[publicchat] [dist=0] Aml (0): hello
[publicchat] [dist=0] Aml (0): How are you?
[publicchat] [dist=0] Aml (0): sell zeny
[spamchat] [dist=0] Aml (0): zeny sell
[spamchat] [dist=0] Aml (0): www.top4game.ru! Лучший сервис! Лучший для игр!