import os import logging from pyrogram.raw.all import layer from pyrogram import Client, idle, __version__ import threading import asyncio import gradio from config import Config logging.basicConfig( level=logging.DEBUG, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) logger = logging.getLogger(__name__) logging.getLogger("pyrogram").setLevel(logging.WARNING) if not os.path.isdir(Config.DOWNLOAD_LOCATION): os.makedirs(Config.DOWNLOAD_LOCATION) if not Config.BOT_TOKEN: logger.error("Please set BOT_TOKEN in config.py or as env var") quit(1) if not Config.API_ID: logger.error("Please set API_ID in config.py or as env var") quit(1) if not Config.API_HASH: logger.error("Please set API_HASH in config.py or as env var") quit(1) bot = Client( "All-Url-Uploader", api_id=Config.API_ID, api_hash=Config.API_HASH, bot_token=Config.BOT_TOKEN, workers=50, plugins=dict(root="plugins"), ) def nmtapifunc(text): return text # Running Gradio in a separate thread def start_gradio(): gradio_interface = gradio.Interface( fn=nmtapifunc, inputs="text", outputs="text", title="En-Si NMT", description="", article="© zn 2024" ) gradio_interface.launch() gradio_thread = threading.Thread(target=start_gradio) gradio_thread.daemon = True gradio_thread.start() bot.start() logger.info("Bot has started.") logger.info("**Bot Started**\n\n**Pyrogram Version:** %s \n**Layer:** %s", __version__, layer) logger.info("Developed by github.com/kalanakt Sponsored by www.netronk.com") idle() bot.stop() logger.info("Bot Stopped ;)")