Я пытаюсь сделать бота, который будет слушать все общественные & частные каналы и IM для команды, и ответит, когда увидит определенные триггерные слова. Это будет «Slack App», устанавливаемый в вашу команду с помощью кнопки «Добавить в Slack» и включает в себя «Пользователь бота».Какие области OAuth необходимы для прослушивания и ответа Slack Bot с использованием API Slack Events?
Я попросил «ботовую» область OAuth и подписался на «message.channels, messages.groups и message.im» Team Events (по адресу https://api.slack.com/apps/myAppId/event-subscriptions), но не должен получать POST-сообщения от событий через API событий когда отправляются новые сообщения.
Добавление областей «channels: history, groups: history, im: history» позволяет боту получать эти POST-сообщения, но я верю только пользователю, добавившему бота, поэтому он не будет наблюдать за группами, пользователь не был членом или IM между двумя другими пользователями. Это означает, что поведение будет отличаться, в зависимости от того, какой пользователь установил мой бот.
Есть ли способ установить приложение/бот для всей команды? Документация, похоже, указывает на то, что область «бот» должна иметь возможность принимать события, но я этого не вижу (мне нужны каналы: область истории и т. Д. Выше).
bot - запросите эту область, когда ваше приложение Slack включает в себя функции пользователя бота. В отличие от входящих webhook и команд, область бота предоставляет вашему пользователю бот доступ к подмножеству методов Web API, RTM API и определенным типам событий в API событий.
страница на ботов также утверждает, что бот может принимать все сообщения через RTM API:
Это WebSocket будет посылать вам все сообщения и деятельности, происходят в публичных и частных каналах, к которым приглашен бот-пользователь, а также сообщения, которые отправляются ему посредством прямого сообщения. Пользователь-бот открывает этот веб-сайт с помощью API RTM, отправив аутентифицированный вызов методу API rtm.start. Подробнее о подключении к RTM API читайте здесь. (от https://api.slack.com/bot-users)
Это такое же поведение возможно в событиях API без необходимости использовать API RTM или добавить эти дополнительные области, указанные выше?
С момента добавления пользователя бота в мое приложение на странице «Подписки на события» появился раздел «События ботов», на котором я могу подписаться на «message.channels» и не требую каналов: разрешение истории (в отличие от документация). Тем не менее, бот-пользователь затем должен быть приглашен ко всем каналам, которые я хочу контролировать, что делает процесс установки более сложным. – Crashthatch