Wowxel/bots/idling/IdlingAgent.py
2024-09-14 23:52:23 -04:00

32 lines
885 B
Python

import time
from threading import Thread
import pyautogui
from core.Logger import Logger
from core.Player import PLAYER_STATE
class IdlingAgent:
def __init__(self, monitor, playerAgent) -> None:
self.logger = Logger("Idling Agent")
self.idleTime = time.time()
self.idleThread = None
self.player = playerAgent
self.monitor = monitor
def checkIdleTime(self):
while self.player.state is PLAYER_STATE.IDLE:
elapsedTime = time.time() - self.idleTime
if (elapsedTime > 10):
self.logger.log("Jumping to avoid being afk...")
pyautogui.press("space")
self.idleTime = time.time()
time.sleep(0.5)
def run(self):
self.logger.log("Starting Idle Thread...")
self.idleThread = Thread(
target=self.checkIdleTime,
args=(),
name="idling thread",
daemon=True)
self.idleThread.start()