17 lines
614 B
Python
17 lines
614 B
Python
"""J.A.R.V.I.S. unwarn background task handler."""
|
|
from datetime import datetime, timedelta
|
|
|
|
from dis_snek.models.snek.tasks.task import Task
|
|
from dis_snek.models.snek.tasks.triggers import IntervalTrigger
|
|
from jarvis_core.db import q
|
|
from jarvis_core.db.models import Warning
|
|
|
|
|
|
@Task.create(IntervalTrigger(hours=1))
|
|
async def unwarn() -> None:
|
|
"""J.A.R.V.I.S. unwarn background task."""
|
|
warns = Warning.find(q(active=True))
|
|
async for warn in warns:
|
|
if warn.created_at + timedelta(hours=warn.duration) < datetime.now():
|
|
warn.update(q(active=False))
|
|
await warn.commit()
|