В прошлый раз мы сделали основу: заметки, теги и поиск. Теперь — добавляем напоминания, чтобы бот сам писал тебе в нужное время.
🗓 Мини-шаблон:
import asyncio
from datetime import datetime, timedelta
reminders = [] # [(user_id, text, time)]
@dp.message(commands=["remind"])
async def set_reminder(msg: types.Message):
# Пример: /remind Через 1 минуту Выпить кофе
parts = msg.text.split(" ", 3)
minutes, text = int(parts[1]), parts[2:]
remind_time = datetime.now() + timedelta(minutes=minutes)
reminders.append((msg.from_user.id, " ".join(text), remind_time))
await msg.answer(f"⏰ Напоминание через {minutes} мин!")
async def reminder_loop():
while True:
now = datetime.now()
for r in reminders[:]:
user_id, text, time = r
if now >= time:
await bot.send_message(user_id, f"🔔 Напоминание: {text}")
reminders.remove(r)
await asyncio.sleep(10)
asyncio.create_task(reminder_loop())
🚀 Теперь бот не просто хранит заметки, а помогает не забывать важное.
Дальше можно добавить:
✉️ экспорт напоминаний в файл
🗓 расписание на день/неделю
📌 автоповторы
#CodeShadow #TelegramBot #Python #aiogram #Кейс #Напоминания
