--// ╭────────────────────────────────────────────╮ --// │ ♡ Nevliz Hub Cute Monitor ♡ │ --// │ errosinhos :3 │ --// ╰────────────────────────────────────────────╯ local DISCORD_WEBHOOK = "https://discord.com/api/webhooks/1539040715785642126/xpJIo7or0BcMlOL-S6i056CoUXR7LKEacg4hxMeluqhzveZSh7p5QZyC6UUoVs1xSPPT" local OWNER_MENTION = "<@1307802034296197151>" local LOADER_URL = "https://pastefy.app/B3iy5vOk/raw" local ERROR_COOLDOWN = 60 local lastErrorId = nil local lastErrorTime = 0 --// ═════════════════════════════════════════════ --// ♡ Request --// ═════════════════════════════════════════════ local request = request or http_request or (syn and syn.request) or (http and http.request) --// ═════════════════════════════════════════════ --// ♡ Mensagem padrão de erro --// ═════════════════════════════════════════════ local CUTE_ERROR_MESSAGE = "** Nevliz Hub encontrou um errosinho no loader do Nevliz Hub :<**" local function sanitizeError(message) message = tostring(message or "") if message == "" then message = "Erro desconhecido." end -- Oculta a URL do loader caso apareça em logs de erro HTTP/Lua if LOADER_URL and LOADER_URL ~= "" then message = message:gsub(LOADER_URL, "[LOADER_URL_REDACTED]") end -- Limita o tamanho da mensagem if #message > 1200 then message = message:sub(1, 1200) .. "\n... [mensagem cortada]" end -- Oculta Bearer Tokens message = message:gsub("[Bb]earer%s+[%w%._%-]+", "Bearer [REDACTED]") -- Oculta API Keys message = message:gsub("[Aa][Pp][Ii][_-]?[Kk][Ee][Yy]%s*[:=]%s*[%w%._%-]+", "api_key=[REDACTED]") -- Oculta tokens message = message:gsub("[Tt][Oo][Kk][Ee][Nn]%s*[:=]%s*[%w%._%-]+", "token=[REDACTED]") return message end --// ═════════════════════════════════════════════ --// ♡ Discord --// ═════════════════════════════════════════════ local function sendDiscord(title, message, color) title = sanitizeError(title) message = sanitizeError(message) if not request then return end local now = os.time() local errorId = tostring(title) .. "|" .. tostring(message) if lastErrorId == errorId and (now - lastErrorTime) < ERROR_COOLDOWN then return end lastErrorId = errorId lastErrorTime = now local payload = { content = OWNER_MENTION, embeds = {{ title = "Nevliz Hub Monitor", description = CUTE_ERROR_MESSAGE .. "\n\n" .. "୨୧ **Tipo do errosinho:** " .. tostring(title) .. "\n\n" .. tostring(message), color = color or 16761035, fields = { { name = " Status", value = "O loader encontrou uma coisinha inesperada :3", inline = false } }, footer = { text = "Nevliz Hub • Error Monitor :3" }, timestamp = os.date("!%Y-%m-%dT%H:%M:%SZ") }} } pcall(function() request({ Url = DISCORD_WEBHOOK, Method = "POST", Headers = { ["Content-Type"] = "application/json" }, Body = game:GetService("HttpService"):JSONEncode(payload) }) end) end --// ═════════════════════════════════════════════ --// ♡ 1. Verificação da URL --// ═════════════════════════════════════════════ if type(LOADER_URL) ~= "string" or LOADER_URL == "" then sendDiscord( "🔗 URL inválida", "A URL do loader parece estar vazia ou inválida ;w;\n\nO Nevliz Hub não conseguiu encontrar o caminho do loader.", 16711680 ) error("[Nevliz Hub] Falha de inicialização.", 0) end --// ═════════════════════════════════════════════ --// ♡ 2. Download --// ═════════════════════════════════════════════ local loaderSource = nil local httpSuccess, httpResult = pcall(function() if request then local res = request({ Url = LOADER_URL, Method = "GET" }) if res and res.StatusCode == 200 then return res.Body elseif res then error( "HTTP " .. tostring(res.StatusCode or "?") .. " - " .. tostring(res.StatusMessage or "Erro HTTP") ) else error("A requisição não retornou uma resposta.") end else return game:HttpGet(LOADER_URL) end end) if not httpSuccess then sendDiscord( "🌐 Erro ao baixar o loader", "O Nevliz Hub tentou buscar o loader, mas a requisição falhou ;w;\n\n**Erro:**\n```" .. sanitizeError(httpResult) .. "```", 16711680 ) error("[Nevliz Hub] Erro ao carregar recursos externos.", 0) else loaderSource = httpResult end --// ═════════════════════════════════════════════ --// ♡ 3. Conteúdo vazio --// ═════════════════════════════════════════════ if type(loaderSource) ~= "string" or loaderSource == "" then sendDiscord( "📭 Loader vazio", "O servidor respondeu, mas não mandou nenhum código ;w;\n\nTalvez o loader esteja temporariamente indisponível :3", 16761035 ) error("[Nevliz Hub] Resposta vazia recebida.", 0) end --// ═════════════════════════════════════════════ --// ♡ 4. Compilação / Sintaxe --// ═════════════════════════════════════════════ local loaderFunction, syntaxError = loadstring(loaderSource) if not loaderFunction then sendDiscord( "🧩 Erro de sintaxe/compilação", "O código retornado do Pastefy possui erros de sintaxe e não pôde ser compilado ;w;\n\n" .. "**Detalhes do Luau:**\n```" .. sanitizeError(syntaxError or "Não foi possível identificar a linha do erro de sintaxe.") .. "```", 16711935 ) error("[Nevliz Hub] Erro no processamento do código.", 0) end if type(loaderFunction) ~= "function" then sendDiscord( "🧩 Código inválido", "O loader foi recebido, mas não retornou uma função executável ;w;\n\n" .. "**Detalhes:**\n```loadstring retornou um valor inválido.```", 16711935 ) error("[Nevliz Hub] Código inválido.", 0) end --// ═════════════════════════════════════════════ --// ♡ 5. Execução --// ═════════════════════════════════════════════ local executeSuccess, executeError = pcall(function() return loaderFunction() end) if not executeSuccess then sendDiscord( "💥 Erro durante a execução", "O loader foi carregado, mas encontrou um erro na execução ;w;\n\n**Erro:**\n```" .. sanitizeError(executeError) .. "```", 16711680 ) error("[Nevliz Hub] Erro de execução no módulo secundário.", 0) end