file / lazybot /clients.py
Kanhshsh's picture
Upload 60 files
b00d2c6 verified
import asyncio
import logging
from info import *
from pyrogram import Client
from util.config_parser import TokenParser
from . import multi_clients, work_loads, LazyPrincessBot
async def initialize_clients():
multi_clients[0] = LazyPrincessBot
work_loads[0] = 0
all_tokens = TokenParser().parse_from_env()
if not all_tokens:
print("No additional clients found, using default client")
return
async def start_client(client_id, token):
try:
print(f"Starting - Client {client_id}")
if client_id == len(all_tokens):
await asyncio.sleep(2)
print("This will take some time, please wait...")
client = await Client(
name=str(client_id),
api_id=API_ID,
api_hash=API_HASH,
bot_token=token,
sleep_threshold=SLEEP_THRESHOLD,
no_updates=True,
in_memory=True
).start()
work_loads[client_id] = 0
return client_id, client
except Exception:
logging.error(f"Failed starting Client - {client_id} Error:", exc_info=True)
clients = await asyncio.gather(*[start_client(i, token) for i, token in all_tokens.items()])
multi_clients.update(dict(clients))
if len(multi_clients) != 1:
MULTI_CLIENT = True
print("Multi-Client Mode Enabled")
else:
print("No additional clients were initialized, using default client")