Skip to content

Commit d8c1bf8

Browse files
committed
address copilot review: robust fallbacks for message_ts/thread_ts on edit and non-edit events
1 parent 607f2e6 commit d8c1bf8

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

  • examples/slackbot/src/slackbot

examples/slackbot/src/slackbot/api.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,17 @@ async def handle_message(payload: SlackPayload, db: Database):
129129
USER_MESSAGE_MAX_TOKENS = settings.user_message_max_tokens
130130
# Determine message context accommodating edit events
131131
is_edit = event.subtype == "message_changed"
132-
# The per-message idempotency key: the message timestamp (edited message retains same ts)
133-
message_ts = (event.message or {}).get("ts") if is_edit else event.ts
132+
# The per-message idempotency key: prefer message ts; fallback to event_ts for robustness
133+
message_ts = (
134+
(event.message or {}).get("ts") if is_edit else (event.ts or event.event_ts)
135+
)
134136
# Text to inspect for a bot mention
135137
user_message = (
136138
(event.message or {}).get("text") if is_edit else (event.text or "")
137139
) or ""
138140
# Thread anchor where we should respond/append
139141
thread_ts = (
140-
(event.message or {}).get("thread_ts")
142+
((event.message or {}).get("thread_ts") or (event.message or {}).get("ts"))
141143
if is_edit
142144
else (event.thread_ts or event.ts)
143145
)

0 commit comments

Comments
 (0)