Files
faction_war_dispatch_bot/routes/faction.py
2025-11-26 16:35:23 -05:00

32 lines
1023 B
Python

from fastapi import APIRouter
from pydantic import BaseModel
import asyncio
router = APIRouter()
class FactionRequest(BaseModel):
faction_id: int
refresh_interval: int
async def update_friendly_faction_loop(faction_id: int, interval: int):
while True:
print(f"Refreshing friendly faction {faction_id}")
# call your update_friendly_faction() here
await asyncio.sleep(interval)
async def update_enemy_faction_loop(faction_id: int, interval: int):
while True:
print(f"Refreshing enemy faction {faction_id}")
# call your update_enemy_faction() here
await asyncio.sleep(interval)
@router.post("/refresh/friendly")
async def refresh_friendly(data: FactionRequest):
asyncio.create_task(update_friendly_faction_loop(data.faction_id, data.refresh_interval))
return {"status": "friendly loop started"}
@router.post("/refresh/enemy")
async def refresh_enemy(data: FactionRequest):
asyncio.create_task(update_enemy_faction_loop(data.faction_id, data.refresh_interval))
return {"status": "enemy loop started"}