Lewati ke konten utama

Manajemen Multi-Client

Spawn / hapus / iterasi client dari skrip. Sebagian besar skrip jalan dengan parent getClient() implisit, tapi global multi-client berguna buat skrip orkestrasi (buka halaman Scripts, jalanin sekali, drive setiap bot).

addClient() -- bot baru, device id random
addClient("deviceId") -- bot baru, device id spesifik
addClient("email", "password") -- attach akun yang sudah ada
removeClient("emailOrDeviceId") -- detach + disconnect
getClient("emailOrDeviceId") -- by identity
getClient() -- parent skrip
getClients() -- semua yang udah dibuat

for i, client in pairs(getClients()) do
-- kerjaan per-bot
end

Globals

getClient(key?)

FieldType
Signature(key: string?) → Client?
ReturnsClient?nil kalau gak ada parent yang ke-bind (misal global executor tanpa parent eksplisit), atau key lookup-nya gak match bot manapun
Common errors"getClient: expected string or nil" (di-pass yang bukan string), "client not found: <key>" (key keliatannya valid tapi gak ada bot yang match)
Asyncyes

Return parent client (bot yang :scripting():execute()-nya jalanin skrip ini). key opsional — pass email / bot id / device id buat lookup bot tetangga.

local me = getClient()
local mate = getClient("[email protected]")

getClients()

FieldType
Signature() → {Client}
Returns{Client} — tabel 1-indexed semua bot yang ke-spawn pas dipanggil
Asyncyes
for i, client in ipairs(getClients()) do
print(i, client.id, client.username)
end

addClient() / addClient(deviceId) / addClient(email, password)

FieldType
Signature(...) → Client?
ReturnsClient?nil kalau manager nolak buat bot (auth gagal, kapasitas, dst)
Common errors"addClient: expected (), (deviceId), or (email, password)" (bentuk single-arg salah), "addClient: too many args" (lebih dari 2 arg)
Asyncyes

Tiga bentuk panggilan:

CallAuth
addClient()Android device baru, device id random
addClient("deviceId")Android device baru, device id spesifik
addClient("email", "password")Attach akun email/password yang udah ada
local fresh = addClient() -- device id random
local exact = addClient("PWORLDSANDROID-1234567890ABCD") -- device spesifik
local acct = addClient("[email protected]", "hunter2") -- akun yang udah ada

removeClient(emailOrId)

FieldType
Signature(emailOrId: string) → boolean
Returnsbooleantrue kalau ada bot yang match terus ke-detach + disconnect; false kalau key gak match apapun
Asyncyes

Terima bentuk identity yang sama kayak getClient(key) (email, bot id, atau device id).

removeClient("[email protected]")

Jalanin sesuatu di setiap bot

Pasangin sama runThread buat dispatch paralel:

for _, b in ipairs(getClients()) do
runThread(function()
b:warp("MYWORLD")
end)
end