Aller au contenu

bot — Contrôle du bot

API contrôle du bot MoonBot : start/stop, déconnexion, gestion d'état.

13 fonctions dans ce namespace.

Index


Référence

bot.log

bot.log(message: string)

Affiche un message dans les logs.


Etat

bot.state() / isInGame() / isFighting() / isConnected() / isPaused() / isHarvesting() / isRunning() / isMoving()

returns string / boolean

state()→string ('Idle', 'Running', 'Paused', 'Error'). Toutes les autres→boolean.


bot.afterFight

bot.afterFight()

returns boolean

True si vient de finir un combat (auto-clear).


Controle

bot.stop() / pause() / resume()

returns boolean

Arrete, pause ou reprend le bot.


bot.quickCommand

bot.quickCommand(name: string)

returns boolean

Execute une commande rapide.


bot.boostStat

bot.boostStat(statId: number)

returns boolean

Boost une stat (envoie la commande).


bot.sendPacket

bot.sendPacket(packet: string)

returns boolean

Envoie un paquet brut au serveur.


bot.sessionStats

bot.sessionStats()

returns {xpGained, kamasGained, fightsWon, fightsLost, resourcesCollected, itemsLooted, harvestsDone, itemsCrafted, craftSuccesses, craftFailures, averageFightDurationSeconds, totalFightSeconds, totalHarvestSeconds, sessionDurationSeconds, startTime?, connection?}

Compteurs du bot, avec le cumul du jour restaure au redemarrage lorsqu'il est disponible. Les six champs historiques sont conserves. Toutes les durees suffixees Seconds sont en secondes. sessionDurationSeconds est la duree historique du moteur, pas une mesure exacte de presence en jeu ; utilisez connection pour celle-ci. connection suit le meme contrat que bot.connectionStats(). Aucun historique detaille n'est renvoye.


bot.connectionStats

bot.connectionStats()

returns nil | {timezone, date, todaySeconds, todayHours, sessionSeconds, sessionHours, totalSeconds, totalHours, trackedDays, averageDailySeconds, averageDailyHours, trackedFrom}

nil tant que le moteur n'a pas initialise le suivi. Temps reel connecte en jeu : inclut combats, deplacements et pauses du script ; exclut authentification, file d'attente, reconnexion et deconnexion. todayHours donne les heures depuis minuit Europe/Paris ; les sessions traversant minuit sont reparties entre les jours. sessionHours cumule les periodes en jeu de l'execution courante du bot, y compris apres ses reconnexions ; arreter puis relancer le bot remet ce compteur a zero, relancer seulement le script le conserve. totalHours cumule depuis trackedFrom et averageDailyHours = totalHours / trackedDays, jours sans connexion inclus. trackedDays compte les jours calendaires depuis le debut du suivi, jour courant inclus ; date et trackedFrom sont au format YYYY-MM-DD, timezone vaut Europe/Paris. Les heures sont decimales (1.5 = 1 h 30), sans arrondi. Le suivi commence a l'installation de cette fonction et ne reconstitue pas les jours anterieurs. Les mesures continuent localement lorsque le Control Plane est indisponible. La sauvegarde a lieu normalement toutes les 30 secondes : une interruption brutale du processus ou de la machine peut perdre le temps mesure depuis la derniere sauvegarde reussie, y compris pendant une coupure prolongee du Control Plane.


Exemple — heures connectees aujourd'hui

local stats = bot.connectionStats()
if stats then
  global:printMessage("Heures aujourd'hui : " .. tostring(stats.todayHours))
  global:printMessage("Moyenne par jour : " .. tostring(stats.averageDailyHours))
end

Lecture seule : le compteur de connexion ne repart pas a zero quand le script est relance. bot.uptime() mesure uniquement la duree de ce script.


bot.spells / jobs

bot.spells() / bot.jobs()

returns table of {id, name, level, position} / table of {id, name, level, xp, xpNext}

spells()→sorts du personnage avec position de raccourci. jobs()→metiers avec XP.


bot.uptime

bot.uptime()

returns number

Duree du script en secondes.


bot.scriptMemory

bot.scriptMemory(key: string, value?: any)

returns any

Get/set memoire locale du script. Sans value = lecture.