
Сообщение от
sennebit
Уважаемые гмы. Почему вы всё-таки не поставите антиспам-фильтр,против торговцев ?
Фильтры стояли и стоят на достаточно большом количестве серверов,и мелкие неудобства не перекрывают большие плюсы от его наличия.
Вы считаете,что модераторов хватает - а игроки наблюдают,как три трейдера,наперебой спамят в чат о продаже.
вы говорите,что мы должны их репортить на форуме - да они плодятся быстрее,чем дохнут.
модераторов конечно много,но,как видимо не настолько много,чтобы круглосуточно следить.И плюс фильтра - то что он освободит модеров от лишней работы.С нашим чатом им и без торговцев хватает работы.
благодарю Вас за внимание,у меня всё .
в аддоне арена-спектатор я делал простейший фильтр спама в чате системных сообщений.
http://forum.wowcircle.com/showthread.php?t=299937
не сложно ведь самому решить эту проблему, и не нужно никаких "Сообщить о спаме" кнопок жать - у тебя просто не будут отображаться сообщения содержащие то, что заведомо тебе не нужно. К примеру, в msg:find ты можешь добавить скайп любого из торгашей, и все сообщения, содержащие этот скайп будут автоматически удаляться. Удаляются они последующим применением msg:hide(); У меня в коде msg:hide(); закоментирован, т.к. я поиск сообщений с чата использовал для других целей, и мне не надо было удалять эти сообщенки с чата. Просто убери "--" перед msg:hide(); и у тебя будет удалятся в данном коде все сообщения You are not spectator! Только в случае с аллчатом, тебе нужно добавить ChatFrame_AddMessageEventFilter ещё один, т.к. у меня добавлен только для системных сообщений. Пользуйся, если разберёшься, то это решение твоей проблемы. А если ты ожидаешь что кто-то, что-то за тебя сделает, и уж тем более на стороне сервера, то ты заблуждаешься в этом - никто и ничего кроме тебя делать не будет. Спасиб за внимание.
PHP код:
-- фильтр спама в чате от системных сообщений
local fq = CreateFrame("frame")
fq:SetScript("OnUpdate", oneUpdate)
local isinarena
local notspectator
local function myChatFilter(self, event, msg) --(self, event, msg, author, ...)
if msg:find("Teams:") then
atime = 0
isinarena = true
end
if msg:find("15 секунд до начала арены") or msg:find("30 секунд до начала арены") then
key = 0
atime = 0
isinarena = false
end
if msg:find("You are not spectator!") then
--msg:hide();
key = 0
atime = 0
isinarena = false
end
if msg:find("Команда не может быть обработана в текущий момент. Попробуйте позже") or msg:find("Syntax: .spectate reset") or msg:find("Send addon data.") or msg:find("Обмениваться личными сообщениями можно только с союзниками.") then
msg:hide();
end
end
ChatFrame_AddMessageEventFilter("CHAT_MSG_SYSTEM", myChatFilter)
-----------------