aboutsummaryrefslogtreecommitdiffstats
path: root/slack/slack_api.py
diff options
context:
space:
mode:
authorTrygve Aaberge <trygveaa@gmail.com>2024-02-04 15:20:11 +0100
committerTrygve Aaberge <trygveaa@gmail.com>2024-02-18 13:01:40 +0100
commit2f3fa57090a01b2cf2020ee90cc3f542d1893ebe (patch)
tree035b7362ebb777bc783f7a6ef49618b9cb79d501 /slack/slack_api.py
parente3e901eb7375eefeba0a121ec70391a190dfe948 (diff)
downloadwee-slack-2f3fa57090a01b2cf2020ee90cc3f542d1893ebe.tar.gz
Add command `/slack join`
For now this only supports known channels, which currently typically means they have to be referenced in a channel with history loaded.
Diffstat (limited to 'slack/slack_api.py')
-rw-r--r--slack/slack_api.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/slack/slack_api.py b/slack/slack_api.py
index 4ffb425..8d49e55 100644
--- a/slack/slack_api.py
+++ b/slack/slack_api.py
@@ -26,6 +26,7 @@ if TYPE_CHECKING:
from slack_api.slack_common import SlackGenericResponse
from slack_api.slack_conversations_history import SlackConversationsHistoryResponse
from slack_api.slack_conversations_info import SlackConversationsInfoResponse
+ from slack_api.slack_conversations_join import SlackConversationsJoinResponse
from slack_api.slack_conversations_members import SlackConversationsMembersResponse
from slack_api.slack_conversations_open import SlackConversationsOpenResponse
from slack_api.slack_conversations_replies import SlackConversationsRepliesResponse
@@ -360,6 +361,14 @@ class SlackApi(SlackApiCommon):
raise SlackApiError(self.workspace, method, response, params)
return response
+ async def conversations_join(self, conversation_id: str):
+ method = "conversations.join"
+ params: Params = {"channel": conversation_id}
+ response: SlackConversationsJoinResponse = await self._fetch(method, params)
+ if response["ok"] is False:
+ raise SlackApiError(self.workspace, method, response, params)
+ return response
+
async def conversations_close(self, conversation: SlackConversation):
method = "conversations.close"
params: Params = {"channel": conversation.id}