From 6afc30570f65e88caaf1dd8fab69efe0567ce8ff Mon Sep 17 00:00:00 2001 From: q Date: Thu, 5 Mar 2026 12:05:30 +0300 Subject: [PATCH] auto send to smoke --- main.py | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- vape.jpg | Bin 0 -> 28794 bytes 2 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 vape.jpg diff --git a/main.py b/main.py index 9c93ac3..957f558 100644 --- a/main.py +++ b/main.py @@ -83,6 +83,84 @@ def minutes_until_break(now: datetime | None = None) -> str: return "Пары закончились, перекур только завтра." + +def next_break_window(now: datetime | None = None) -> tuple[datetime | None, datetime | None]: + """Возвращает (начало, конец) ближайшего перекура или (None, None).""" + if now is None: + now = datetime.now(ZoneInfo(config.DEFAULT_TZ)) + elif now.tzinfo is None: + now = now.replace(tzinfo=ZoneInfo(config.DEFAULT_TZ)) + + day = now.weekday() + today_schedule = config.SCHEDULE.get(day, []) + if not today_schedule: + return None, None + + def dt_for(t: time) -> datetime: + return now.replace(hour=t.hour, minute=t.minute, second=0, microsecond=0) + + for start_t, end_t, br_minutes in today_schedule: + if not br_minutes: + continue + end_dt = dt_for(end_t) + br_start = end_dt + br_end = end_dt + timedelta(minutes=br_minutes) + # Ближайший будущий или текущий перекур + if now < br_end: + return br_start, br_end + + return None, None + + +# --- Авто-напоминание о перекуре --- +_break_tasks: dict[int, tuple[datetime, asyncio.Task]] = {} +_break_notified: dict[int, datetime] = {} + + +async def _send_break_photo(chat_id: int, bot: Bot, start_dt: datetime) -> None: + last = _break_notified.get(chat_id) + if last and last == start_dt: + return # Уже кидали уведомление для этого слота + + photo_path = config.BASE_DIR / "vape.jpg" + if not photo_path.exists(): + logger.warning("vape.jpg not found, skip break photo") + return + + try: + await bot.send_photo(chat_id=chat_id, photo=FSInputFile(photo_path), caption="идем курить") + _break_notified[chat_id] = start_dt + except Exception: + logger.exception("Failed to send break photo") + + +async def _break_notification(chat_id: int, bot: Bot, start_dt: datetime) -> None: + try: + now = datetime.now(start_dt.tzinfo) + delay = (start_dt - now).total_seconds() + if delay > 0: + await asyncio.sleep(delay) + await _send_break_photo(chat_id, bot, start_dt) + except asyncio.CancelledError: + pass + finally: + stored = _break_tasks.get(chat_id) + if stored and stored[0] == start_dt: + _break_tasks.pop(chat_id, None) + + +def schedule_break_notification(chat_id: int, bot: Bot, start_dt: datetime) -> None: + existing = _break_tasks.get(chat_id) + if existing: + scheduled_start, task = existing + if scheduled_start == start_dt and not task.done(): + return # Уже ждём этот же слот + if not task.done(): + task.cancel() + + task = asyncio.create_task(_break_notification(chat_id, bot, start_dt)) + _break_tasks[chat_id] = (start_dt, task) + # --- Работа с изображениями (Макеты и Мемы) --- def load_font(size: int) -> ImageFont.FreeTypeFont: @@ -414,7 +492,13 @@ async def handle_start(message: Message): await message.answer("Соси") async def handle_break_cmd(message: Message): - await message.answer(minutes_until_break()) + now = datetime.now(ZoneInfo(config.DEFAULT_TZ)) + await message.answer(minutes_until_break(now)) + + # Ставим будильник на ближайший перекур для этого чата + start_dt, _ = next_break_window(now) + if start_dt: + schedule_break_notification(message.chat.id, message.bot, start_dt) async def handle_penis_cmd(message: Message): if not message.from_user: diff --git a/vape.jpg b/vape.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ccf97cb0ec4c5d2a1dfd6cc05499f65a8bea1c8 GIT binary patch literal 28794 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 O!b@nO>x=GT8TlVUes-+@ literal 0 HcmV?d00001