Настройка канала Slack
Подключите своего Bot в Memoh к Slack: он сможет получать личные сообщения, работать в каналах и тредах, читать вложения, отправлять файлы и отвечать в потоковом режиме.
Предварительные условия
- Рабочее пространство Slack, в которое вы можете устанавливать приложения, и доступ к консоли Slack API.
- Bot в Memoh; каналы настраиваются на его вкладке Platforms.
Шаги
1. В консоли Slack создайте приложение
- Откройте консоль Slack API и создайте новое приложение.
- Выберите рабочее пространство, куда хотите установить Bot.
TIP
Не закрывайте страницу настроек приложения — шаги со 2-го по 5-й выполняются именно там.
2. В консоли Slack включите Socket Mode
Адаптер Slack в Memoh работает через Socket Mode, поэтому помимо токена Bot понадобится ещё и app-level токен.
- В разделе Basic Information включите Socket Mode.
- Создайте App-Level Token со scope
connections:write. - Скопируйте сгенерированный токен. Он начинается с
xapp-.
3. В консоли Slack добавьте scope для токена Bot
В разделе OAuth & Permissions добавьте scope токена Bot, которые нужны адаптеру Slack:
app_mentions:read— получать упоминания Bot в каналахchannels:history— читать сообщения в публичных каналахgroups:history— читать сообщения в приватных каналахim:history— читать личные сообщенияmpim:history— читать групповые личные сообщенияchat:write— отправлять ответы и сообщения в тредахfiles:read— читать загруженные файлы и изображенияfiles:write— отправлять исходящие файлыreactions:write— ставить и убирать реакции
Если хотите, чтобы названия бесед Slack и метаданные отображались в Memoh полнее, добавьте также рекомендуемые scope:
channels:readgroups:readim:readmpim:read
4. В консоли Slack подпишитесь на события Bot
В разделе Event Subscriptions включите события Bot и добавьте входящие типы событий, которые обрабатывает адаптер Slack:
app_mentionmessage.channelsmessage.groupsmessage.immessage.mpim
5. В консоли Slack установите приложение в рабочее пространство
- В разделе OAuth & Permissions нажмите Install to Workspace.
- Просмотрите экран запроса прав и авторизуйте приложение.
- Скопируйте Bot User OAuth Token. Он начинается с
xoxb-.
6. В Memoh добавьте канал Slack
- Откройте страницу нужного Bot и перейдите на вкладку Platforms.
- Нажмите Add Channel и выберите Slack.
- Заполните поля:
- Bot Token: ваш токен
xoxb-... - App-Level Token: ваш токен
xapp-...
- Bot Token: ваш токен
- Нажмите Save and Enable.
7. В Slack добавьте Bot в беседы
После включения канала приложение Slack ещё нужно добавить в те беседы, где оно должно работать:
- Личные сообщения: откройте DM с приложением и отправьте сообщение.
- Публичные каналы: пригласите Bot в канал.
- Приватные каналы: после установки пригласите Bot явно.
Учётные данные
| Поле | Описание |
|---|---|
| Bot Token | Bot User OAuth Token (xoxb-...), скопированный после установки приложения в рабочее пространство. |
| App-Level Token | Токен Socket Mode (xapp-...), созданный со scope connections:write. |
Оба токена должны принадлежать одному и тому же приложению Slack и одному рабочему пространству.
Проверка
Пригласите Bot в канал и отправьте ему /help через @-упоминание — или отправьте /help в личной переписке с приложением. Если Bot ответил списком команд, канал работает.
Групповые чаты
Каналы Slack поддерживаются. Пригласите Bot в публичный или приватный канал и общайтесь с ним через @-упоминания. Ответы могут продолжаться в тредах; Slack — единственный канал, поддерживающий треды.
Отключение и смена учётных данных
Отключить или удалить этот канал можно в любой момент на вкладке Platforms нужного Bot. Чтобы сменить учётные данные, обновите поля Bot Token и App-Level Token и сохраните.
Частые вопросы
Зачем Slack два токена?
Адаптер Slack в Memoh работает через Socket Mode: помимо токена Bot xoxb-... нужен ещё app-level токен xapp-..., и оба должны принадлежать одному приложению Slack и одному рабочему пространству.
Bot отправляет сообщения, но не читает загруженные изображения и файлы
Проверьте, что включён scope files:read.
Bot подключается, но не получает входящих сообщений
Перепроверьте события Bot в разделе Event Subscriptions и соответствующие scope вида history.