Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions slack_sdk/web/async_chat_stream.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,15 @@ def __init__(
self._stream_ts: Optional[str] = None
self._buffer_size = buffer_size

@property
def ts(self) -> Optional[str]:
"""The message timestamp of the stream.

Returns None until the first flush (when chat.startStream is called).
Can be used with chat.update as a fallback if the stream expires server-side.
"""
return self._stream_ts

async def append(
self,
*,
Expand Down
9 changes: 9 additions & 0 deletions slack_sdk/web/chat_stream.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,15 @@ def __init__(
self._stream_ts: Optional[str] = None
self._buffer_size = buffer_size

@property
def ts(self) -> Optional[str]:
"""The message timestamp of the stream.

Returns None until the first flush (when chat.startStream is called).
Can be used with chat.update as a fallback if the stream expires server-side.
"""
return self._stream_ts

def append(
self,
*,
Expand Down
16 changes: 16 additions & 0 deletions tests/slack_sdk/web/test_chat_stream.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,22 @@ def test_streams_with_authorship_args(self):
self.assertEqual(start_request.get("icon_emoji"), "abacus")
self.assertNotIn("icon_url", start_request)

def test_ts_property_is_none_before_flush_and_set_after(self):
streamer = self.client.chat_stream(
buffer_size=5,
channel="C0123456789",
thread_ts="123.000",
recipient_team_id="T0123456789",
recipient_user_id="U0123456789",
)
self.assertIsNone(streamer.ts)

streamer.append(markdown_text="hello!")
self.assertEqual(streamer.ts, "123.123")

streamer.stop()
self.assertEqual(streamer.ts, "123.123")

def test_streams_errors_when_appending_to_an_unstarted_stream(self):
streamer = self.client.chat_stream(
channel="C0123456789",
Expand Down