-- Бот антирекламы -- Изменения (by NRJ 16/08/2006): -- -- Добавил исключения из запретов -- Добавил возможность регистрации бота вместе с описанием -- Ввел BanMode -- Вынес в конфигуратор сообщение о бане юзеру и опу о бане юзера -- Убрал дублирующуюся функцию ToArrival -- -- -- Конфигурация скрипта BotName = "Антиреклама" -- имя бота BotReg = 1 -- регистрировать бота на хабе? (1=да/0=нет) BanMode = 2 -- Какой тип бана использовать? (0=перманент/1=Default temp ban time хаба/2 = сами выбираете время бана) BanTime = 20 -- Время бана в минутах для BanMode = 2 -- Что запрещаем? adverTable = { "fathub.zapto.org","pashahub.myftp.org","87.228.84.15","http://united.1hb.ru","87.228.39.77", "d c h u b://","dchub://","d*c*h*u*b://","d-c-h-u-b://","d/c/h/u/b://","d`c`h`u`b://","d!c!h!u!b://","d@c@h@u@b://","d#c#h#u#b://","d$c$h$u$b://","d%c%h%u%b://","d^c^h^u^b://","d&c&h&u&b://","d(c(h(u(b://","d)c)h)u)b://","d_c_h_u_b://","d=c=h=u=b://","d+c+h+u+b://","d\c\h\u\b://","d?c?h?u?b://","d.c.h.u.b://","d>c>h>u>b://","d,c,h,u,b://","d%s*(.*)%|") if not user.bOperator then if checkForAdvertising(msg) then if checkForSafe(msg) then return nil end user:SendData(frmHub:GetHubBotName(), "*** "..text) SendPmToOps(frmHub:GetOpChatName(), "*** "..user.sName.." "..text_to_op.." "..msg) if BanMode == 0 then user:Ban() end if BanMode == 1 then user:TempBan() end if BanMode == 2 then user:TimeBan(BanTime) end end end end ToArrival = ChatArrival -- Детект приватов. function checkForAdvertising(msg) -- проверка на запрещенные адреса for i = 1,table.getn(adverTable) do if string.find( msg , adverTable[i] , 1 , true ) then return 1 end end end function checkForSafe(msg) -- проверка на разрешенные адреса for i = 1,table.getn(safeTable) do if string.find( msg , safeTable[i] , 1 , true ) then return 1 end end end