async def deploy(event, repo, ups_rem, ac_br, txt): if HEROKU_API_KEY is None: return await event.edit("`Please set up` **HEROKU_API_KEY** ` Var...`") heroku = heroku3.from_key(HEROKU_API_KEY) heroku_app = None heroku_applications = heroku.apps() if HEROKU_APP_NAME is None: await event.edit( "`Please set up the` **HEROKU_APP_NAME** `Var`" " to be able to deploy your userbot...`" ) repo.__del__() return for app in heroku_applications: if app.name == HEROKU_APP_NAME: heroku_app = app break if heroku_app is None: await event.edit( f"{txt}\n" "`Invalid Heroku credentials for deploying userbot dyno.`" ) return repo.__del__() sandy = await event.edit( "`Userbot dyno build in progress, please wait until the process finishes it usually takes 4 to 5 minutes .`" ) try: ulist = get_collectionlist_items() for i in ulist: if i == "restart_update": del_keyword_collectionlist("restart_update") except Exception as e: LOGS.error(e) try: add_to_collectionlist("restart_update", [sandy.chat_id, sandy.id]) except Exception as e: LOGS.error(e) ups_rem.fetch(ac_br) repo.git.reset("--hard", "FETCH_HEAD") heroku_git_url = heroku_app.git_url.replace( "https://", "https://*****:*****@" ) if "heroku" in repo.remotes: remote = repo.remote("heroku") remote.set_url(heroku_git_url) else: remote = repo.create_remote("heroku", heroku_git_url) try: remote.push(refspec="HEAD:refs/heads/master", force=True) except Exception as error: await event.edit(f"{txt}\n**Error log:**\n`{error}`") return repo.__del__() build_status = heroku_app.builds(order_by="created_at", sort="desc")[0] if build_status.status == "failed": return await edit_delete( event, "`Build failed!\n" "Cancelled or there were some errors...`" ) try: remote.push("master:main", force=True) except Exception as error: await event.edit(f"{txt}\n**Here is the error log:**\n`{error}`") return repo.__del__() await event.edit("`Deploy was failed. So restarting to update`") delgvar("ipaddress") try: await event.client.disconnect() if HEROKU_APP is not None: HEROKU_APP.restart() except CancelledError: pass
await load_plugins("plugins") await load_plugins("assistant") print("➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖") print("Yay your userbot is officially working.!!!") print( f"Congratulation, now type {cmdhr}alive to see message if catub is live\ \nIf you need assistance, head to https://t.me/catuserbot_support" ) print("➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖") await verifyLoggerGroup() await add_bot_to_logger_group(BOTLOG_CHATID) if PM_LOGGER_GROUP_ID != -100: await add_bot_to_logger_group(PM_LOGGER_GROUP_ID) await startupmessage() Catcheck.sucess = True return catub.loop.run_until_complete(startup_process()) if len(sys.argv) not in (1, 3, 4): catub.disconnect() elif not Catcheck.sucess: if HEROKU_APP is not None: HEROKU_APP.restart() else: try: catub.run_until_disconnected() except ConnectionError: pass