From fe559c41a938a6388de49033d3969488181d7471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Hells=C3=A9n?= Date: Mon, 7 Jul 2025 04:46:30 +0200 Subject: [PATCH] Enhance missed job notifications with markdown timestamp and improve webhook function signature --- discord_reminder_bot/main.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/discord_reminder_bot/main.py b/discord_reminder_bot/main.py index 858cc46..333aa74 100644 --- a/discord_reminder_bot/main.py +++ b/discord_reminder_bot/main.py @@ -50,16 +50,18 @@ def my_listener(event: JobExecutionEvent) -> None: if event.code == events.EVENT_JOB_MISSED: scheduled_time: str = event.scheduled_run_time.strftime("%Y-%m-%d %H:%M:%S") + markdown_time: str = f"()" if event.scheduled_run_time else "" + # Get data from markdown file that was created by export_reminder_jobs_to_markdown() job_data: str = get_markdown_contents_from_markdown_file(event.job_id) if not job_data: - msg: str = f"Job {event.job_id} was missed! Was scheduled at {scheduled_time}" + msg: str = f"Job {event.job_id} was missed! Was scheduled at {scheduled_time} {markdown_time}\n" logger.warning(msg) else: - msg: str = f"Job {event.job_id} was missed! Was scheduled at {scheduled_time}\nData:\n```json\n{job_data}\n```" + msg: str = f"Job {event.job_id} was missed! Was scheduled at {scheduled_time} {markdown_time}\nData:\n```json\n{job_data}\n```" logger.warning(msg) - send_webhook(message=msg) + send_webhook(custom_url="", message=msg) if event.exception: with sentry_sdk.push_scope() as scope: @@ -68,7 +70,10 @@ def my_listener(event: JobExecutionEvent) -> None: scope.set_extra("event_code", event.code) sentry_sdk.capture_exception(event.exception) - send_webhook(f"discord-reminder-bot failed to send message to Discord\n{event}") + send_webhook( + custom_url="", + message=f"discord-reminder-bot failed to send message to Discord\n{event.exception}\n{event.traceback}", + ) class RemindBotClient(discord.Client): @@ -1180,7 +1185,7 @@ remind_group = RemindGroup() bot.tree.add_command(remind_group) -def send_webhook(custom_url: str = "", message: str = "") -> None: +def send_webhook(*, custom_url: str, message: str) -> None: """Send a webhook to Discord. Args: