fishyboteso/fishy/__main__.py

75 lines
1.7 KiB
Python
Raw Normal View History

import ctypes
import logging
import os
import sys
import traceback
import win32con
import win32gui
import fishy
from fishy import web, helper, gui
2020-06-01 12:58:18 +00:00
from fishy.engine.event_handler import EngineEventHandler
from fishy.gui import GUI
from fishy.helper import Config, hotkey
# noinspection PyBroadException
def initialize(c: Config, window_to_hide):
helper.create_shortcut_first(c)
helper.initialize_uid(c)
new_session = web.get_session(c)
if new_session is None:
logging.error("Couldn't create a session, some features might not work")
print(f"created session {new_session}")
try:
is_admin = os.getuid() == 0
except AttributeError:
is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0
if is_admin:
logging.info("Running with admin privileges")
try:
helper.auto_upgrade()
except Exception:
logging.error(traceback.format_exc())
if not c.get("debug", False):
win32gui.ShowWindow(window_to_hide, win32con.SW_HIDE)
helper.install_thread_excepthook()
sys.excepthook = helper.unhandled_exception_logging
helper.check_addon("ProvisionsChalutier")
if c.get("debug", False):
helper.check_addon("FooAddon")
def main():
print("launching please wait...")
window_to_hide = win32gui.GetForegroundWindow()
c = Config()
if not gui.check_eula(c):
return
2020-06-01 12:58:18 +00:00
bot = EngineEventHandler(c, lambda: gui_window)
gui_window = GUI(c, lambda: bot)
hotkey.initalize()
gui_window.start()
logging.info(f"Fishybot v{fishy.__version__}")
initialize(c, window_to_hide)
bot.start_event_handler()
if __name__ == "__main__":
main()