Skip to content

Commit 31146a2

Browse files
authored
Fix #738 Add more keyword args to say utility (#741)
1 parent 4f1b4f8 commit 31146a2

File tree

4 files changed

+50
-0
lines changed

4 files changed

+50
-0
lines changed

slack_bolt/context/say/async_say.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from typing import Optional, Union, Dict, Sequence
22

3+
from slack_sdk.models.metadata import Metadata
4+
35
from slack_bolt.context.say.internals import _can_say
46
from slack_bolt.util.utils import create_copy
57
from slack_sdk.models.attachments import Attachment
@@ -26,9 +28,18 @@ async def __call__(
2628
blocks: Optional[Sequence[Union[Dict, Block]]] = None,
2729
attachments: Optional[Sequence[Union[Dict, Attachment]]] = None,
2830
channel: Optional[str] = None,
31+
as_user: Optional[bool] = None,
2932
thread_ts: Optional[str] = None,
33+
reply_broadcast: Optional[bool] = None,
3034
unfurl_links: Optional[bool] = None,
3135
unfurl_media: Optional[bool] = None,
36+
icon_emoji: Optional[str] = None,
37+
icon_url: Optional[str] = None,
38+
username: Optional[str] = None,
39+
mrkdwn: Optional[bool] = None,
40+
link_names: Optional[bool] = None,
41+
parse: Optional[str] = None, # none, full
42+
metadata: Optional[Union[Dict, Metadata]] = None,
3243
**kwargs,
3344
) -> AsyncSlackResponse:
3445
if _can_say(self, channel):
@@ -40,9 +51,18 @@ async def __call__(
4051
text=text,
4152
blocks=blocks,
4253
attachments=attachments,
54+
as_user=as_user,
4355
thread_ts=thread_ts,
56+
reply_broadcast=reply_broadcast,
4457
unfurl_links=unfurl_links,
4558
unfurl_media=unfurl_media,
59+
icon_emoji=icon_emoji,
60+
icon_url=icon_url,
61+
username=username,
62+
mrkdwn=mrkdwn,
63+
link_names=link_names,
64+
parse=parse,
65+
metadata=metadata,
4666
**kwargs,
4767
)
4868
elif isinstance(text_or_whole_response, dict):

slack_bolt/context/say/say.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from slack_sdk import WebClient
44
from slack_sdk.models.attachments import Attachment
55
from slack_sdk.models.blocks import Block
6+
from slack_sdk.models.metadata import Metadata
67
from slack_sdk.web import SlackResponse
78

89
from slack_bolt.context.say.internals import _can_say
@@ -27,9 +28,18 @@ def __call__(
2728
blocks: Optional[Sequence[Union[Dict, Block]]] = None,
2829
attachments: Optional[Sequence[Union[Dict, Attachment]]] = None,
2930
channel: Optional[str] = None,
31+
as_user: Optional[bool] = None,
3032
thread_ts: Optional[str] = None,
33+
reply_broadcast: Optional[bool] = None,
3134
unfurl_links: Optional[bool] = None,
3235
unfurl_media: Optional[bool] = None,
36+
icon_emoji: Optional[str] = None,
37+
icon_url: Optional[str] = None,
38+
username: Optional[str] = None,
39+
mrkdwn: Optional[bool] = None,
40+
link_names: Optional[bool] = None,
41+
parse: Optional[str] = None, # none, full
42+
metadata: Optional[Union[Dict, Metadata]] = None,
3343
**kwargs,
3444
) -> SlackResponse:
3545
if _can_say(self, channel):
@@ -41,9 +51,18 @@ def __call__(
4151
text=text,
4252
blocks=blocks,
4353
attachments=attachments,
54+
as_user=as_user,
4455
thread_ts=thread_ts,
56+
reply_broadcast=reply_broadcast,
4557
unfurl_links=unfurl_links,
4658
unfurl_media=unfurl_media,
59+
icon_emoji=icon_emoji,
60+
icon_url=icon_url,
61+
username=username,
62+
mrkdwn=mrkdwn,
63+
link_names=link_names,
64+
parse=parse,
65+
metadata=metadata,
4766
**kwargs,
4867
)
4968
elif isinstance(text_or_whole_response, dict):

tests/slack_bolt/context/test_say.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ def test_say_unfurl_options(self):
2929
response: SlackResponse = say(text="Hi there!", unfurl_media=True, unfurl_links=True)
3030
assert response.status_code == 200
3131

32+
def test_say_reply_in_thread(self):
33+
say = Say(client=self.web_client, channel="C111")
34+
response: SlackResponse = say(text="Hi there!", thread_ts="111.222", reply_broadcast=True)
35+
assert response.status_code == 200
36+
3237
def test_say_dict(self):
3338
say = Say(client=self.web_client, channel="C111")
3439
response: SlackResponse = say({"text": "Hi!"})

tests/slack_bolt_async/context/test_async_say.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ async def test_say_unfurl_options(self):
3636
response: AsyncSlackResponse = await say(text="Hi there!", unfurl_links=True, unfurl_media=True)
3737
assert response.status_code == 200
3838

39+
@pytest.mark.asyncio
40+
async def test_say_reply_in_thread(self):
41+
say = AsyncSay(client=self.web_client, channel="C111")
42+
response: AsyncSlackResponse = await say(text="Hi there!", thread_ts="111.222", reply_broadcast=True)
43+
assert response.status_code == 200
44+
3945
@pytest.mark.asyncio
4046
async def test_say_dict(self):
4147
say = AsyncSay(client=self.web_client, channel="C111")

0 commit comments

Comments
 (0)