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 start_botcc(): 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 ;)") def run_asyncio_main(): asyncio.run(start_botcc()) thread = threading.Thread(target=start_botcc) thread.daemon = True # Set as daemon so it exits when main thread exits thread.start() def nmtapifunc(text): text = text return text gradio_interface = gradio.Interface( fn=nmtapifunc, inputs="text", outputs="text", title="En-Si NMT", description="", article="© zn 2024" ) gradio_interface.launch()