Slack är ett bekvämt och populärt verktyg som du kan förbättra med dina egna kommandon, skräddarsydda för din organisation.
Slack är ett verktyg som låter team kommunicera och samarbeta. En av dess nyckelfunktioner är användningen av snedstreckkommandon. Dessa kommandon utlöser specifika åtgärder eller integrationer inom plattformen.
Medan Slack ger dig flera inbyggda snedstreckkommandon, kan du skapa anpassade kommandon med hjälp av Slacks API. Du kan sedan konfigurera det anpassade kommandot för att utföra en viss uppgift när en användare utlöser den.
Varför skapa ett anpassat Slash-kommando i Slack?
Slacks inbyggda snedstreckkommandon kanske inte tillgodoser de specifika behoven hos ditt team eller din organisation. Genom att skapa anpassade snedstreckkommandon kan du skapa en mer personlig upplevelse för ditt team. Detta ökar i sin tur lagets engagemang.
Konfigurera en Slack-app
För att fullfölja, bör du vara bekväm med grundläggande användning av Slack. Logga in på ditt Slack-konto i webbläsaren och skapa en ny arbetsyta. Du kommer att använda den här arbetsytan för att testa dina appar innan du använder dem i ditt teams arbetsyta.
Öppna en annan flik och navigera till Slack API-webbplats.
Klicka på Skapa en app knapp. På nästa sida som visas väljer du alternativet för att skapa en app Från början.
Namnge appen och välj den arbetsyta där appen ska fungera.
Klicka på Skapa app knapp. Detta omdirigerar dig till en sida som innehåller grundläggande information om din app.
I avsnittet funktioner, navigera till OAuth och behörigheter funktionen och scrolla sedan ned till Bot Token Scopes. Lägg till en chatt: skriv utrymme för din app. Detta omfång gör att din app kan skicka meddelanden till arbetsytan.
Scrolla upp till OAuth-tokens för din arbetsyta och klicka på Installera till Workspace knapp.
På nästa sida som visas klickar du på Tillåta knapp. Detta kommer att installera appen på din arbetsyta.
Skapa ett anpassat Slash-kommando med Slack API
Efter att ha konfigurerat Slack-appen måste du skapa ett anpassat kommando för uppgiften du vill utföra. Till exempel ett snedstreck kommando som returnerar ett skämt till användaren. Navigera till Slash-kommandon funktion. Klicka på Skapa nytt kommando knapp.
Fyll i Kommando, Begär URL, och kort beskrivning av kommandot du vill skapa. Request URL är slutpunkten som Slack skickar en POST-begäran till när en användare utlöser kommandot. Använd en localhost-URL som platshållare; du kommer att byta denna URL senare.
Klicka på Spara. När du sparar lägger Slack till ett kommandoomfång för din app automatiskt. Det här omfånget låter din app lägga till genvägar och snedstreckkommandon som personer i din arbetsyta kan använda. Om du ändrar omfattningarna måste du installera om appen. Klicka på installera om din app knapp.
På sidan som visas härnäst klickar du på tillåt ominstallation av appen på din arbetsyta.
Konfigurera Slash-kommandots beteende
Starta valfri Python IDE. Skapa en ny virtuell miljö. Skapa en ny Python-fil och en ny .env-fil. Kör följande kommando på terminalen för att installera de nödvändiga biblioteken.
pip installation python-dotenv begär Flask slack-bolt
De python-dotenv biblioteket låter dig ladda miljövariablerna i .env-filen. De förfrågningar biblioteket låter dig göra HTTP-förfrågningar och Flaska hanterar inkommande HTTP-förfrågningar och retursvar. Slack-bult hanterar inkommande Slack-förfrågningar.
Öppna .env-filen och skapa två miljövariabler. Namnge dem BOT_TOKEN och SIGNING_SECRET respektive. Navigera till Slack API-webbplatsen. Under din app Grundläggande information kopiera signeringshemligheten och använd den för att initiera variabeln BOT_TOKEN. Navigera till funktionen OAuth & Permissions och kopiera Bot User OAuth Token. Använd den för att initiera variabeln SIGNING_SECRET.
Bottoken är en unik identifierare som autentiserar din app med Slacks API när du gör API-anrop. Signeringshemligheten verifierar att inkommande förfrågningar till din app kommer från Slack.
Den fullständiga källkoden finns tillgänglig i en GitHub-förråd.
Importera nödvändiga bibliotek och moduler.
importera os
från pathlib importera Väg
från dotenv importera load_dotenv
importera förfrågningar
från flaska importera Flask, request, jsonify
från slack_bolt importera App
från slack_bolt.adapter.flask importera SlackRequestHandler
Skapa en ny instans av en Flask-applikation.
app = Kolv (__namn__)
Ladda miljövariablerna från .env-filen med hjälp av load_dotenv() fungera.
env_path = Sökväg('.') / '.env'
load_dotenv (dotenv_path=env_path)
Skapa en ny instans av en Slack-app med hjälp av App klass från slack_bolt-biblioteket.
slack_app = App(
token=os.environ['BOT_TOKEN'],
signing_secret=os.environ['SIGNING_SECRET']
)
Skapa en rutthanterarfunktion som hanterar inkommande förfrågningar till /slack/command slutpunkt. När slutpunkten får en POSTA begäran, tolkar den förfrågans kroppsdata. Den kontrollerar sedan om kommandot är /joke. Om så är fallet, kallar det get_joke() funktion och returnerar ett JSON-svar till Slack med resultatet av kommandot.
@app.route("/slack/command", methods=["POST"])
defkommando():
# Analysera begärans kroppsdata
data = request.form# Anropa lämplig funktion baserat på kommandot snedstreck
om data["kommando"] == "/skämt":
meddelande = get_joke()
annan:
meddelande = f"Ogiltigt kommando: {data['kommando']}"
# Returnera svar till Slack
lämna tillbaka jsonify({"text": meddelande})
Skapa en funktion som skickar en GET-förfrågan till icanhazdadjoke API för att hämta ett slumpmässigt skämt i JSON-format. Den returnerar sedan skämtet som en sträng.
defskämta():
url = " https://icanhazdadjoke.com/"
rubriker = {"Acceptera": "applikation/json"}
response = requests.get (url, headers=headers, timeout=5)
skämt = response.json()["skämt"]
lämna tillbaka skämt
Skapa en ny instans av en SlackRequestHandler objekt som kommer att hantera inkommande förfrågningar från Slack.
hanterare = SlackRequestHandler (slack_app)
Kontrollera om skriptet körs direkt och, om det är det, starta Flask-applikationen på port 5000.
om __namn__ == "__huvud__":
# Starta Flask-appen på port 5000
app.run (port=5000, debug=Sann)
Kör programmet för att starta servern som körs på localhost.
För att programmet ska kunna kommunicera med Slack behöver du en URL som det kan komma åt över internet. Ladda ner och kör ngrok. De ngrok programvara låter dig skapa en säker offentlig URL som tunnlar trafik till en webbserver som körs på din dator.
Kör följande kommando för att få den offentliga URL: en:
ngrok http 5000
Bilden nedan visar den offentliga webbadressen på ngrok, markerad i vitt.
Kopiera URL: en och navigera till Slack API-webbplatsen. Klicka på Slash-kommandon funktion. Redigera kommandot /joke och ersätt platshållaren för begäran-URL med din offentliga URL. Lägg till /slack/events i slutet av URL: en för att peka på din slutpunkt.
Gå till din arbetsyta, skriv och skicka kommandot /joke. Du borde se ett skämt som svar:
Bekanta dig med andra Slack-funktioner
Slack har många funktioner att erbjuda utöver Slash-kommandon. Genom att bekanta dig med dessa funktioner kan du förstå hur de fungerar.
Du kan sedan leta efter sätt att anpassa dem till din arbetsytas krav. Detta kommer att öka produktiviteten i ditt team.