On this page
// utilities
HTTP, logs & players
Player proxies, cooldowns, structured logging, and HTTP clients.
Player helpers
wrapPlayer
local P = require("CrawlzUtils").wrapPlayer(pl)
P:notify("`2Hello!``", { bubble = true })
patchPlayer(player) — merges PlayerMethods via metatable when the runtime allows; otherwise prefer wrapPlayer.
| Method (selection) | Role |
|---|---|
:message, :bubble, :overlay, :notify | Feedback |
:plainName, :identity, :where, :tilePos | Info |
:hasItem, :giveItem, :takeItem, :canAfford, :charge, :reward | Economy |
:openDialog | Open dialog |
:action, :say, :dialogReturn | Actions |
:disconnectWithMessage | Disconnect |
ReservedPlayerMethods
Names in ReservedPlayerMethods are never overridden by patchPlayer. See CrawlzUtils.lua for the full list.
Cooldown
Lua
local Utils = require("CrawlzUtils")
local cd = Utils.Cooldown.new("my_feature")
local ok, left = cd:check(pl, "jump", 5, true)
if not ok then
Utils.wrapPlayer(pl):message("Wait " .. tostring(left) .. "s")
end
| Method | Role |
|---|---|
:remaining, :ready, :set, :clear | Timer |
:check, :touch, :peek, :sweep | Gate / cleanup |
Logger
Lua
local Logger = require("CrawlzUtils").Logger
local log = Logger.new("Shop", { level = "info" })
log:info("tick")
log:child("Tax"):debug("detail")
Levels: trace … fatal. Logger.setGlobalLevel("warn") applies to new loggers.
HttpClient
Lua
local HttpClient = require("CrawlzUtils").HttpClient
local Logger = require("CrawlzUtils").Logger
local log = Logger.new("http")
local http = HttpClient.new({ baseUrl = "https://api.example.com", timeout = 10, retries = 2 })
http:setHeader("X-Key", secret)
http:get("/v1/status", {}, function(res)
if res.ok then log:info("ok") end
end)
http:postJson("/v1/event", { kind = "sale" }, {}, function(res) end)
http:discordWebhook(url, { content = "Hello" }, function() end)
| Method | Note |
|---|---|
:request, :get, :post, :put, :patch, :delete | HTTP verbs |
:postJson | JSON body |
:webhook, :discordWebhook | Hooks |
:authBearer, :basicAuth | Auth |
Tip.
options.sync = true blocks inside HttpClient. useCoroutine cooperates with scheduling (merged with defaults).