Slack este un instrument convenabil și popular pe care îl puteți îmbunătăți cu propriile comenzi, adaptate organizației dvs.

Slack este un instrument care permite echipelor să comunice și să colaboreze. Una dintre caracteristicile sale cheie este utilizarea comenzilor slash. Aceste comenzi declanșează acțiuni specifice sau integrări în cadrul platformei.

În timp ce Slack vă oferă mai multe comenzi slash încorporate, puteți crea comenzi personalizate folosind API-ul Slack. Puteți configura apoi comanda personalizată pentru a efectua o anumită sarcină atunci când un utilizator o declanșează.

De ce să creați o comandă Slash personalizată în Slack?

Este posibil ca comenzile slash încorporate ale Slack să nu răspundă nevoilor specifice ale echipei sau organizației dvs. Prin crearea comenzilor slash personalizate, puteți crea o experiență mai personalizată pentru echipa dvs. Aceasta, la rândul său, crește implicarea echipei.

Configurarea unei aplicații Slack

Pentru a continua, ar trebui să vă simțiți confortabil cu

instagram viewer
utilizarea de bază a Slack. Conectați-vă la contul dvs. Slack în browser și creați un nou spațiu de lucru. Veți folosi acest spațiu de lucru pentru a vă testa aplicațiile înainte de a le utiliza în spațiul de lucru al echipei dvs.

Deschideți o altă filă și navigați la Site-ul web Slack API.

Faceți clic pe Creați o aplicație buton. Pe următoarea pagină care apare, alegeți opțiunea de a crea o aplicație De la zero.

Denumiți aplicația și selectați spațiul de lucru în care va funcționa aplicația.

Apasă pe Creați aplicație buton. Aceasta vă va redirecționa către o pagină care conține informațiile de bază despre aplicația dvs.

În secțiunea de funcții, navigați la OAuth și Permisiuni funcția, apoi derulați în jos la Scopuri pentru token bot. Adauga o chat: scrie domeniul de aplicare pentru aplicația dvs. Acest domeniu va permite aplicației dvs. să trimită mesaje către spațiul de lucru.

Derulați în sus la Jetoane OAuth pentru spațiul dvs. de lucru secțiunea și faceți clic pe Instalați în spațiul de lucru buton.

Pe următoarea pagină care apare, faceți clic pe Permite buton. Aceasta va instala aplicația în spațiul dvs. de lucru.

Crearea unei comenzi Slash personalizată folosind API-ul Slack

După configurarea aplicației Slack, trebuie să creați o comandă personalizată pentru sarcina pe care doriți să o îndepliniți. De exemplu, o comandă slash care returnează o glumă utilizatorului. Navigați la Comenzi Slash caracteristică. Faceți clic pe Creați o comandă nouă buton.

Completați Comanda, Solicitare URL, și scurta descriere a comenzii pe care doriți să o creați. Adresa URL de solicitare este punctul final la care Slack trimite o solicitare POST atunci când un utilizator declanșează comanda. Utilizați o adresă URL localhost ca substituent; veți schimba această adresă URL mai târziu.

Click pe Salvați. Când salvați, Slack adaugă automat un domeniu de comenzi pentru aplicația dvs. Acest domeniu permite aplicației dvs. să adauge comenzi rapide și comenzi slash pe care oamenii din spațiul dvs. de lucru le pot folosi. Modificarea domeniilor va necesita să reinstalați aplicația. Faceți clic pe reinstalați aplicația buton.

Pe pagina care apare în continuare, faceți clic pe Permiteți reinstalarea aplicației în spațiul dvs. de lucru.

Configurarea comportamentului comenzii Slash

Lansați orice IDE Python. Creați un nou mediu virtual. Creați un nou fișier Python și un nou fișier .env. Pe terminal, rulați următoarea comandă pentru a instala bibliotecile necesare.

pip install python-dotenv solicită Flask slack-bolt

The python-dotenv biblioteca vă va permite să încărcați variabilele de mediu în fișierul .env. The cereri biblioteca vă permite să faceți solicitări HTTP și Balon se ocupă de solicitările HTTP de intrare și de răspunsuri returnate. Șurub slăbit se ocupă de solicitările Slack primite.

