Skip to content

Glicher-wp/Slack_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple slack bot

Простой бот для слак чата. Подписывается на сообщение и реагирует на "приветЭ. Отправляет сообщения, может реагировать на них.

Установка бота

Скачайте репозиторий и установите необходимые пакеты pip install -r requirements.txt. Для подписки на ивенты чата потребуется сервер, в который сможет постучаться Slack. Для отладки удобно будет использовать ngrok.

Настройка бота в Slack

Для начала регистрируемся в Slack и создаем рабочее пространоство. Далее создадим приложение в SlackAPI. Для этого идем по этому адресу. Нажимаем на кнопку Create an App.

куда-то делась картинка

Далее называем бота и выбираем рабочее пространство. После создания вашего приложения вам будет представлена следующая информационная панель приложения по умолчанию. На этой информационной панели вы будете управлять приложением, устанавливая разрешения, подписываясь на события, устанавливая приложение в рабочие пространства и т. д.

куда-то делась картинка

Чтобы ваше приложение могло отправлять сообщения на канал, вы должны предоставить ему разрешения на отправку сообщений. Для этого нажмите кнопку Permissions (Разрешения) на панели управления.

куда-то делась картинка

Прокрутите вниз страницу OAuth & Permissions (OAuth и разрешения), пока не найдете раздел Scopes (Области действия). Найдите подраздел Bot Token Scopes (Области действия токена бота) в области действия и нажмите кнопку Add an OAuth Scope (Добавить область действия OAuth).

куда-то делась картинка

Нажмите кнопку и введите chat:write. Выберите это разрешение, чтобы добавить его для вашего бота. Это позволит приложению отправлять сообщения на каналы, к которым у него есть доступ. Для получения доступа к реакциям также добавьте reactions:write.

куда-то делась картинка

Добавив необходимое разрешение и теперь можем установить приложение в рабочее пространство Slack. Прокрутите страницу OAuth & Permissions (OAuth и разрешения) вверх и нажмите кнопку Install App to Workspace (Установить приложение в рабочее пространство) сверху.

куда-то делась картинка

Нажмите эту кнопку и посмотрите, какие действия приложение может выполнять на канале. После этого нажмите кнопку Allow (Разрешить) для завершения установки.

куда-то делась картинка

После установки бота вы получите для вашего приложения токен доступа Bot User OAuth Access Token, который оно сможет использовать для выполнения действий в рабочем пространстве. Этот токен необходимо будет добавить в переменную окружения как SLACK_TOKEN.

куда-то делась картинка

В заключение добавьте новый бот в канал внутри вашего рабочего пространства. Если вы еще не создали канала, используйте канал #general, который создается по умолчанию в вашем рабочем пространстве Slack. Найдите приложение в разделе Apps (Приложения) на панели навигации клиента Slack и нажмите на него. Затем откройте меню Details (Сведения) в правом верхнем углу. Если ваш клиент Slack открыт не в полноэкранном режиме, значок этого меню будет выглядеть как буква i внутри окружности.

куда-то делась картинка

Чтобы завершить добавление приложения на канал, нажмите кнопку More (Дополнительно) со значком трех точек на странице сведений и выберите Add this app to a channel… (Добавить это приложение в канал…). Введите название канала в открытое модальное окно и нажмите Add (Добавить).

куда-то делась картинка

Теперь нужно добавить приложение как авторизованный обработчик. Перейдите в раздел Basic Information (Базовая информация) вашего приложения в пользовательском интерфейсе Slack. Прокручивайте экран вниз, пока не найдете раздел App Credentials (Полномочия приложения).

куда-то делась картинка

Скопируйте секретную подпись (Signing Secret) и экспортируйте ее в переменную среды SLACK_EVENTS_TOKEN. Это все токены необходимые для работы в приложении.

Предоставьте своему приложению необходимые разрешения для мониторинга сообщений и реагирования на них. Откройте раздел Event Subscriptions (Подписка на события) в боковой панели пользовательского интерфейса и нажмите кнопку Enable Events (Активировать события).

После этого введите свой IP-адрес, порт и конечную точку /api/msg в поле Request URL (URL-адрес запроса). Не забудьте указать префикс протокола HTTPS. Slack попытается выполнить подключение к указанной конечной точке. После успешного подключения вы увидите зеленую отметку со словом Verified (Проверено).

куда-то делась картинка

Затем откройте раздел Subscribe to bot events (Подписка на события ботов) и добавьте для вашего приложения разрешение message.channels. Это позволит вашему приложению получать сообщения от канала и обрабатывать их.

куда-то делась картинка

После этого останется сохранить изменения и переустановить приложение в Slack.

About

Simple slack bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages