Slack je pohodlný a obľúbený nástroj, ktorý môžete vylepšiť vlastnými príkazmi prispôsobenými vašej organizácii.

Slack je nástroj, ktorý umožňuje tímom komunikovať a spolupracovať. Jednou z jeho kľúčových vlastností je použitie príkazov lomítka. Tieto príkazy spúšťajú špecifické akcie alebo integrácie v rámci platformy.

Zatiaľ čo vám Slack poskytuje niekoľko vstavaných príkazov lomky, môžete si vytvoriť vlastné príkazy pomocou rozhrania API Slack. Potom môžete nakonfigurovať vlastný príkaz na vykonanie určitej úlohy, keď ju spustí používateľ.

Prečo vytvoriť vlastný príkaz lomky v Slacku?

Vstavané príkazy lomítka Slack nemusia vyhovovať špecifickým potrebám vášho tímu alebo organizácie. Vytvorením vlastných príkazov lomky môžete pre svoj tím vytvoriť prispôsobenejšie prostredie. To následne zvyšuje angažovanosť tímu.

Nastavenie aplikácie Slack

Ak chcete pokračovať, mali by ste byť spokojní s základné použitie Slacku. Prihláste sa do svojho účtu Slack v prehliadači a vytvorte nový pracovný priestor. Tento pracovný priestor použijete na testovanie aplikácií predtým, ako ich použijete v pracovnom priestore svojho tímu.

instagram viewer

Otvorte ďalšiu kartu a prejdite na Web Slack API.

Klikni na Vytvorte aplikáciu tlačidlo. Na ďalšej stránke, ktorá sa zobrazí, vyberte možnosť vytvorenia aplikácie Od nuly.

Pomenujte aplikáciu a vyberte pracovný priestor, v ktorom bude aplikácia fungovať.

Kliknite na Vytvoriť aplikáciu tlačidlo. Toto vás presmeruje na stránku, ktorá obsahuje základné informácie o vašej aplikácii.

V sekcii funkcií prejdite na OAuth a povolenia a potom prejdite nadol na Rozsahy tokenov robotov. Pridaj chat: písať priestor pre vašu aplikáciu. Tento rozsah umožní vašej aplikácii odosielať správy do pracovného priestoru.

Prejdite nahor na Tokeny OAuth pre váš pracovný priestor a kliknite na položku Inštalovať do pracovného priestoru tlačidlo.

Na ďalšej stránke, ktorá sa zobrazí, kliknite na Povoliť tlačidlo. Týmto sa aplikácia nainštaluje do vášho pracovného priestoru.

Vytvorenie vlastného príkazu Slash pomocou Slack API

Po nastavení aplikácie Slack musíte vytvoriť vlastný príkaz pre úlohu, ktorú chcete vykonať. Napríklad príkaz lomítko, ktorý používateľovi vráti vtip. Prejdite na Príkazy lomky vlastnosť. Klikni na Vytvoriť nový príkaz tlačidlo.

Vyplňte Príkaz, URL žiadosti, a Stručný opis príkazu, ktorý chcete vytvoriť. Adresa URL požiadavky je koncový bod, na ktorý Slack odošle požiadavku POST, keď používateľ spustí príkaz. Použite adresu URL localhost ako zástupný symbol; túto adresu URL zmeníte neskôr.

Kliknite na Uložiť. Keď uložíte, Slack automaticky pridá rozsah príkazov pre vašu aplikáciu. Tento rozsah umožňuje vašej aplikácii pridávať skratky a príkazy lomky, ktoré môžu používať ľudia vo vašom pracovnom priestore. Zmena rozsahov bude vyžadovať preinštalovanie aplikácie. Klikni na preinštalujte svoju aplikáciu tlačidlo.

Na stránke, ktorá sa zobrazí ďalej, kliknite na možnosť Povoliť preinštalovanie aplikácie vo vašom pracovnom priestore.

Konfigurácia správania príkazu Slash

Spustite akékoľvek IDE Pythonu. Vytvorte nové virtuálne prostredie. Vytvorte nový súbor Python a nový súbor .env. Na termináli spustite nasledujúci príkaz na inštaláciu požadovaných knižníc.

pip install python-dotenv požaduje Flask slack-bolt

The python-dotenv knižnica vám umožní načítať premenné prostredia v súbore .env. The žiadosti knižnica vám umožňuje vytvárať požiadavky HTTP a Banka spracováva prichádzajúce HTTP požiadavky a vracajú odpovede. Slack-bolt spracováva prichádzajúce požiadavky Slack.

