#Filestream/__main__.py import sys import asyncio import logging import traceback import logging.handlers as handlers from FileStream.config import Telegram, Server from aiohttp import web from pyrogram import idle from FileStream.bot import FileStream from FileStream.Tools import Time_ISTKolNow from FileStream.server import web_server from FileStream.bot.clients import initialize_clients logging.basicConfig( level=logging.INFO, datefmt="%d/%m/%Y %H:%M:%S", format= '[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s', handlers=[ logging.StreamHandler(stream=sys.stdout), handlers.RotatingFileHandler("streambot.log", mode="a", maxBytes=104857600, backupCount=2, encoding="utf-8") ], ) logging.getLogger("aiohttp").setLevel(logging.ERROR) logging.getLogger("pyrogram").setLevel(logging.ERROR) logging.getLogger("aiohttp.web").setLevel(logging.ERROR) server = web.AppRunner(web_server()) loop = asyncio.get_event_loop() async def start_services(): print("****") if Telegram.SECONDARY: print("------------------ Starting as Secondary Server ------------------") else: print("------------------- Starting as Primary Server -------------------") print( "****") print("-------------------- Initializing Telegram Bot --------------------") await FileStream.start() bot_info = await FileStream.get_me() FileStream.id = bot_info.id FileStream.username = bot_info.username FileStream.fname = bot_info.first_name print("------------------------------ DONE ------------------------------") print("\n") print("---------------------- Initializing Clients ----------------------") await initialize_clients() print("------------------------------ DONE ------------------------------") print("\n") print("--------------------- Initializing Web Server ---------------------") await server.setup() await web.TCPSite(server, Server.BIND_ADDRESS, Server.PORT).start() print("------------------------------ DONE ------------------------------") print("\n") print("------------------------- Service Started -------------------------") print("Bot =>> {}".format(bot_info.first_name)) if bot_info.dc_id: print("DC ID =>> {}".format(str(bot_info.dc_id))) print(" URL =>> {}".format(Server.URL)) print("------------------------------------------------------------------") """ all_sources = [ Telegram.ULOG_GROUP, Telegram.FLOG_CHANNEL, Telegram.PFLOG_CHANNEL ] for source in all_sources: await FileStream.send_message(chat_id=source, text=f"Hi, I am Online @{ISTKolNow()}", disable_web_page_preview=True) """ await idle() async def cleanup(): await server.cleanup() #await FileStream.stop() if __name__ == "__main__": try: loop.run_until_complete(start_services()) except KeyboardInterrupt: loop.stop() print("------------------------ Stopped Services ------------------------") except Exception as err: logging.error(traceback.format_exc())