Slack to wygodne i popularne narzędzie, które możesz wzbogacić o własne polecenia, dostosowane do Twojej organizacji.
Slack to narzędzie, które umożliwia zespołom komunikację i współpracę. Jedną z jego kluczowych cech jest użycie poleceń z ukośnikiem. Te polecenia uruchamiają określone działania lub integracje w ramach platformy.
Podczas gdy Slack zapewnia kilka wbudowanych poleceń ukośnika, możesz tworzyć niestandardowe polecenia za pomocą interfejsu API Slacka. Następnie możesz skonfigurować niestandardowe polecenie, aby wykonywało określone zadanie, gdy użytkownik je uruchomi.
Po co tworzyć niestandardowe polecenie ukośnika w Slacku?
Wbudowane polecenia ukośnika Slacka mogą nie zaspokajać konkretnych potrzeb Twojego zespołu lub organizacji. Tworząc niestandardowe polecenia z ukośnikiem, możesz stworzyć bardziej spersonalizowane środowisko dla swojego zespołu. To z kolei zwiększa zaangażowanie zespołu.
Konfigurowanie aplikacji Slack
Aby kontynuować, powinieneś czuć się komfortowo z Podstawowe użycie Slacka
. Zaloguj się na swoje konto Slack w przeglądarce i utwórz nowy obszar roboczy. Będziesz używać tego obszaru roboczego do testowania aplikacji przed użyciem ich w obszarze roboczym swojego zespołu.Otwórz inną kartę i przejdź do Witryna Slack API.
Kliknij na Utwórz aplikację przycisk. Na następnej stronie, która się pojawi, wybierz opcję utworzenia aplikacji Od zera.
Nazwij aplikację i wybierz obszar roboczy, w którym aplikacja będzie działać.
Kliknij Utwórz aplikację przycisk. Spowoduje to przekierowanie do strony zawierającej podstawowe informacje o Twojej aplikacji.
W sekcji funkcji przejdź do OAuth i uprawnienia funkcję, a następnie przewiń w dół do Zakresy tokenów botów. Dodać czat: napisz zakres dla Twojej aplikacji. Ten zakres pozwoli Twojej aplikacji na wysyłanie komunikatów do obszaru roboczego.
Przewiń w górę do Tokeny OAuth dla Twojego obszaru roboczego sekcji i kliknij na Zainstaluj w obszarze roboczym przycisk.
Na następnej stronie, która się pojawi, kliknij na Umożliwić przycisk. Spowoduje to zainstalowanie aplikacji w Twoim obszarze roboczym.
Tworzenie niestandardowego polecenia ukośnika przy użyciu interfejsu Slack API
Po skonfigurowaniu aplikacji Slack musisz utworzyć niestandardowe polecenie dla zadania, które chcesz wykonać. Na przykład polecenie ukośnika, które zwraca użytkownikowi żart. Przejdź do Komendy ukośne funkcja. Kliknij na Utwórz nowe polecenie przycisk.
Wypełnij Komenda, Adres URL żądania, I krótki opis polecenia, które chcesz utworzyć. Adres URL żądania to punkt końcowy, do którego Slack wysyła żądanie POST, gdy użytkownik uruchomi polecenie. Użyj adresu URL hosta lokalnego jako symbolu zastępczego; ten adres URL zmienisz później.
Kliknij Ratować. Podczas zapisywania Slack automatycznie dodaje zakres poleceń dla Twojej aplikacji. Ten zakres umożliwia Twojej aplikacji dodawanie skrótów i poleceń z ukośnikiem, z których mogą korzystać osoby w Twoim obszarze roboczym. Zmiana zakresów będzie wymagać ponownej instalacji aplikacji. Kliknij na ponownie zainstaluj aplikację przycisk.
Na następnej stronie kliknij opcję zezwalaj na ponowną instalację aplikacji w obszarze roboczym.
Konfigurowanie zachowania polecenia Slash
Uruchom dowolne IDE Pythona. Utwórz nowe środowisko wirtualne. Utwórz nowy plik języka Python i nowy plik .env. W terminalu uruchom następujące polecenie, aby zainstalować wymagane biblioteki.
pip install python-dotenv żąda Flask slack-bolt
The python-dotenv biblioteka pozwoli ci załadować zmienne środowiskowe w pliku .env. The upraszanie biblioteka umożliwia wysyłanie żądań HTTP i Kolba obsługuje przychodzące żądania HTTP i odpowiedzi zwrotne. Luźna śruba obsługuje przychodzące żądania Slack.
Otwórz plik .env i utwórz dwie zmienne środowiskowe. Nazwij je BOT_TOKEN I SIGNING_SECRET odpowiednio. Przejdź do witryny Slack API. Pod Twoją aplikacją Podstawowe informacje skopiuj tajny podpis i użyj go do zainicjowania zmiennej BOT_TOKEN. Przejdź do funkcji OAuth i uprawnienia i skopiuj token OAuth użytkownika bota. Użyj go do zainicjowania zmiennej SIGNING_SECRET.
Token bota to unikalny identyfikator, który uwierzytelnia Twoją aplikację za pomocą interfejsu API Slacka podczas wykonywania wywołań interfejsu API. Sekret podpisu weryfikuje, czy żądania przychodzące do Twojej aplikacji pochodzą ze Slacka.
Pełny kod źródłowy jest dostępny w formacie Repozytorium GitHub.
Zaimportuj wymagane biblioteki i moduły.
import os
z pathlib import Ścieżka
z dotenv import ładuj_dotenv
import upraszanie
z kolba import Kolba, prośba, jsonify
z luz_bolt import Aplikacja
z slack_bolt.adapter.flask import SlackRequestHandler
Utwórz nową instancję aplikacji Flask.
aplikacja = Kolba (__nazwa__)
Załaduj zmienne środowiskowe z pliku .env przy użyciu load_dotenv() funkcjonować.
ścieżka_środowiska = Ścieżka ('.') / '.env'
load_dotenv (dotenv_path=env_path)
Utwórz nową instancję aplikacji Slack za pomocą Aplikacja klasa z biblioteki slack_bolt.
slack_app = aplikacja (
token=os.środowisko[„BOT_TOKEN”],
Signing_secret=os.environ[„SIGNING_SECRET”]
)
Utwórz funkcję obsługi trasy, która obsługuje żądania przychodzące do /slack/command punkt końcowy. Gdy punkt końcowy otrzyma a POST request, analizuje dane treści żądania. Następnie sprawdza, czy polecenie jest /joke. Jeśli tak, nazywa się get_joke() funkcji i zwraca odpowiedź JSON do Slacka z wynikiem polecenia.
@app.route("/slack/command", metody=["POST"])
pokKomenda():
# Przeanalizuj dane treści żądania
dane = wniosek.formularz# Wywołaj odpowiednią funkcję na podstawie polecenia ukośnika
Jeśli dane["Komenda"] == "/żart":
wiadomość = pobierz_żart()
w przeciwnym razie:
wiadomość = f"Nieprawidłowe polecenie: {dane['Komenda']}"
# Zwróć odpowiedź do Slacka
powrót jsonify({"tekst": wiadomość})
Utwórz funkcję, która wysyła żądanie GET do icanhazdadżart API do pobierania losowego żartu w formacie JSON. Następnie zwraca żart jako ciąg znaków.
pokget_żart():
adres URL = " https://icanhazdadjoke.com/"
nagłówki = {"Zaakceptować": "aplikacja/json"}
response = request.get (url, headers=headers, timeout=5)
żart = odpowiedź.json()["żart"]
powrót żart
Utwórz nową instancję a SlackRequestHandler obiekt, który będzie obsługiwał żądania przychodzące ze Slacka.
handler = SlackRequestHandler (slack_app)
Sprawdź, czy skrypt jest uruchamiany bezpośrednio, a jeśli tak, uruchom aplikację Flask na porcie 5000.
Jeśli __nazwa__ == "__główny__":
# Uruchom aplikację Flask na porcie 5000
app.run (port=5000, debugowanie=PRAWDA)
Uruchom program, aby uruchomić serwer działający na hoście lokalnym.
Aby program mógł komunikować się ze Slackiem, potrzebujesz adresu URL, do którego może uzyskać dostęp przez Internet. Pobierz i uruchom ngrok. The Oprogramowanie ngrok umożliwia utworzenie bezpiecznego publicznego adresu URL który tuneluje ruch do serwera sieciowego uruchomionego na twoim komputerze.
Uruchom następujące polecenie, aby uzyskać publiczny adres URL:
ngrok http 5000
Poniższy obraz pokazuje publiczny adres URL na ngrok, zaznaczony na biało.
Skopiuj adres URL i przejdź do witryny Slack API. Kliknij na Komendy ukośne funkcja. Zmodyfikuj polecenie /joke i zastąp symbol zastępczy adresu URL żądania swoim publicznym adresem URL. Dodaj /slack/events na końcu adresu URL, aby wskazać punkt końcowy.
Przejdź do obszaru roboczego, a następnie wpisz i wyślij polecenie /joke. W odpowiedzi powinieneś zobaczyć żart:
Zapoznaj się z innymi funkcjami Slacka
Slack ma wiele funkcji do zaoferowania poza poleceniami Slash. Zapoznanie się z tymi funkcjami pozwoli ci zrozumieć, jak działają.
Następnie możesz poszukać sposobów dostosowania ich do wymagań swojego obszaru roboczego. Zwiększy to produktywność Twojego zespołu.