Slack е удобен и популярен инструмент, който можете да подобрите със собствени команди, съобразени с вашата организация.

Slack е инструмент, който позволява на екипите да комуникират и да си сътрудничат. Една от основните му характеристики е използването на команди с наклонена черта. Тези команди задействат конкретни действия или интеграции в платформата.

Докато Slack ви предоставя няколко вградени команди за наклонена черта, можете да създавате персонализирани команди с помощта на API на Slack. След това можете да конфигурирате персонализираната команда да изпълнява определена задача, когато потребител я задейства.

Защо да създадете персонализирана команда за наклонена черта в Slack?

Вградените команди за наклонена черта на Slack може да не отговарят на специфичните нужди на вашия екип или организация. Чрез създаване на персонализирани команди с наклонена черта можете да създадете по-персонализирано изживяване за вашия екип. Това от своя страна повишава ангажираността на екипа.

Настройване на приложение Slack

instagram viewer

За да продължите, трябва да се чувствате удобно с основно използване на Slack. Влезте в своя Slack акаунт в браузъра и създайте ново работно пространство. Ще използвате това работно пространство, за да тествате вашите приложения, преди да ги използвате в работното пространство на вашия екип.

Отворете друг раздел и отидете до Slack API уебсайт.

Кликнете върху Създайте приложение бутон. На следващата страница, която се показва, изберете опцията за създаване на приложение От нулата.

Наименувайте приложението и изберете работното пространство, в което ще работи приложението.

Щракнете върху Създаване на приложение бутон. Това ще ви пренасочи към страница, която съдържа основната информация за вашето приложение.

В секцията с функции навигирайте до OAuth и разрешения функция, след което превъртете надолу до Обхват на токен за бот. Добави чат: пиши обхват за вашето приложение. Този обхват ще позволи на приложението ви да изпраща съобщения до работното пространство.

Превъртете нагоре до OAuth токени за вашето работно пространство раздел и щракнете върху Инсталирайте в Workspace бутон.

На следващата страница, която се показва, щракнете върху Позволява бутон. Това ще инсталира приложението във вашето работно пространство.

Създаване на персонализирана команда за наклонена черта с помощта на Slack API

След като настроите приложението Slack, трябва да създадете персонализирана команда за задачата, която искате да изпълните. Например команда за наклонена черта, която връща шега на потребителя. Навигирайте до Команди за наклонена черта особеност. Кликнете върху Създаване на нова команда бутон.

Попълнете командване, URL адрес на заявка, и Кратко описание на командата, която искате да създадете. URL адресът на заявката е крайната точка, до която Slack изпраща POST заявка, когато потребител задейства командата. Използвайте URL на локален хост като контейнер; ще смените този URL по-късно.

Кликнете върху Запазване. Когато запазите, Slack автоматично добавя обхват на команди за вашето приложение. Този обхват позволява на приложението ви да добавя команди за бърз достъп и наклонена черта, които хората във вашето работно пространство могат да използват. Промяната на обхватите ще изисква да инсталирате отново приложението. Кликнете върху преинсталирайте приложението си бутон.

На следващата страница, която се показва, щракнете върху разрешаване на повторно инсталиране на приложението в работното ви пространство.

Конфигуриране на поведението на командата Slash

Стартирайте всяка Python IDE. Създайте нова виртуална среда. Създайте нов Python файл и нов .env файл. На терминала изпълнете следната команда, за да инсталирате необходимите библиотеки.

pip инсталирате python-dotenv заявки Flask хлабав болт

The python-dotenv библиотека ще ви позволи да заредите променливите на средата в .env файла. The заявки библиотека ви позволява да правите HTTP заявки и Колба обработва входящите HTTP заявки и връщаните отговори. Разхлабен болт обработва входящите Slack заявки.

Отворете файла .env и създайте две променливи на средата. Назовете ги BOT_TOKEN и SIGNING_SECRET съответно. Отидете до уебсайта на Slack API. Под вашето приложение Основна информация копирайте тайната за подписване и я използвайте за инициализиране на променливата BOT_TOKEN. Отидете до функцията OAuth & Permissions и копирайте Bot User OAuth Token. Използвайте го, за да инициализирате променливата SIGNING_SECRET.

