Slack er et praktisk og populært verktøy som du kan forbedre med dine egne kommandoer, skreddersydd for din organisasjon.

Slack er et verktøy som lar team kommunisere og samarbeide. En av nøkkelfunksjonene er bruken av skråstrekkommandoer. Disse kommandoene utløser spesifikke handlinger eller integrasjoner innenfor plattformen.

Mens Slack gir deg flere innebygde skråstrekkommandoer, kan du lage egendefinerte kommandoer ved å bruke Slacks API. Du kan deretter konfigurere den egendefinerte kommandoen til å utføre en bestemt oppgave når en bruker utløser den.

Hvorfor opprette en tilpasset skråstrek-kommando i Slack?

Slacks innebygde skråstrek-kommandoer dekker kanskje ikke de spesifikke behovene til teamet eller organisasjonen din. Ved å lage tilpassede skråstrekkommandoer kan du skape en mer personlig opplevelse for teamet ditt. Dette øker igjen lagets engasjement.

Sette opp en Slack-app

For å følge opp, bør du være komfortabel med grunnleggende bruk av Slack. Logg på Slack-kontoen din i nettleseren og lag et nytt arbeidsområde. Du vil bruke dette arbeidsområdet til å teste appene dine før du bruker dem i teamets arbeidsområde.

instagram viewer

Åpne en annen fane og naviger til Slack API-nettsted.

Klikk på Lag en app knapp. På neste side som vises, velg alternativet for å opprette en app Fra bunnen av.

Gi appen et navn og velg arbeidsområdet der appen skal fungere.

Klikk på Lag app knapp. Dette vil omdirigere deg til en side som inneholder grunnleggende informasjon om appen din.

I funksjonsdelen, naviger til OAuth og tillatelser og bla ned til Bot Token Scopes. Legg til en chat: skriv omfanget for appen din. Dette omfanget lar appen din sende meldinger til arbeidsområdet.

Rull opp til OAuth-tokens for arbeidsområdet ditt delen, og klikk på Installer til Workspace knapp.

På neste side som vises, klikk på Tillate knapp. Dette vil installere appen på arbeidsområdet ditt.

Opprette en tilpasset skråstrek-kommando ved å bruke Slack API

Etter å ha satt opp Slack-appen, må du lage en egendefinert kommando for oppgaven du vil utføre. For eksempel en skråstrek-kommando som returnerer en vits til brukeren. Naviger til Slash-kommandoer trekk. Klikk på Opprett ny kommando knapp.

Fyll ut Kommando, Be om URL, og Kort beskrivelse av kommandoen du vil opprette. Request URL er endepunktet som Slack sender en POST-forespørsel til når en bruker utløser kommandoen. Bruk en URL for lokal vert som plassholder; du vil bytte denne URL-en senere.

Klikk på Lagre. Når du lagrer, legger Slack til et kommandoomfang for appen din automatisk. Dette omfanget lar appen din legge til snarveier og skråstrekkommandoer som folk i arbeidsområdet ditt kan bruke. Hvis du endrer omfanget, må du installere appen på nytt. Klikk på installer appen på nytt knapp.

Klikk på tillat å installere appen på nytt på arbeidsområdet på siden som vises.

Konfigurere skråstrek-kommandoens oppførsel

Start hvilken som helst Python IDE. Lag et nytt virtuelt miljø. Opprett en ny Python-fil og en ny .env-fil. På terminalen, kjør følgende kommando for å installere de nødvendige bibliotekene.

pip install python-dotenv forespørsler Flask slack-bolt

De python-dotenv biblioteket lar deg laste inn miljøvariablene i .env-filen. De forespørsler bibliotek lar deg lage HTTP-forespørsler og Kolbe håndterer innkommende HTTP-forespørsler og retursvar. Slakk-bolt håndterer innkommende Slack-forespørsler.

Åpne .env-filen og lag to miljøvariabler. Gi dem et navn BOT_TOKEN og SIGNING_SECRET hhv. Naviger til Slack API-nettstedet. Under appen din Grunnleggende informasjon kopier signeringshemmeligheten og bruk den til å initialisere BOT_TOKEN-variabelen. Naviger til funksjonen OAuth og tillatelser og kopier Bot User OAuth Token. Bruk den til å initialisere variabelen SIGNING_SECRET.