Otvorte súbor .env a vytvorte dve premenné prostredia. Pomenujte ich BOT_TOKEN a SIGNING_SECRET resp. Prejdite na webovú stránku Slack API. Pod vašou aplikáciou Základné informácie skopírujte podpisové tajomstvo a použite ho na inicializáciu premennej BOT_TOKEN. Prejdite na funkciu OAuth & Permissions a skopírujte token OAuth používateľa robota. Použite ho na inicializáciu premennej SIGNING_SECRET.

Token bota je jedinečný identifikátor, ktorý overuje vašu aplikáciu pomocou Slack's API pri volaní API. Tajomstvo podpisu overuje, že prichádzajúce požiadavky do vašej aplikácie pochádzajú zo Slacku.

Úplný zdrojový kód je dostupný v a úložisko GitHub.

Importujte požadované knižnice a moduly.

importovať os
od pathlib importovať Cesta
od dotenv importovať load_dotenv
importovať žiadosti
od banke importovať Banka, žiadosť, jsonify
od slack_bolt importovať App
od slack_bolt.adapter.flask importovať SlackRequestHandler

Vytvorte novú inštanciu aplikácie Flask.

app = Banka (__name__)

Načítajte premenné prostredia zo súboru .env pomocou súboru load_dotenv() funkciu.

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

Vytvorte novú inštanciu aplikácie Slack pomocou App triedy z knižnice slack_bolt.

slack_app = Aplikácia(
token=os.environ[„BOT_TOKEN“],
signing_secret=os.environ[„SIGNING_SECRET“]
)

Vytvorte funkciu obsluhy smerovania, ktorá spracováva prichádzajúce požiadavky na server /slack/command koncový bod. Keď koncový bod prijme a POST žiadosť, analyzuje údaje tela žiadosti. Potom skontroluje, či je príkaz /joke. Ak áno, volá sa get_joke() a vráti odpoveď JSON Slack s výsledkom príkazu.

@app.route("/slack/command", methods=["POST"])
defpríkaz():
# Analyzujte údaje tela žiadosti
údaje = žiadosť.formulár

# Zavolajte príslušnú funkciu na základe príkazu lomka
ak údaje["príkaz"] == "/vtip":
správa = get_joke()
inak:
správa = f"Neplatný príkaz: {údaje['príkaz']}"

# Vrátiť odpoveď Slackovi
vrátiť jsonify({"text": správa})

Vytvorte funkciu, ktorá odošle požiadavku GET do icanhazdadjoke API na získanie náhodného vtipu vo formáte JSON. Potom vráti vtip ako reťazec.

defget_joke():
url = " https://icanhazdadjoke.com/"
hlavičky = {"Súhlasiť": "application/json"}
odpoveď = request.get (url, hlavičky=hlavičky, časový limit=5)
vtip = response.json()["vtip"]
vrátiť vtip

Vytvorte novú inštanciu a SlackRequestHandler objekt, ktorý bude spracovávať prichádzajúce požiadavky zo Slacku.

handler = SlackRequestHandler (slack_app)

Skontrolujte, či sa skript spúšťa priamo, a ak áno, spustite aplikáciu Flask na porte 5000.

ak __meno__ == "__Hlavná__":
# Spustite aplikáciu Flask na porte 5000
app.run (port=5000, ladiť =Pravda)

Spustite program na spustenie servera bežiaceho na localhost.

Aby program mohol komunikovať so Slackom, potrebujete adresu URL, ku ktorej má prístup cez internet. Stiahnite si a spustite ngrok. The ngrok softvér vám umožňuje vytvoriť zabezpečenú verejnú adresu URL ktorý tuneluje prevádzku na webový server spustený na vašom počítači.

Ak chcete získať verejnú adresu URL, spustite nasledujúci príkaz:

ngrok http 5000

Obrázok nižšie zobrazuje verejnú adresu URL na ngrok, zvýraznenú bielou farbou.

Skopírujte URL a prejdite na webovú stránku Slack API. Klikni na Príkazy lomky vlastnosť. Upravte príkaz /joke a nahraďte zástupný symbol adresy URL požiadavky svojou verejnou adresou URL. Pridajte /slack/events na koniec adresy URL, aby ukazoval na váš koncový bod.

Prejdite do svojho pracovného priestoru, zadajte a odošlite príkaz /joke. V odpovedi by ste mali vidieť vtip:

Oboznámte sa s ďalšími funkciami Slack

Slack má veľa funkcií, ktoré ponúka nad rámec príkazov Slash. Oboznámenie sa s týmito funkciami vám umožní pochopiť, ako fungujú.

Potom môžete hľadať spôsoby, ako ich prispôsobiť požiadavkám vášho pracovného priestoru. Zvýšite tak produktivitu vášho tímu.