Токенът на бот е уникален идентификатор, който удостоверява вашето приложение с API на Slack, когато правите извиквания на API. Тайната за подписване потвърждава, че входящите заявки към вашето приложение идват от Slack.

Пълният изходен код е достъпен в a GitHub хранилище.

Импортирайте необходимите библиотеки и модули.

импортиране операционна система
от pathlib импортиране Пътека
от dotenv импортиране load_dotenv
импортиране заявки
от колба импортиране Колба, заявка, jsonify
от хлабав_болт импортиране Приложение
от отпуснат_болт.адаптер.колба импортиране SlackRequestHandler

Създайте нов екземпляр на Flask приложение.

приложение = Колба (__име__)

Заредете променливите на средата от .env файла, като използвате load_dotenv() функция.

env_path = път ('.') / ".env"
load_dotenv (dotenv_path=env_path)

Създайте нов екземпляр на приложение Slack, като използвате Приложение клас от библиотеката slack_bolt.

slack_app = Приложение(
токен=os.environ[„BOT_TOKEN“],
signing_secret=os.environ[„SIGNING_SECRET“]
)

Създайте функция за обработка на маршрути, която обработва входящи заявки към /slack/command крайна точка. Когато крайната точка получи a ПУБЛИКУВАНЕ заявка, той анализира данните от тялото на заявката. След това проверява дали командата е /joke. Ако е така, той извиква get_joke() функция и връща JSON отговор на Slack с резултата от командата.

@app.route("/slack/command", methods=["POST"])
дефкоманда():
# Анализирайте данните от тялото на заявката
данни = заявка.форма

# Извикайте подходящата функция въз основа на командата за наклонена черта
ако данни["команда"] == "/шега":
съобщение = get_joke()
друго:
съобщение = f"Невалидна команда: {данни["заповед"]}"

# Връщане на отговор към Slack
връщане jsonify({"текст": съобщение})

Създайте функция, която изпраща GET заявка до icanhazdadjoke API за извличане на произволна шега във формат JSON. След това връща шегата като низ.

дефget_joke():
url = " https://icanhazdadjoke.com/"
заглавки = {"Приеми": "приложение/json"}
отговор = requests.get (url, заглавки=заглавки, изчакване=5)
шега = response.json()["шега"]
връщане шега

Създайте нов екземпляр на a SlackRequestHandler обект, който ще обработва входящи заявки от Slack.

манипулатор = SlackRequestHandler (slack_app)

Проверете дали скриптът се изпълнява директно и, ако е, стартирайте приложението Flask на порт 5000.

ако __име__ == "__основен__":
# Стартирайте приложението Flask на порт 5000
app.run (порт=5000, отстраняване на грешки=Вярно)

Стартирайте програмата, за да стартирате сървъра, работещ на localhost.

За да може програмата да комуникира със Slack, ви е необходим URL адрес, до който да има достъп през интернет. Изтеглете и стартирайте ngrok. The софтуерът ngrok ви позволява да създадете защитен публичен URL адрес който тунелира трафик към уеб сървър, работещ на вашия компютър.

Изпълнете следната команда, за да получите публичния URL адрес:

ngrok http 5000

Изображението по-долу показва обществения URL адрес на ngrok, подчертан в бяло.

Копирайте URL адреса и отворете уебсайта на Slack API. Кликнете върху Команди за наклонена черта особеност. Редактирайте командата /joke и заменете контейнера за URL адрес на заявката с вашия публичен URL адрес. Добавете /slack/events в края на URL адреса, за да сочите към вашата крайна точка.

Отидете във вашето работно пространство, след това въведете и изпратете командата /joke. Трябва да видите шега в отговор:

Запознайте се с други функции на Slack

Slack предлага много функции извън командите на Slash. Запознаването с тези функции ще ви позволи да разберете как работят.

След това можете да потърсите начини да ги персонализирате според изискванията на вашето работно пространство. Това ще увеличи производителността на вашия екип.