local sHubBot = "" -- Бот. Если не задан, то бертся основной бот хаба local sAdmin = "CoolAdmin" -- Ник админа для сообщений local sHubIp = "127.0.0.1" -- IP адрес хаба (для получения результатов поиска) local iTimerInterval = 60000 -- Интервал поиска TTH (в мсек). Чем чаще поиск, тем больше нагрузка на хаб local bBan = false -- true - Банить, false - Только сообщать админу local sReason = "Don't fake anymore!" local iDiffSize = 500 -- Разница размера файлов, полученных в ответ на поиск local sSearch = ".mp3.exe" local tTable = {} function OnStartup() if not sHubBot or sHubBot == "" then sHubBot = SetMan.GetString(21) end iHubUdpPort = SetMan.GetString(4) TmrMan.AddTimer(iTimerInterval) end function OnTimer(iId) tTable = {} Core.SendToAll(("$Search %s:%d F?T?0?5?%s|"):format(sHubIp, iHubUdpPort, sSearch)) end function UDPSRArrival(tUser, sData) local sNick, sFile, sSize = sData:match"%$SR (%S+) (.-)(%d+) .+" if sFile:find(sSearch) then if not tTable[sNick] then tTable[sNick]=1 else tTable[sNick]=tTable[sNick]+1 end end if tTable[sNick]==5 then if bBan then BanMan.TempBanNick(sNick, 0, sReason, sAdmin) else Core.SendToNick(sAdmin, sNick.." - подозрительный ник, проверьте его") end end end