async def install(event): if event.fwd_from: return if event.reply_to_msg_id: try: downloaded_file_name = ( await event.client.download_media( # pylint:disable=E0602 await event.get_reply_message(), "thunderbot/plugins/", # pylint:disable=E0602 )) if "(" not in downloaded_file_name: path1 = Path(downloaded_file_name) shortname = path1.stem load_module(shortname.replace(".py", "")) await event.edit( "ThunderUserbot Succesfully Installed The Plugin `{}`". format(os.path.basename(downloaded_file_name))) else: os.remove(downloaded_file_name) await event.edit( "**Error!**\nPlugin cannot be installed!\nMight have been pre-installed." ) except Exception as e: # pylint:disable=C0103,W0703 await event.edit(str(e)) os.remove(downloaded_file_name) await asyncio.sleep(DELETE_TIMEOUT) await event.delete()
async def install(event): if event.fwd_from: return documentss = await event.client.get_messages( event.chat_id, None, search=".py", filter=InputMessagesFilterDocument) total = int(documentss.total) total_doxx = range(0, total) b = await event.client.send_message( event.chat_id, f"**Installing {total} plugins...**\n`This msg will be deleted after the installation gets completed`", ) text = "**Installing Plugins...**\n\n" a = await event.client.send_message(event.chat_id, text) if total == 0: await a.edit("**No plugins to install.**") await event.delete() return for ixo in total_doxx: mxo = documentss[ixo].id downloaded_file_name = await event.client.download_media( await event.client.get_messages(event.chat_id, ids=mxo), "thunderbot/plugins/") if "(" not in downloaded_file_name: path1 = Path(downloaded_file_name) shortname = path1.stem try: load_module(shortname.replace(".py", "")) text += f"**• Installed** `{(os.path.basename(downloaded_file_name))}` **successfully.**\n" except BaseException: text += f"**• Error installing** `{(os.path.basename(downloaded_file_name))}`\n" else: text += f"**• Plugin** `{(os.path.basename(downloaded_file_name))}` **already installed.**\n" await a.edit(f"{text}\n**Installed every plugin.**") await event.delete() await b.delete()
async def load(event): if event.fwd_from: return shortname = event.pattern_match["shortname"] try: try: remove_plugin(shortname) except BaseException: pass load_module(shortname) await event.edit(f"ThunderUserbot has successfully loaded {shortname}") except Exception as e: await event.edit( f"ThunderUserbot could not load {shortname} because of the following error.\n{str(e)}" )
"TG_BOT_TOKEN", api_id=Var.APP_ID, api_hash=Var.API_HASH).start(bot_token=Var.TG_BOT_TOKEN_BF_HER) print("Initialisation finished, no errors") print("Starting Userbot") bot.loop.run_until_complete(add_bot(Var.TG_BOT_USER_NAME_BF_HER)) print("Startup Completed") else: bot.start() path = 'thunderbot/plugins/*.py' files = glob.glob(path) for name in files: with open(name) as f: path1 = Path(f.name) shortname = path1.stem load_module(shortname.replace(".py", "")) print("thunderuserbot has been deployed! ") print("Setting up TGBot") path = "thunderbot/plugins/lightningbot/*.py" files = glob.glob(path) for name in files: with open(name) as f: path1 = Path(f.name) shortname = path1.stem start_mybot(shortname.replace(".py", "")) if LOAD_MYBOT == "True": path = "thunderbot/plugins/lightningbot/pmsparkbot/*.py" files = glob.glob(path)