Страница 1 из 2
Можно ли в коре фильтровать сообщения чата?
Добавлено: Чт июн 05, 2008 6:06 pm
Tray
если такая фишка есть, подскажите как сделать
если нет, надо бы внедрить, а то просто задрали боты-рекламщики, поэтому хотелось бы иметь возможность поставить фильтр на определенные слова (сайты, фразы)
Добавлено: Пт июн 06, 2008 7:38 am
МихаилБорисович=)
А зачем тебе это?
Не пойму ты хочешь что бы кора не видела чат или кора фильтровала чат для твоего открытого окна клиента?
Добавлено: Пт июн 06, 2008 8:07 am
Tray
допустим, поставил я торгаша через кору 0.
я не хочу видеть в окне чата рекламные сообщения, потому что они тупо бесят, плюс засоряют весь чат, приватные сообшения потом лазай, ищи.
Добавлено: Вс июн 08, 2008 7:42 am
Tray
ну так что? неужели никто не может помочь? это же элементарная задача для тех кто знает кору - сделать фильтр спама.
Блин, надоели рекламные сообщения. Неужели мне одному?
Этих ушлепышей с
www.top4game.ru и похожих сайтов надо просто пиздить за эту навязчивую рекламу, подонки просто.
Добавлено: Вс июн 08, 2008 8:10 am
Lims
файл Receive.pm ищи строку
'008D' => ['public_chat'
закомментриуй её и радуйся жизни
Добавлено: Пн июн 09, 2008 3:27 pm
дотошный_нуб
Касты, смайлы как отфильтровать?
Добавлено: Сб июн 14, 2008 1:47 am
дотошный_нуб
UP!!!
Добавлено: Сб июн 14, 2008 1:19 pm
Aib0
RTFM
squelchDomains
Добавлено: Вт июн 17, 2008 5:08 pm
Tray
'008D' => ['public_chat'
если я так сделаю, я себе случаем не весь ли публичный чат отрублю?
мне бы хотелось фильтровать именно конкретные фразы, подскажите хоть на примере, с чего начать то?
есть же светлые головы, которые рубят в перле
Добавлено: Ср июн 18, 2008 10:29 pm
4epT
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.
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.
Добавлено: Сб июн 21, 2008 4:11 pm
Tray
да это не то, я не хочу отфильтровывать домейны, я хочу видеть разговоры людей в общий чат, я не хочу видеть фразы ботов-рекламщиков именно, т.е. было бы прикольно фильтрануть их типовын фразы или сайты.
Добавлено: Сб июн 21, 2008 4:36 pm
DInvalid
Recive.pm
sub public_chat {
Найти
Код: Выделить всё
message TF("%s%s\n", $distInfo, $message), "publicchat";
заменить на
Код: Выделить всё
message TF("%s%s\n", $distInfo, $message), "publicchat" unless ($message =~ /$config{chatFilter}/);
В конфиг добавить chatFilter и в него написать регэксп который будет отбирать фразы.
Попробовать и сказать - работает или нет )
Добавлено: Сб июн 21, 2008 5:37 pm
Tray
что такое регэксп?
и что прописывать в конфиге то?
типа если написать в конфе
chatFilter 'продажа зеней', 'боты'
то тогда в чате не будут высвечиваться предложения, содержащие такие фразы?
===============
если не трудно, объясни смысл того, что должно произойти и что нужно прописывать.
в кавычки брать? если брать, то в двойные или одинарные?
фразу можно или только одно слово?
можно ли слова через запятую?
====================================
я просто не понимаю синтаксис перла
"publicchat" unless ($message =~ /$config{chatFilter}/);
это случаем не означает "показывать предложение из публичного чата, если тока в предложении не встречается фраза/слово, определенное в параметре chatFilter"?
==============================
заменил функцию в ресив.пм
пробовал прописывать в файле config.txt так:
chatFilter
www.top4game.ru
chatFilter '
www.top4game.ru'
не работает, проходят в чат предлжения такого типа
www.top4game.ru! Лучший сервис! Лучший для игр!
Добавлено: Сб июн 21, 2008 11:28 pm
DInvalid
Регэксп - это регулярное выражение.
Тут на форуме по ним была памятка.
В конфиге прописывать надо один параметр - 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 а спам будет белым и в домене spamchat , который можно внести в squelchDomains для подавления.
Пример
Код: Выделить всё
[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! Лучший сервис! Лучший для игр!
Добавлено: Вс июн 22, 2008 10:57 am
Tray
спасибо, кудесник.
теперь еще один вопрос - не отображаются фразы в консоли, зато отображается этот спам в Chat Log'е. Как там отфильтрофировать, ибо для меня он имеет большее значение нежели консоль.