from pyrogram import Client import config from ..logging import LOGGER assistants = [] assistantids = [] class Userbot(Client): def __init__(self): self.one = Client( name="AnonXAss1", api_id=config.API_ID, api_hash=config.API_HASH, session_string=str(config.STRING1), no_updates=True, ) self.two = Client( name="AnonXAss2", api_id=config.API_ID, api_hash=config.API_HASH, session_string=str(config.STRING2), no_updates=True, ) self.three = Client( name="AnonXAss3", api_id=config.API_ID, api_hash=config.API_HASH, session_string=str(config.STRING3), no_updates=True, ) self.four = Client( name="AnonXAss4", api_id=config.API_ID, api_hash=config.API_HASH, session_string=str(config.STRING4), no_updates=True, ) self.five = Client( name="AnonXAss5", api_id=config.API_ID, api_hash=config.API_HASH, session_string=str(config.STRING5), no_updates=True, ) async def start(self): LOGGER(__name__).info(f"Starting Assistants...") if config.STRING1: await self.one.start() try: await self.one.join_chat("dragbackup") await self.one.join_chat("dragbackup") except: pass assistants.append(1) try: await self.one.send_message(config.LOGGER_ID, "Assistant Started") except: LOGGER(__name__).error( "Assistant Account 1 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin!" ) exit() self.one.id = self.one.me.id self.one.name = self.one.me.mention self.one.username = self.one.me.username assistantids.append(self.one.id) LOGGER(__name__).info(f"Assistant Started as {self.one.name}") if config.STRING2: await self.two.start() try: await self.two.join_chat("dragbackup") await self.two.join_chat("dragbackup") except: pass assistants.append(2) try: await self.two.send_message(config.LOGGER_ID, "Assistant Started") except: LOGGER(__name__).error( "Assistant Account 2 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin!" ) exit() self.two.id = self.two.me.id self.two.name = self.two.me.mention self.two.username = self.two.me.username assistantids.append(self.two.id) LOGGER(__name__).info(f"Assistant Two Started as {self.two.name}") if config.STRING3: await self.three.start() try: await self.three.join_chat("dragbackup") await self.three.join_chat("dragbackup") except: pass assistants.append(3) try: await self.three.send_message(config.LOGGER_ID, "Assistant Started") except: LOGGER(__name__).error( "Assistant Account 3 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " ) exit() self.three.id = self.three.me.id self.three.name = self.three.me.mention self.three.username = self.three.me.username assistantids.append(self.three.id) LOGGER(__name__).info(f"Assistant Three Started as {self.three.name}") if config.STRING4: await self.four.start() try: await self.four.join_chat("dragbackup") await self.four.join_chat("dragbackup") except: pass assistants.append(4) try: await self.four.send_message(config.LOGGER_ID, "Assistant Started") except: LOGGER(__name__).error( "Assistant Account 4 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " ) exit() self.four.id = self.four.me.id self.four.name = self.four.me.mention self.four.username = self.four.me.username assistantids.append(self.four.id) LOGGER(__name__).info(f"Assistant Four Started as {self.four.name}") if config.STRING5: await self.five.start() try: await self.five.join_chat("dragbackup") await self.five.join_chat("dragbackup") except: pass assistants.append(5) try: await self.five.send_message(config.LOGGER_ID, "Assistant Started") except: LOGGER(__name__).error( "Assistant Account 5 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " ) exit() self.five.id = self.five.me.id self.five.name = self.five.me.mention self.five.username = self.five.me.username assistantids.append(self.five.id) LOGGER(__name__).info(f"Assistant Five Started as {self.five.name}") async def stop(self): LOGGER(__name__).info(f"Stopping Assistants...") try: if config.STRING1: await self.one.stop() if config.STRING2: await self.two.stop() if config.STRING3: await self.three.stop() if config.STRING4: await self.four.stop() if config.STRING5: await self.five.stop() except: pass