В ходе разработки проекта @codex_bot, который интегрирует различные сервисы в мессенджеры, мы разобрались с созданием приложений для Slack. В этой статье расскажем о том, как отправлять сообщения в чат с помощью POST-запросов.
Для начала, зарегистрируйтесь на slack.com, если у вас еще нет аккаунта.
Создаем приложение
Открываем сайт Slack API и переходим во вкладку Your Apps. Здесь будут выводиться приложения, к которым у вас есть доступ. Для создания нового, нажмите «Create New App».
![](https://static.codex.so/upload/editor/o_3109120df14d4fa80f06342eefbe7915.jpg)
![](https://static.codex.so/upload/editor/o_0af2392167a7703a04fded445f97444b.jpg)
После заполнения формы вы попадете на страницу настройки бота.
![](https://static.codex.so/upload/editor/o_c45524abea121210fbbf8986b9e32bdf.jpg)
Настраиваем приложение
Доступные настройки
Открываем вкладку «Basic Information» бокового меню. В этой вкладке три основных блока: «Add features and functionality», «Install your app to your team», «Manage Distribution».
Коротко о разделе Add features and functionality:
- Incoming Webhooks — позволяет настроить отправку сообщений в чат через специальный адрес
- Interactive Messages — используется для добавления кнопок в сообщениях
- Slash Commands — в этом разделе можно задать адреса для обработки специальных команд вида «/command»
- Event Subscriptions — позволяет подписать ваше приложение на события. Например, «пользователь покинул чат» или «ответ/реакция на сообщение»
- Bots — раздел для создания бота, который будет получать уведомления о событиях, активированных в «Event Subscriptions»
- Permissions — в этом разделе задается список привилегий, которые будет запрашивать приложение при установке (добавлении в команду).
В разделе «Install your app to your team» настраивается авторизация приложения через протокол OAuth. Раздел «Manage Distribution» используется для того, чтобы ваше приложение попало в общий каталог, где его сможет найти любой пользователь.
В рамках этой статьи мы рассмотрим раздел «Incoming Webhooks». Этого достаточно для создания простого бота, который будет присылать сообщения в чат при запросе Webhook.
Webhook — адрес, на который вы сможете слать запросы для отправки сообщений в чат от лица приложения.
Отправляем «Hello, World!» в канал
Давайте попробуем отправить сообщение в канал. Откройте вкладку «Incoming Webhooks», нажмите «Add New Webhook to Team» и выберите канал, в который вы будете отправлять сообщения.
![](https://static.codex.so/upload/editor/o_82e54fd08596273b1b15341f0ffcdba8.jpg)
Созданный вебхук появится в поле Webhook URL:
![](https://static.codex.so/upload/editor/o_0384095a95a193cb314369da38bd87a7.jpg)
Для отправки сообщения, пошлите POST-запрос на этот адрес. Пример кода отправки будет сгенерирован в поле «Sample curl request to post to a channel».
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/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
![](https://static.codex.so/upload/editor/o_a6d8f90ca5fc843696b1121ed4688f63.jpg)
Могу вас поздравить, только что вы создали приложение для Slack!
В следующей статье добавим приложению необходимые права, настроим получение данных из каналов, авторизацию, получение токена через OAuth и обработку слэш-комманд.