Deschideți fișierul .env și creați două variabile de mediu. Numiți-le BOT_TOKEN și SIGNING_SECRET respectiv. Navigați la site-ul web Slack API. Sub aplicația dvs Informatii de baza copiați secretul de semnare și utilizați-l pentru a inițializa variabila BOT_TOKEN. Navigați la caracteristica OAuth și Permisiuni și copiați Tokenul OAuth utilizator Bot. Folosiți-l pentru a inițializa variabila SIGNING_SECRET.

Indicatorul bot este un identificator unic care vă autentifică aplicația cu API-ul Slack atunci când efectuați apeluri API. Secretul de semnare verifică dacă solicitările primite către aplicația dvs. provin de la Slack.

Codul sursă complet este disponibil în a Depozitul GitHub.

Importați bibliotecile și modulele necesare.

import os
din calea lib import cale
din dotenv import load_dotenv
import cereri
din balon import Flacon, cerere, jsonify
din slack_bolt import App
din slack_bolt.adaptor.balon import SlackRequestHandler

Creați o nouă instanță a unei aplicații Flask.

aplicație = Balon (__nume__)

Încărcați variabilele de mediu din fișierul .env folosind load_dotenv() funcţie.

env_path = Cale('.') / „.env”
load_dotenv (dotenv_path=env_path)

Creați o nouă instanță a unei aplicații Slack folosind App clasa din biblioteca slack_bolt.

slack_app = Aplicație(
token=os.environ[„BOT_TOKEN”],
signing_secret=os.environ[„SIGNING_SECRET”]
)

Creați o funcție de gestionare a rutei care gestionează cererile primite către /slack/command punct final. Când punctul final primește a POST cerere, analizează datele corpului cererii. Apoi verifică dacă comanda este /joke. Dacă da, se numește get_joke() funcția și returnează un răspuns JSON la Slack cu rezultatul comenzii.

@app.route("/slack/command", metode=["POST"])
defcomanda():
# Analizați datele corpului cererii
date = cerere.form

# Apelați funcția corespunzătoare pe baza comenzii slash
dacă date["comanda"] == "/glumă":
mesaj = get_joke()
altfel:
mesaj = f"Comandă nevalidă: {date['comanda']}"

# Reveniți răspunsul la Slack
întoarcere jsonify({"text": mesaj})

Creați o funcție care trimite o solicitare GET către icanhazdadjoke API pentru a prelua o glumă aleatorie în format JSON. Apoi returnează gluma ca șir.

defget_joke():
url = " https://icanhazdadjoke.com/"
antete = {"Accept": "aplicație/json"}
răspuns = requests.get (url, headers=headers, timeout=5)
glumă = răspuns.json()["glumă"]
întoarcere glumă

Creați o nouă instanță a unui SlackRequestHandler obiect care va gestiona cererile primite de la Slack.

handler = SlackRequestHandler (slack_app)

Verificați dacă scriptul este rulat direct și, dacă este, porniți aplicația Flask pe portul 5000.

dacă __nume__ == "__principal__":
# Porniți aplicația Flask pe portul 5000
app.run (port=5000, depanare=Adevărat)

Rulați programul pentru a porni serverul care rulează pe localhost.

Pentru ca programul să comunice cu Slack, aveți nevoie de o adresă URL pe care să o poată accesa prin internet. Descărcați și rulați ngrok. The software-ul ngrok vă permite să creați o adresă URL publică securizată care tunele traficul către un server web care rulează pe computerul dvs.

Rulați următoarea comandă pentru a obține adresa URL publică:

ngrok http 5000

Imaginea de mai jos arată adresa URL publică a ngrok, evidențiată în alb.

Copiați adresa URL și navigați la site-ul web Slack API. Faceți clic pe Comenzi Slash caracteristică. Editați comanda /joke și înlocuiți substituentul adresei URL de solicitare cu adresa dvs. URL publică. Adăugați /slack/events la sfârșitul adresei URL pentru a indica punctul dvs. final.

Accesați spațiul dvs. de lucru, apoi tastați și trimiteți comanda /joke. Ar trebui să vedeți o glumă ca răspuns:

Familiarizați-vă cu alte funcții Slack

Slack are o mulțime de funcții de oferit dincolo de comenzile Slash. Familiarizarea cu aceste caracteristici vă va permite să înțelegeți cum funcționează.

Apoi, puteți căuta modalități de a le personaliza la cerințele spațiului dvs. de lucru. Acest lucru va crește productivitatea echipei dvs.