controller — Multi-comptes¶
API multi-comptes moonbotController : orchestration de plusieurs bots simultanés.
20 fonctions dans ce namespace.
Index¶
Statut de cette APIRecherche de comptesListesCompteursCommandesLancer un scriptChatPaquet brutEtat d'un botInventaire d'un botContrat des écritures de profilProxyAliasCreation persoMon IDConnecter un botConnecter un bot par emailDeconnecter un botaccountControlleraccountController etat
Référence¶
Statut de cette API¶
Conservée pour la compatibilité des scripts existants. Pour tout nouveau script ou Controller, utilisez moonbot.accounts : l'interface est commune aux deux runtimes et n'expose pas les primitives bas niveau de cette ancienne API.
Recherche de comptes¶
returns accountController | nil
Trouve un bot par alias ou username.
Listes¶
returns table
Tous les bots ou seulement les connectes.
Compteurs¶
returns number
Nombre total et connectes.
Commandes¶
returns boolean
Commandes : "stop", "pause", "resume", "reconnect", "pass_turn", "toggle_mount".
Lancer un script¶
returns boolean
Lance un script sur un autre bot.
Chat¶
returns boolean
Envoie un message depuis un autre bot.
Paquet brut¶
returns boolean
Envoie un paquet brut depuis un autre bot.
Etat d'un bot¶
returns {name: string, level: number, hp: number, hp_max: number, kamas: number, map_id: number, x: number, y: number, cell_id: number, server_name: string} | nil
Etat du personnage d'un autre bot. Accepte l'account ID ou l'email/login du compte. nil si non connecte.
Inventaire d'un bot¶
returns table of {id: number, uid: number, quantity: number, name: string, position: number}
Inventaire d'un autre bot. Meme format que inventory.list().
Contrat des écritures de profil¶
returns boolean
Ces appels historiques ne peuvent viser que vos comptes et sont arbitrés comme actions de script normal. Sur un worker, true signifie que la requête fenced a été admise dans la file bornée, pas que SQLite a déjà committé : le control-plane revalide encore la session source, le run Lua, la propriété, l'assignation et la révision. Ne rejouez pas aveuglément après une coupure; relisez ensuite le profil autoritaire dans le dashboard.
Proxy¶
Configure ou retire le proxy d'un bot via le commit autoritaire du control-plane. Les credentials ne sont jamais écrits dans les logs.
Alias¶
Change l'alias d'un bot via la même révision monotone du profil.
Creation perso¶
Planifie ou annule la création de personnage sur un autre bot après les mêmes contrôles de fence.
Mon ID¶
returns string
ID du compte actuel.
Connecter un bot¶
returns boolean
Connecte un bot du gestionnaire par son account ID ou son email/login (insensible a la casse). Attend que le personnage soit EN JEU (polling). Timeout par defaut 180s (une connexion a froid peut prendre 1-2 min avec proxy). Retourne true si en jeu (ou en attente de selection manuelle du perso), false si timeout ou identifiant inconnu. Utile pour connecter un bot banque depuis un script.
Connecter un bot par email¶
returns boolean
Identique a connectBot : connecte un bot par l'email/login de son compte (insensible a la casse) et attend que le personnage soit en jeu. Timeout par defaut 180s. Le meme email peut ensuite etre passe aux autres fonctions du moonbotController (characterState, executeScript, disconnectBot...). Exemple : if moonbotController.connectBotByEmail("mule@gmail.com", 60000) then local st = moonbotController.characterState("mule@gmail.com") end
Deconnecter un bot¶
returns boolean
Transmet un arrêt idempotent au control-plane et attend jusqu'à 90 s la fin de la génération exacte lorsqu'elle est visible. true confirme la fin; pour l'auto-arrêt, true confirme nécessairement l'acceptation puisque la VM disparaît. Une cible opaque ou absente localement est quand même transmise mais retourne false plutôt que d'annoncer un faux succès.
accountController¶
returns string / string / string / string / number
getAlias()→string. getUsername()→string (nom de compte). getAccountId()→string (UUID). getServer()→string (nom serveur). getLevel()→number. Obtenu via moonbotController ou global.thisAccountController().
accountController etat¶
accountController.isAccountConnected() / isScriptPlaying() / isTeamLeader() / isBoss() / isItATeam()
returns boolean
Etat du bot.