|
import asyncio |
|
import importlib |
|
|
|
from pyrogram import idle |
|
from pytgcalls.exceptions import NoActiveGroupCall |
|
|
|
import config |
|
from Devine import LOGGER, app, userbot |
|
from Devine.core.call import Anony |
|
from Devine.misc import sudo |
|
from Devine.plugins import ALL_MODULES |
|
from Devine.utils.database import get_banned_users, get_gbanned |
|
from config import BANNED_USERS |
|
|
|
|
|
import sys |
|
sys.path.append("..") |
|
from redeploy import redeploy |
|
|
|
async def init(): |
|
if ( |
|
not config.STRING1 |
|
and not config.STRING2 |
|
and not config.STRING3 |
|
and not config.STRING4 |
|
and not config.STRING5 |
|
): |
|
LOGGER(__name__).error("Assistant client variables not defined, exiting...") |
|
return |
|
await sudo() |
|
try: |
|
users = await get_gbanned() |
|
for user_id in users: |
|
BANNED_USERS.add(user_id) |
|
users = await get_banned_users() |
|
for user_id in users: |
|
BANNED_USERS.add(user_id) |
|
except Exception as e: |
|
LOGGER(__name__).error(f"Error fetching banned users: {e}") |
|
await app.start() |
|
for all_module in ALL_MODULES: |
|
importlib.import_module("Devine.plugins" + all_module) |
|
LOGGER("Devine.plugins").info("Successfully Imported Modules...") |
|
await userbot.start() |
|
await Anony.start() |
|
try: |
|
await Anony.stream_call("https://telegra.ph//file/1df0320b93c2f3353c3e6.mp4") |
|
except NoActiveGroupCall: |
|
LOGGER("Devine").error( |
|
"Please turn on the video chat of your log group/channel.\n\nStopping Bot..." |
|
) |
|
return |
|
except Exception as e: |
|
LOGGER("Devine").error(f"Error in streaming call: {e}") |
|
await Anony.decorators() |
|
LOGGER("Devine").info( |
|
"Powered by @Devine_network." |
|
) |
|
await idle() |
|
await shutdown() |
|
|
|
|
|
async def shutdown(): |
|
LOGGER("Devine").info("Shutting down gracefully...") |
|
try: |
|
await app.stop() |
|
await userbot.stop() |
|
LOGGER("Devine").info("Stopping AnonX Music Bot...") |
|
except Exception as e: |
|
LOGGER("Devine").error(f"Error during shutdown: {e}") |
|
|
|
|
|
if __name__ == "__main__": |
|
asyncio.get_event_loop().run_until_complete(init()) |
|
|