Wowxel/bots/idling/IdlingAgent.py

32 lines
916 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, player) -> None:
self.logger = Logger("Idling Agent", player.debug)
self.idleTime = time.time()
self.idleThread = None
self.player = player
self.monitor = monitor
def checkIdleTime(self):
while self.player.state in (PLAYER_STATE.IDLE, PLAYER_STATE.BG_FARMING):
elapsedTime = time.time() - self.idleTime
if (elapsedTime > 60):
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()