Files
my-botty/src/run.py
T

61 lines
1.9 KiB
Python

from bot import Bot
from logger import Logger
import keyboard
import os
from config import Config
from utils.color_checker import run_color_checker
from version import __version__
from utils.remove_key_flags import remove_key_flags, LPMSG, TranslateMessage, DispatchMessage, GetMessage
from utils.remove_mouse_flags import remove_mouse_flag
from utils.auto_settings import adjust_settings
import threading
from beautifultable import BeautifulTable
def start_bot():
try:
bot = Bot()
bot.start()
except KeyboardInterrupt:
Logger.info('Exit (ctrl+c)') or exit()
def remove_flags():
remove_key_flags()
remove_mouse_flag()
msg = LPMSG()
while not GetMessage(msg, 0, 0, 0):
TranslateMessage(msg)
DispatchMessage(msg)
if __name__ == "__main__":
remove_flags_thread = threading.Thread(target=remove_flags)
remove_flags_thread.start()
Logger.init()
Logger.info(f"=== Starting Botty {__version__} ===")
config = Config()
# If anything seems to go wrong, press f12 and the bot will force exit
keyboard.add_hotkey(config.general["exit_key"], lambda: Logger.info(f'Force Exit') or os._exit(1))
table = BeautifulTable()
table.rows.append([config.general['auto_settings_key'], "Adjust D2R settings"])
table.rows.append([config.general['color_checker_key'], "Color test mode "])
table.rows.append([config.general['resume_key'], "Start bot"])
table.rows.append([config.general['exit_key'], "Stop bot"])
table.columns.header = ["hotkey", "action"]
print(table)
while 1:
if keyboard.is_pressed(config.general['resume_key']):
start_bot()
break
if keyboard.is_pressed(config.general['auto_settings_key']):
adjust_settings()
elif keyboard.is_pressed(config.general['color_checker_key']):
run_color_checker()
break
remove_flags_thread.join()
print("Press Enter to exit ...")
input()