---
url: /ru/integrations/channels/slack.md
---
# Настройка канала Slack

Подключите своего Bot в Memoh к Slack: он сможет получать личные сообщения, работать в каналах и тредах, читать вложения, отправлять файлы и отвечать в потоковом режиме.

## Предварительные условия

* Рабочее пространство Slack, в которое вы можете устанавливать приложения, и доступ к [консоли Slack API](https://api.slack.com/apps).
* Bot в Memoh; каналы настраиваются на его вкладке **Platforms**.

## Шаги

### 1. В консоли Slack создайте приложение

1. Откройте [консоль Slack API](https://api.slack.com/apps) и создайте новое приложение.
2. Выберите рабочее пространство, куда хотите установить Bot.

::: tip
Не закрывайте страницу настроек приложения — шаги со 2-го по 5-й выполняются именно там.
:::

### 2. В консоли Slack включите Socket Mode

Адаптер Slack в Memoh работает через Socket Mode, поэтому помимо токена Bot понадобится ещё и app-level токен.

1. В разделе **Basic Information** включите **Socket Mode**.
2. Создайте **App-Level Token** со scope `connections:write`.
3. Скопируйте сгенерированный токен. Он начинается с `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:read`
* `groups:read`
* `im:read`
* `mpim:read`

### 4. В консоли Slack подпишитесь на события Bot

В разделе **Event Subscriptions** включите события Bot и добавьте входящие типы событий, которые обрабатывает адаптер Slack:

* `app_mention`
* `message.channels`
* `message.groups`
* `message.im`
* `message.mpim`

### 5. В консоли Slack установите приложение в рабочее пространство

1. В разделе **OAuth & Permissions** нажмите **Install to Workspace**.
2. Просмотрите экран запроса прав и авторизуйте приложение.
3. Скопируйте **Bot User OAuth Token**. Он начинается с `xoxb-`.

### 6. В Memoh добавьте канал Slack

1. Откройте страницу нужного Bot и перейдите на вкладку **Platforms**.
2. Нажмите **Add Channel** и выберите **Slack**.
3. Заполните поля:
   * **Bot Token**: ваш токен `xoxb-...`
   * **App-Level Token**: ваш токен `xapp-...`
4. Нажмите **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** и сохраните.

## Частые вопросы {#faq}

### Зачем Slack два токена? {#why-two-tokens}

Адаптер Slack в Memoh работает через Socket Mode: помимо токена Bot `xoxb-...` нужен ещё app-level токен `xapp-...`, и оба должны принадлежать одному приложению Slack и одному рабочему пространству.

### Bot отправляет сообщения, но не читает загруженные изображения и файлы {#cannot-read-files}

Проверьте, что включён scope `files:read`.

### Bot подключается, но не получает входящих сообщений {#no-incoming-messages}

Перепроверьте события Bot в разделе **Event Subscriptions** и соответствующие scope вида `history`.
