diff options
author | Trygve Aaberge <trygveaa@gmail.com> | 2024-01-07 15:51:33 +0100 |
---|---|---|
committer | Trygve Aaberge <trygveaa@gmail.com> | 2024-02-18 11:32:54 +0100 |
commit | a46a81e29e2eb6df2e77f3fae13ffad690688e88 (patch) | |
tree | e14b90089ab128180b65381b28936d087aed37cc /slack/slack_conversation.py | |
parent | 07a14fdc3a6476b65e3d19f79c20769f80fb5d31 (diff) | |
download | wee-slack-a46a81e29e2eb6df2e77f3fae13ffad690688e88.tar.gz |
Only open channels for the current sub workspace
It's possible to have a token that's only for one workspace in an
enterprise grid. For me with such a token, it returns channels in all
workspaces in client.userBoot, but only channels in the tokens workspace
in client.counts. This meant that we didn't get last_read for all
channels we opened, and additionally some methods like
conversations.members would fail with "channel_not_found" for those
channels.
This filters the channels from client.userBoot by checking that the
channel is in the current sub workspace, if the token we're using is not
an org level (for all workspaces the user is in) token.
Additionally it raises an error if any of the channels to open isn't
included in the response from client.counts to prevent missing last_read
for any channels if there are other channels that isn't included. I
could have filtered the list of channels to open by the channels
included from client.counts, but I don't want any channels to just
silently be ignored.
Diffstat (limited to 'slack/slack_conversation.py')
0 files changed, 0 insertions, 0 deletions