video-stream/bot/__main__.py

72 lines
1.9 KiB
Python
Raw Normal View History

2021-09-09 01:18:24 +00:00
# ===========
# running bot
# ===========
2021-09-13 08:24:22 +00:00
import logging
import time
2021-09-13 09:51:14 +00:00
import sys
2021-09-09 03:05:12 +00:00
import asyncio
import uvloop
2021-09-13 09:51:14 +00:00
import glob
import importlib
from pathlib import Path
2021-09-09 01:18:24 +00:00
from pyrogram import Client, idle
2021-09-12 04:34:03 +00:00
from config import Veez
2021-09-09 01:18:24 +00:00
from bot.videoplayer import app
2021-09-09 05:02:51 +00:00
from bot.videoplayer import call_py
2021-09-13 08:24:22 +00:00
from helpers.loggings import LOG
2021-09-13 09:54:02 +00:00
2021-09-13 09:51:14 +00:00
2021-09-09 01:18:24 +00:00
bot = Client(
":memory:",
2021-09-12 04:34:03 +00:00
Veez.API_ID,
Veez.API_HASH,
bot_token=Veez.BOT_TOKEN,
2021-09-09 01:18:24 +00:00
plugins=dict(root="bot"),
)
2021-09-13 09:51:14 +00:00
StartTime = time.time()
loop = asyncio.get_event_loop()
_path = f"bot/*.py"
files = glob.glob(_path)
2021-09-13 09:51:14 +00:00
def load_plugins(plugin_name):
path = Path(f"bot/{plugin_name}.py")
name = "bot.{}".format(plugin_name)
spec = importlib.util.spec_from_file_location(name, path)
load = importlib.util.module_from_spec(spec)
spec.loader.exec_module(load)
sys.modules[f"bot." + plugin_name] = load
print("Imported => " + plugin_name)
2021-09-13 09:51:14 +00:00
async def start():
print('\n')
print('------------------- Initalizing VC BOT ---------------------')
if bot:
await bot.start()
await app.start()
await call_py.start()
print('----------------------- DONE ------------------------')
print('--------------------- Importing ---------------------')
for name in files:
with open(name) as a:
path_ = Path(a.name)
plugin_name = path_.stem
load_plugins(plugin_name.replace(".py", ""))
print('----------------------- INITIATED VC BOT ------------------------')
print(' Logged in as User =>> {}'.format((await app.get_me()).first_name))
if bot:
print(' and Bot =>> {}'.format((await bot.get_me()).first_name))
print('-----------------------------------------------------')
await idle()
print('[INFO]: STOPPING BOT')
2021-09-13 09:51:14 +00:00
if __name__ == "__main__":
uvloop.install()
is_bot = bool(Veez.BOT_TOKEN)
loop.run_until_complete(start())