Files
beavergram/backend/src/userbot/modules/client.py
T

52 lines
1.4 KiB
Python

from typing import TYPE_CHECKING
from pyrogram import Client, enums
from utils.telegram import API_HASH, API_ID
if TYPE_CHECKING:
from userbot.modules.capture import CaptureContext
DEVICE_MODEL = "Beavergram"
DEVICE_MODEL_LIMIT = 32
class PyroClient(Client):
def __init__( # noqa: PLR0913
self,
name: str,
*,
workdir: str = "sessions",
device_model: str | None = None,
load_handlers: bool = True,
bot_token: str | None = None,
skip_updates: bool = True,
) -> None:
super().__init__(
name,
workdir=workdir,
api_id=API_ID,
api_hash=API_HASH,
bot_token=bot_token,
skip_updates=skip_updates,
device_model=device_model or DEVICE_MODEL,
system_version="Windows 11 x64",
app_version="7.0.8 x64",
lang_pack="tdesktop",
lang_code="en",
system_lang_code="en-US",
client_platform=enums.ClientPlatform.DESKTOP,
max_concurrent_transmissions=4,
)
self.capture: CaptureContext | None = None
if load_handlers:
from userbot import handlers # noqa: PLC0415
for handler in handlers.handlers:
self.add_handler(*handler)
__all__ = ["DEVICE_MODEL", "DEVICE_MODEL_LIMIT", "PyroClient"]