Files
virtus-bot/core/tasks.py
T
2025-06-18 11:48:41 +07:00

18 lines
911 B
Python

from discord.ext import tasks
from datetime import datetime
from .bot import bot, user_repo, active_voice_users, VOICE_EXP_POINTS_PER_MINUTE
@tasks.loop(minutes=1)
async def update_voice_exp():
current_time = datetime.now()
for user_id in list(active_voice_users):
last_join_time = await user_repo.get_voice_time(user_id)
if last_join_time:
join_time = datetime.fromisoformat(last_join_time)
time_spent = current_time - join_time
if time_spent.total_seconds() >= 60:
current_exp = await user_repo.get_exp(user_id)
new_exp = current_exp + VOICE_EXP_POINTS_PER_MINUTE
await user_repo.update_exp(user_id, new_exp)
await user_repo.update_voice_time(user_id, current_time.isoformat())
print(f"Added {VOICE_EXP_POINTS_PER_MINUTE} exp points to user {user_id} for voice time")