Запускайте бота во всплывающее диалоговое окно и запрашивайте ввод пользователя при отправке сообщения в корень канала

#slack-api

#slack-api

Вопрос:

Когда пользователь Slack отправляет комментарий в корень канала (не в качестве ответа на существующий пост, он же «поток»), я бы хотел, чтобы Slack открывал диалоговое окно со списком флажков, содержащих список элементов, с которыми пользователь должен согласиться, прежде чем ихсообщение разрешено принимать. Только после того, как они отметят все элементы, сообщение будет опубликовано. Это сделано для того, чтобы пользователи понимали правила канала перед публикацией. Возможно ли это с помощью API Slack?

Ответ №1:

Я не думаю, что это то, что поддерживает Slack. Если я правильно понимаю, вы хотите открыть модальное сообщение, когда пользователь публикует сообщение на канале. Для открытия модала Slack требует вызова параметра trigger_id . Вы получаете a trigger_id при использовании любого из интерактивных компонентов.

К сожалению, сама отправка сообщения не генерирует trigger_id . (Это будет получено приложением как событие сообщения, которое не содержит trigger_id )

Альтернативным подходом может быть ответ эфемерным сообщением или DM, когда пользователь отправляет сообщение на канале. Это эфемерное сообщение или DM может содержать интерактивный компонент, такой как кнопка, при нажатии на которую открывается модальный.

Кроме того, чтобы идентифицировать потоковое сообщение в отличие от сообщения, размещенного непосредственно на канале, найдите thread_ts параметр в событии сообщения.