# Ultroid - UserBot # Copyright (C) 2021-2025 TeamUltroid # # This file is a part of < https://github.com/TeamUltroid/Ultroid/ > # PLease read the GNU Affero General Public License in # . import os import sys import telethonpatch from .version import __version__ run_as_module = __package__ in sys.argv or sys.argv[0] == "-m" class ULTConfig: lang = "en" thumb = "resources/extras/ultroid.jpg" if run_as_module: import time from .configs import Var from .startup import * from .startup._database import UltroidDB from .startup.BaseClient import UltroidClient from .startup.connections import validate_session, vc_connection from .startup.funcs import _version_changes, autobot, enable_inline, update_envs from .version import ultroid_version if not os.path.exists("./plugins"): LOGS.error( "'plugins' folder not found!\nMake sure that, you are on correct path." ) exit() start_time = time.time() _ult_cache = {} _ignore_eval = [] udB = UltroidDB() update_envs() LOGS.info(f"Connecting to {udB.name}...") if udB.ping(): LOGS.info(f"Connected to {udB.name} Successfully!") BOT_MODE = udB.get_key("BOTMODE") DUAL_MODE = udB.get_key("DUAL_MODE") USER_MODE = udB.get_key("USER_MODE") if USER_MODE: DUAL_MODE = False if BOT_MODE: if DUAL_MODE: udB.del_key("DUAL_MODE") DUAL_MODE = False ultroid_bot = None if not udB.get_key("BOT_TOKEN"): LOGS.critical( '"BOT_TOKEN" not Found! Please add it, in order to use "BOTMODE"' ) sys.exit() else: ultroid_bot = UltroidClient( validate_session(Var.SESSION, LOGS), udB=udB, app_version=ultroid_version, device_model="Ultroid", ) ultroid_bot.run_in_loop(autobot()) if USER_MODE: asst = ultroid_bot else: asst = UltroidClient("asst", bot_token=udB.get_key("BOT_TOKEN"), udB=udB) if BOT_MODE: ultroid_bot = asst if udB.get_key("OWNER_ID"): try: ultroid_bot.me = ultroid_bot.run_in_loop( ultroid_bot.get_entity(udB.get_key("OWNER_ID")) ) except Exception as er: LOGS.exception(er) elif not asst.me.bot_inline_placeholder and asst._bot: ultroid_bot.run_in_loop(enable_inline(ultroid_bot, asst.me.username)) vcClient = vc_connection(udB, ultroid_bot) _version_changes(udB) HNDLR = udB.get_key("HNDLR") or "." DUAL_HNDLR = udB.get_key("DUAL_HNDLR") or "/" SUDO_HNDLR = udB.get_key("SUDO_HNDLR") or HNDLR else: print("pyUltroid 2022 © TeamUltroid") from logging import getLogger LOGS = getLogger("pyUltroid") ultroid_bot = asst = udB = vcClient = None