bot — Contrôle du bot¶
API contrôle du bot MoonBot : start/stop, déconnexion, gestion d'état.
13 fonctions dans ce namespace.
Index¶
bot.logEtatbot.afterFightControlebot.quickCommandbot.boostStatbot.sendPacketbot.sessionStatsbot.connectionStatsExemple — heures connectees aujourd'huibot.spells / jobsbot.uptimebot.scriptMemory
Référence¶
bot.log¶
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¶
returns boolean
True si vient de finir un combat (auto-clear).
Controle¶
returns boolean
Arrete, pause ou reprend le bot.
bot.quickCommand¶
returns boolean
Execute une commande rapide.
bot.boostStat¶
returns boolean
Boost une stat (envoie la commande).
bot.sendPacket¶
returns boolean
Envoie un paquet brut au serveur.
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¶
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¶
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¶
returns number
Duree du script en secondes.
bot.scriptMemory¶
returns any
Get/set memoire locale du script. Sans value = lecture.