import discord from utils.storage import load_commands, load_tracked_channels from bot.handlers.message_handler import MessageHandler from bot.handlers.tracking_handler import TrackingHandler from bot.handlers.presence_handler import PresenceHandler class Selfbot(discord.Client): def __init__(self): super().__init__() # State variables self.default_status = None self.loaded_commands = load_commands() self.tracked_channels = load_tracked_channels() self.last_status = {} self.AFK_STATUS = False self.AFK_NOTIFIED_USERS = [] self.horsin = [] # Initialize handlers self.message_handler = MessageHandler(self) self.tracking_handler = TrackingHandler(self) self.presence_handler = PresenceHandler(self) async def on_ready(self): print(f"Logged in as {self.user}") async def on_message(self, message): await self.message_handler.handle_message(message) async def on_message_delete(self, message): await self.tracking_handler.handle_message_delete(message) async def on_message_edit(self, before, after): await self.tracking_handler.handle_message_edit(before, after) async def on_presence_update(self, before, after): await self.presence_handler.handle_presence_update(before, after) def reload_commands(self): """Reload user-defined commands""" self.loaded_commands = load_commands()