feat: Send notification when booking is impossible

This commit is contained in:
kbe
2025-07-21 21:07:58 +02:00
parent 13f18b2854
commit d6e9373321
2 changed files with 22 additions and 0 deletions

View File

@@ -513,6 +513,10 @@ class CrossFitBooker:
logging.info(f"Successfully booked {session_type} session at {session_time}")
else:
logging.error(f"Failed to book {session_type} session at {session_time} - Session: {session}")
# Send notification about the failed booking
session_details = f"{session['name_activity']} at {session_time.strftime('%Y-%m-%d %H:%M')}"
await self.notifier.notify_impossible_booking(session_details)
logging.info(f"Notified about impossible booking for {session_type} session at {session_time}")
async def run(self) -> None:
"""

View File

@@ -114,6 +114,24 @@ class SessionNotifier:
email_message = f"Session available soon: {session_details} (in {days_until} days)"
telegram_message = f"Session available soon: {session_details} (in {days_until} days)"
# Send notifications through enabled channels
if self.enable_email:
self.send_email_notification(email_message)
if self.enable_telegram:
await self.send_telegram_notification(telegram_message)
async def notify_impossible_booking(self, session_details):
"""
Notify about an impossible session booking via email and Telegram.
Args:
session_details (str): Details about the session that couldn't be booked
"""
# Create messages for both email and Telegram
email_message = f"Failed to book session: {session_details}"
telegram_message = f"Failed to book session: {session_details}"
# Send notifications through enabled channels
if self.enable_email:
self.send_email_notification(email_message)