Можно ли в коре фильтровать сообщения чата?

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

Модератор: 4epT

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Можно ли в коре фильтровать сообщения чата?

Сообщение Tray »

если такая фишка есть, подскажите как сделать

если нет, надо бы внедрить, а то просто задрали боты-рекламщики, поэтому хотелось бы иметь возможность поставить фильтр на определенные слова (сайты, фразы)
Я не бот, я просто мозг отключил.
МихаилБорисович=)
Начинающий
Сообщения: 28
Зарегистрирован: Ср янв 24, 2007 3:24 pm
Откуда: Питер
Контактная информация:

Сообщение МихаилБорисович=) »

А зачем тебе это?
Не пойму ты хочешь что бы кора не видела чат или кора фильтровала чат для твоего открытого окна клиента?
Уже не НУП, но Учусь......
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Сообщение Tray »

допустим, поставил я торгаша через кору 0.
я не хочу видеть в окне чата рекламные сообщения, потому что они тупо бесят, плюс засоряют весь чат, приватные сообшения потом лазай, ищи.
Я не бот, я просто мозг отключил.
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Сообщение Tray »

ну так что? неужели никто не может помочь? это же элементарная задача для тех кто знает кору - сделать фильтр спама.

Блин, надоели рекламные сообщения. Неужели мне одному?
Этих ушлепышей с www.top4game.ru и похожих сайтов надо просто пиздить за эту навязчивую рекламу, подонки просто.
Я не бот, я просто мозг отключил.
Lims
Нууууп
Сообщения: 723
Зарегистрирован: Чт ноя 09, 2006 7:55 pm

Сообщение Lims »

файл Receive.pm ищи строку
'008D' => ['public_chat'
закомментриуй её и радуйся жизни
дотошный_нуб
Новичок
Сообщения: 13
Зарегистрирован: Ср май 14, 2008 3:17 am

Сообщение дотошный_нуб »

Касты, смайлы как отфильтровать?
дотошный_нуб
Новичок
Сообщения: 13
Зарегистрирован: Ср май 14, 2008 3:17 am

Сообщение дотошный_нуб »

UP!!!
Аватара пользователя
Aib0
Бывалый
Сообщения: 961
Зарегистрирован: Чт ноя 16, 2006 12:50 am
Контактная информация:

Сообщение Aib0 »

RTFM
squelchDomains
Wtf is "OpenKore"?

"What we're dealing with here is a total lack of respect for the law"
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Сообщение Tray »

'008D' => ['public_chat'
если я так сделаю, я себе случаем не весь ли публичный чат отрублю?
мне бы хотелось фильтровать именно конкретные фразы, подскажите хоть на примере, с чего начать то?

есть же светлые головы, которые рубят в перле
Я не бот, я просто мозг отключил.
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 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:

Код: Выделить всё

squelchDomains skillif
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.
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Сообщение Tray »

да это не то, я не хочу отфильтровывать домейны, я хочу видеть разговоры людей в общий чат, я не хочу видеть фразы ботов-рекламщиков именно, т.е. было бы прикольно фильтрануть их типовын фразы или сайты.
Я не бот, я просто мозг отключил.
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 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 и в него написать регэксп который будет отбирать фразы.

Попробовать и сказать - работает или нет )
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Сообщение Tray »

что такое регэксп?

и что прописывать в конфиге то?
типа если написать в конфе

chatFilter 'продажа зеней', 'боты'

то тогда в чате не будут высвечиваться предложения, содержащие такие фразы?

===============
если не трудно, объясни смысл того, что должно произойти и что нужно прописывать.
в кавычки брать? если брать, то в двойные или одинарные?
фразу можно или только одно слово?
можно ли слова через запятую?

====================================
я просто не понимаю синтаксис перла
"publicchat" unless ($message =~ /$config{chatFilter}/);
это случаем не означает "показывать предложение из публичного чата, если тока в предложении не встречается фраза/слово, определенное в параметре chatFilter"?
==============================
заменил функцию в ресив.пм
пробовал прописывать в файле config.txt так:
chatFilter www.top4game.ru
chatFilter 'www.top4game.ru'

не работает, проходят в чат предлжения такого типа www.top4game.ru! Лучший сервис! Лучший для игр!
Я не бот, я просто мозг отключил.
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 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! Лучший сервис! Лучший для игр!
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Сообщение Tray »

спасибо, кудесник.

теперь еще один вопрос - не отображаются фразы в консоли, зато отображается этот спам в Chat Log'е. Как там отфильтрофировать, ибо для меня он имеет большее значение нежели консоль.
Я не бот, я просто мозг отключил.
Ответить