CCCPaste

bootlog.lua

-- send_webhook.lua  (OpenComputers/OpenOS)
local internet = require("internet")
local component = require("component")
local computer = require("computer")
local io = require("io")

-- Replace with your webhook URL (keep this secret)
local webhook_url = "https://discord.com/api/webhooks/1431962412113727633/Vg0dWkp6Y94tmyXZAo_P_1LiLMuOJNWSbOcYQzwuyhA-fZps7BXdPtZGefSU2bIp1Oer"

-- Simple JSON escaper (handles quotes, backslashes and control chars)
local function json_escape(s)
  s = tostring(s)
  s = s:gsub("\\", "\\\\")
  s = s:gsub('"', '\\"')
  s = s:gsub("\b", "\\b")
  s = s:gsub("\f", "\\f")
  s = s:gsub("\n", "\\n")
  s = s:gsub("\r", "\\r")
  s = s:gsub("\t", "\\t")
  -- other control chars -> \u00XX
  s = s:gsub("([%z\1-\31])", function(c)
    return string.format("\\u%04x", string.byte(c))
  end)
  return s
end

-- Builds a minimal JSON payload for Discord webhook: { "username": "...", "content": "..." }
local function build_payload(username, content)
  username = username or "OC Bot"
  content = content or ""
  return string.format('{"username":"%s","content":"%s"}', json_escape(username), json_escape(content))
end

-- Post to webhook and return response body (or nil + error)
local function post_webhook(url, username, content)
  if not url then return nil, "no url provided" end
  local body = build_payload(username, content)
  local headers = {
    ["Content-Type"] = "application/json",
    ["Content-Length"] = tostring(#body),
    ["User-Agent"] = "OpenComputers-Webhook/1.0"
  }

  local ok, handle_or_err = pcall(internet.request, url, body, headers)
  if not ok or not handle_or_err then
    return nil, "request failed to start: " .. tostring(handle_or_err)
  end

  local handle = handle_or_err
  local resp = ""
  -- read the iterator returned by internet.request synchronously
  for chunk in handle do
    resp = resp .. tostring(chunk)
  end

  return resp
end

local f = io.open("/home/auth", "r")
local content = f:read("a")
f:close()

local resp, err = post_webhook(webhook_url, "OC server-1", "Login program started successfully. Boot auth status: ".. content)

if content == "False" then
    computer.shutdown("True")
end