initial commit

This commit is contained in:
2025-03-28 13:55:39 +05:00
commit 7f3192f64c
10 changed files with 182 additions and 0 deletions

34
time_magager.py Normal file
View File

@@ -0,0 +1,34 @@
import asyncio
from user_manager import user_manager
from models import UserState
from aiogram import Bot
import os
bot = Bot(token=os.getenv("BOT_TOKEN"))
class TimerManager:
def __init__(self):
self.tasks = {}
async def start_timer(self, user_id, duration, chat_id, label):
await self.stop_timer(user_id)
async def timer():
await asyncio.sleep(duration)
if label == 'Pomodoro':
await user_manager.increment_pomodoros(user_id)
await bot.send_message(chat_id, f"{label} завершён!")
task = asyncio.create_task(timer())
user = user_manager.get_user(user_id)
user.current_timer = label
user.task = task
self.tasks[user_id] = task
async def stop_timer(self, user_id):
user = user_manager.get_user(user_id)
if user.task:
user.task.cancel()
user.task = None
user.current_timer = None
self.tasks.pop(user_id, None)