diff --git a/crossfit_booker.py b/crossfit_booker.py index 4bd3246..74adb63 100644 --- a/crossfit_booker.py +++ b/crossfit_booker.py @@ -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: """ diff --git a/session_notifier.py b/session_notifier.py index 452e5d0..626a6d2 100644 --- a/session_notifier.py +++ b/session_notifier.py @@ -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)