Aller au contenu

group — Groupe (leader + mules)

API groupe de bots MoonBot Lua : leader + mules, déplacement coordonné, combat en équipe.

19 fonctions dans ce namespace.

Index


Référence

Groupes MoonBot (pas le groupe en jeu)

-- API de l'onglet Groupes MoonBot

Cette API gere la topologie des groupes de comptes MoonBot. Elle est distincte de map.inviteToGroup / map.leaveGroup, qui gerent le groupe Dofus en jeu. Les mutations partent uniquement du script principal actif et sont revalidees par le Control Plane pour l'utilisateur courant.


group.list / group.get

group.list() / group.get(groupId: string)

returns table / table | nil

Liste canonique des groupes de l'utilisateur ou un groupe precis : {id, name, leaderId, memberIds, moveMode, actionMode?, actionDelayMs?}. Aucun identifiant de connexion ni compte d'un autre utilisateur n'est expose.


group.create

group.create(name, leaderId, memberIds, {moveMode?, actionMode?, actionDelayMs?})

returns boolean

Cree un groupe MoonBot de 1 a 8 comptes. true signifie que la requete a rejoint le relais securise ; le commit CP reste asynchrone. Les IDs sont ceux retournes par moonbot.accounts.


group.update

group.update(groupId, {name?, leaderId?, memberIds?, moveMode?, actionMode?, actionDelayMs?})

returns boolean

Modifie uniquement les champs fournis. Chaque membre, le chef, les modes et le delai sont revalides dans la transaction du Control Plane.


group.remove / group.delete

group.remove(groupId) / group.delete(groupId)

returns boolean

Degroupe tous les membres et supprime le groupe MoonBot. delete est un alias. Des tombstones canoniques empechent un ancien worker de restaurer la topologie supprimee.


group.moveTo / group.stopMove

group.moveTo(groupId, mapId, x, y) / group.stopMove(groupId)

returns boolean

Demarre ou arrete le deplacement coordonne. Le CP resout lui-meme le leader exact et la commande garde la provenance du script ; Lua ne choisit ni worker ni session.


group.isInGroup / isLeader / isMule

group.isInGroup() / isLeader() / isMule()

returns boolean

Etat du bot dans le groupe.


group.getId / getName / getLeaderId

group.getId() / getName() / getLeaderId()

returns string | nil

ID, nom canonique et ID du leader du groupe courant. getName peut etre nil pendant un deploiement progressif avec un ancien CP.


group.getMemberCount / getMemberIds

group.getMemberCount() / getMemberIds()

returns number / table

Nombre et IDs des membres.


group.getMembers

group.getMembers()

returns table

Details : {accountId, name, level, mapId, x, y, hp, hpMax, kamas, isLeader}.


group.allOnSameMap

group.allOnSameMap()

returns boolean

True si tous sur la meme map.


group.isWaitingForMembers

group.isWaitingForMembers()

returns boolean

True si le leader attend les mules.


group.getMoveMode

group.getMoveMode()

returns string

"leader_then_all", "all_together", "leader_then_one_by_one".


group.getActionMode / getActionDelay

group.getActionMode() / group.getActionDelay()

returns string | nil / number | nil

Mode et delai d'execution des actions de groupe. Ils se modifient avec group.update.


group.getLeaderState / getMuleStates

group.getLeaderState() / getMuleStates()

returns table

Etat detaille du leader et des mules. Un compte Script Prive n'est jamais expose a un autre script.


Etat cible et kamas

group.getMemberState(accountId) / group.getTotalKamas()

returns table | nil / number

Etat publie d'un membre visible et somme des kamas visibles du groupe.


Commandes de groupe

group.sendCommandToMules(command) / sendCommandToLeader(command) / sendCommandToAll(command)

returns number / boolean / number

Commandes fermees : stop, pause, resume, reconnect, pass_turn, toggle_mount. Chaque cible repasse par l'arbitre de comptes et la provenance du script principal.


Connexion / deconnexion du groupe

for _, id in ipairs(group.get(id).memberIds) do
  local account = moonbot.accounts:get(id)
  account.connection:ensureConnected() -- ou disconnect()
end

L'interface compose les operations de comptes membre par membre. Lua utilise la meme surface securisee via moonbot.accounts ; aucun login ou mot de passe n'est fourni au script.


Actions locales de l'interface

-- Charger, selectionner, masquer/replier et vue des logs

Ces actions modifient uniquement l'affichage local de l'application et ne sont pas des mutations de groupe serveur. group.list/get fournissent les donnees utiles au script.