Spaces:
Sleeping
Sleeping
# main.py | |
import logging | |
import asyncio | |
from fastapi import FastAPI | |
from fastapi.responses import JSONResponse | |
import uvicorn | |
import bot # import your bot.py (it already starts Dispatcher there) | |
import db_utils | |
logging.basicConfig(level=logging.INFO) | |
logger = logging.getLogger(__name__) | |
app = FastAPI() | |
async def on_startup(): | |
logger.info("Starting bot polling in background...") | |
asyncio.create_task(bot.run_polling()) | |
async def health_check(): | |
return JSONResponse({ | |
"status": "ok", | |
"workers": bot.config.CONCURRENT_WORKERS, | |
"active_batches": len(bot.BATCH_JOBS), | |
"active_users": await db_utils.get_all_active_user_ids_db(), | |
}) | |
async def root_page(): | |
return JSONResponse({ | |
"message": "π TeraBox Bot is running.", | |
"endpoints": ["/health"], | |
}) | |
if __name__ == "__main__": | |
uvicorn.run(app, host="0.0.0.0", port=7860) |