From 922ca385118215d8950e86979bbd0edc06d2393b Mon Sep 17 00:00:00 2001 From: ZareMate <0.zaremate@gmail.com> Date: Wed, 1 Apr 2026 18:54:09 +0200 Subject: [PATCH] fix: adjust AFK retry delay handling and improve scheduling logic --- afk.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/afk.js b/afk.js index fd71b3a..0a241cf 100644 --- a/afk.js +++ b/afk.js @@ -31,7 +31,8 @@ const LOG_FILE = path.join( `afk-${toSafeFilePart(runtimeUsername)}.log`, ); const TELEPORT_DETECT_REGEX = /you teleported to\b/i; -const AFK_RETRY_DELAY_MS = 7500; +const AFK_INITIAL_CHECK_DELAY_MS = 5000; +const AFK_POST_COMMAND_CHECK_DELAY_MS = 7000; const AFK_MIN_NUMBER = 1; const AFK_MAX_NUMBER = 50; @@ -57,7 +58,7 @@ function clearAfkRetryTimer() { } } -function scheduleAfkRetryCheck() { +function scheduleAfkRetryCheck(delayMs) { clearAfkRetryTimer(); afkRetryTimer = setTimeout(() => { @@ -65,14 +66,12 @@ function scheduleAfkRetryCheck() { const randomNumber = getRandomIntInclusive(AFK_MIN_NUMBER, AFK_MAX_NUMBER); const command = `/afk ${randomNumber}`; - log( - `No teleport detected after ${AFK_RETRY_DELAY_MS}ms; sending: ${command}`, - ); + log(`No teleport detected after ${delayMs}ms; sending: ${command}`); bot.chat(command); - // Keep checking every delay window until teleport is detected. - scheduleAfkRetryCheck(); - }, AFK_RETRY_DELAY_MS); + // Teleport feedback can lag a few seconds after issuing /afk. + scheduleAfkRetryCheck(AFK_POST_COMMAND_CHECK_DELAY_MS); + }, delayMs); } function toPlainText(value) { @@ -138,7 +137,7 @@ bot.on("spawn", () => { log("Teleport already confirmed before spawn; skipping AFK retry schedule"); return; } - scheduleAfkRetryCheck(); + scheduleAfkRetryCheck(AFK_INITIAL_CHECK_DELAY_MS); }); bot.on("error", (err) => {