How To Call It
This is an object method: call it with a colon on a connection object opened with WebSocket.connect(url) (socket:<method>(...)). The global WebSocket table does not have this method.
Adds an "open", "message", "close" or "error" listener to the connection.
Documented for app version 1.0.51Updated:
This is an object method: call it with a colon on a connection object opened with WebSocket.connect(url) (socket:<method>(...)). The global WebSocket table does not have this method.
For network integration, use HTTPS only, keep the response size bounded, and validate the response code before moving into JSON or File steps.
Required: eventName, handler. Returns a number.
The most common pattern is to check a Request response with getResponseCode(), read its body with getData() and parse it with JSON.parse().
The snippet below is a starter pattern that can be applied directly in runtime flow.
local socket = WebSocket.connect("wss://example.com/socket")
local result = socket:on("message", function(event) print(event) end)From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local socket = WebSocket.connect("wss://example.com/socket")
local result = socket:on("message", function(event) print(event) end)local stepOk = true
local socket = WebSocket.connect("wss://example.com/socket")
local result = socket:on("message", function(event) print(event) end)
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local socket = WebSocket.connect("wss://example.com/socket")
local result = socket:on("message", function(event) print(event) end)
end)
if not ok then
print("API step failed: WebSocket:on: " .. tostring(err))
requestStop()
end-- For network integration, use HTTPS only, keep the response size bounded, and validate the response code before moving into JSON or File steps.
local function run_on_step()
local socket = WebSocket.connect("wss://example.com/socket")
local result = socket:on("message", function(event) print(event) end)
end
local ok, err = pcall(run_on_step)
if not ok then
toast("Step failed")
print(err)
endlocal socket = WebSocket.connect("wss://example.com/socket")
local result = socket:on("message", function(event) print(event) end)
KV.set("last_network_step", DateTime.now():format("yyyy-MM-dd HH:mm:ss"))
print("Network step finished")