docs: expand Slack scope notes
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
- Heartbeat: make HEARTBEAT_OK ack padding configurable across heartbeat and cron delivery. (#238) — thanks @jalehman
|
- Heartbeat: make HEARTBEAT_OK ack padding configurable across heartbeat and cron delivery. (#238) — thanks @jalehman
|
||||||
- WhatsApp: set sender E.164 for direct chats so owner commands work in DMs.
|
- WhatsApp: set sender E.164 for direct chats so owner commands work in DMs.
|
||||||
- Slack: keep auto-replies in the original thread when responding to thread messages. Thanks @scald for PR #251.
|
- Slack: keep auto-replies in the original thread when responding to thread messages. Thanks @scald for PR #251.
|
||||||
|
- Docs: clarify Slack manifest scopes (current vs optional) with references. Thanks @jarvis-medmatic for PR #235.
|
||||||
- Control UI: avoid Slack config ReferenceError by reading slack config snapshots. Thanks @sreekaransrinath for PR #249.
|
- Control UI: avoid Slack config ReferenceError by reading slack config snapshots. Thanks @sreekaransrinath for PR #249.
|
||||||
- Telegram: honor routing.groupChat.mentionPatterns for group mention gating. Thanks @regenrek for PR #242.
|
- Telegram: honor routing.groupChat.mentionPatterns for group mention gating. Thanks @regenrek for PR #242.
|
||||||
|
|
||||||
|
|||||||
@@ -98,6 +98,44 @@ Use this Slack app manifest to create the app quickly (adjust the name/command i
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Scopes (current vs optional)
|
||||||
|
Slack's Conversations API is type-scoped: you only need the scopes for the
|
||||||
|
conversation types you actually touch (channels, groups, im, mpim). See
|
||||||
|
https://api.slack.com/docs/conversations-api for the overview.
|
||||||
|
|
||||||
|
### Required by current code
|
||||||
|
- `chat:write` (send/update/delete messages via `chat.postMessage`)
|
||||||
|
https://api.slack.com/methods/chat.postMessage
|
||||||
|
- `im:write` (open DMs via `conversations.open` for user DMs)
|
||||||
|
https://api.slack.com/methods/conversations.open
|
||||||
|
- `channels:history`, `groups:history`, `im:history`, `mpim:history`
|
||||||
|
(`conversations.history` in `src/slack/actions.ts`)
|
||||||
|
https://api.slack.com/methods/conversations.history
|
||||||
|
- `channels:read`, `groups:read`, `im:read`, `mpim:read`
|
||||||
|
(`conversations.info` in `src/slack/monitor.ts`)
|
||||||
|
https://api.slack.com/methods/conversations.info
|
||||||
|
- `users:read` (`users.info` in `src/slack/monitor.ts` + `src/slack/actions.ts`)
|
||||||
|
https://api.slack.com/methods/users.info
|
||||||
|
- `reactions:read`, `reactions:write` (`reactions.get` / `reactions.add`)
|
||||||
|
https://api.slack.com/methods/reactions.get
|
||||||
|
https://api.slack.com/methods/reactions.add
|
||||||
|
- `pins:read`, `pins:write` (`pins.list` / `pins.add` / `pins.remove`)
|
||||||
|
https://api.slack.com/scopes/pins:read
|
||||||
|
https://api.slack.com/scopes/pins:write
|
||||||
|
- `emoji:read` (`emoji.list`)
|
||||||
|
https://api.slack.com/scopes/emoji:read
|
||||||
|
- `files:write` (uploads via `files.uploadV2`)
|
||||||
|
https://api.slack.com/messaging/files/uploading
|
||||||
|
|
||||||
|
### Not needed today (but likely future)
|
||||||
|
- `mpim:write` (only if we add group-DM open/DM start via `conversations.open`)
|
||||||
|
- `groups:write` (only if we add private-channel management: create/rename/invite/archive)
|
||||||
|
- `chat:write.public` (only if we want to post to channels the bot isn't in)
|
||||||
|
https://api.slack.com/scopes/chat:write.public
|
||||||
|
- `users:read.email` (only if we need email fields from `users.info`)
|
||||||
|
https://api.slack.com/changelog/2017-04-narrowing-email-access
|
||||||
|
- `files:read` (only if we start listing/reading file metadata)
|
||||||
|
|
||||||
## Config
|
## Config
|
||||||
Slack uses Socket Mode only (no HTTP webhook server). Provide both tokens:
|
Slack uses Socket Mode only (no HTTP webhook server). Provide both tokens:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user