Spaces:
Running
Running
File size: 1,520 Bytes
b00d2c6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
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")
|