Bot-tokenet er en unik identifikator som autentiserer appen din med Slacks API når du foretar API-kall. Signeringshemmeligheten bekrefter at innkommende forespørsler til appen din kommer fra Slack.

Den fullstendige kildekoden er tilgjengelig i en GitHub-depot.

Importer de nødvendige bibliotekene og modulene.

import os
fra stilib import Sti
fra dotenv import load_dotenv
import forespørsler
fra kolbe import Flask, request, jsonify
fra slack_bolt import App
fra slack_bolt.adapter.flask import SlackRequestHandler

Opprett en ny forekomst av en Flask-applikasjon.

app = Kolbe (__navn__)

Last inn miljøvariablene fra .env-filen ved hjelp av load_dotenv() funksjon.

env_path = Bane('.') / '.env'
load_dotenv (dotenv_path=env_path)

Opprett en ny forekomst av en Slack-app ved å bruke App klasse fra slack_bolt-biblioteket.

slack_app = App(
token=os.environ['BOT_TOKEN'],
signing_secret=os.environ['SIGNING_SECRET']
)

Opprett en rutebehandlerfunksjon som håndterer innkommende forespørsler til /slack/command endepunkt. Når endepunktet mottar en POST forespørsel, analyserer den forespørselens kroppsdata. Den sjekker deretter om kommandoen er /joke. I så fall kaller den få_vits() funksjon og returnerer et JSON-svar til Slack med resultatet av kommandoen.

@app.route("/slack/command", methods=["POST"])
defkommando():
# Parse forespørselens kroppsdata
data = request.form

# Anrop den aktuelle funksjonen basert på skråstrek-kommandoen
hvis data["kommando"] == "/vits":
melding = få_vits()
ellers:
melding = f"Ugyldig kommando: {data['kommando']}"

# Returner svar til Slack
komme tilbake jsonify({"tekst": beskjed})

Opprett en funksjon som sender en GET-forespørsel til icanhazdad-vits API for å hente en tilfeldig vits i JSON-format. Den returnerer deretter vitsen som en streng.

deffå_vits():
url = " https://icanhazdadjoke.com/"
overskrifter = {"Aksepterer": "applikasjon/json"}
respons = requests.get (url, headers=headers, timeout=5)
spøk = respons.json()["vits"]
komme tilbake vits

Opprett en ny forekomst av en SlackRequestHandler objekt som vil håndtere innkommende forespørsler fra Slack.

handler = SlackRequestHandler (slack_app)

Sjekk om skriptet kjøres direkte, og hvis det er det, start Flask-applikasjonen på port 5000.

hvis __navn__ == "__hoved__":
# Start Flask-appen på port 5000
app.run (port=5000, debug=ekte)

Kjør programmet for å starte serveren som kjører på localhost.

For at programmet skal kommunisere med Slack, trenger du en URL som det kan få tilgang til over internett. Last ned og kjør ngrok. De ngrok programvare lar deg lage en sikker offentlig URL som tunnelerer trafikk til en webserver som kjører på datamaskinen din.

Kjør følgende kommando for å få den offentlige URLen:

ngrok http 5000

Bildet nedenfor viser den offentlige nettadressen på ngrok, uthevet i hvitt.

Kopier URL-en og naviger til Slack API-nettstedet. Klikk på Slash-kommandoer trekk. Rediger /joke-kommandoen og erstatt plassholderen for forespørsels-URL med din offentlige URL. Legg til /slack/events på slutten av URL-en for å peke til endepunktet ditt.

Gå til arbeidsområdet ditt, skriv og send /joke-kommandoen. Du bør se en vits som svar:

Gjør deg kjent med andre Slack-funksjoner

Slack har mange funksjoner å tilby utover Slash-kommandoer. Å gjøre deg kjent med disse funksjonene vil gjøre deg i stand til å forstå hvordan de fungerer.

Du kan deretter se etter måter å tilpasse dem til arbeidsområdets krav. Dette vil øke produktiviteten til teamet ditt.