local M = {} local banned_terms = { "spam", "scam", "phish", "abuse" } function M.flag_post(post) local content = post.content or "" local reasons = {} if #content > 5000 then table.insert(reasons, "Post exceeds 5000 characters") end local lowered = string.lower(content) for _, term in ipairs(banned_terms) do if string.find(lowered, term, 1, true) then table.insert(reasons, "Contains banned term: " .. term) end end return { flagged = #reasons > 0, reasons = reasons } end return M