Slack je praktičan i popularan alat koji možete poboljšati vlastitim naredbama, prilagođenim vašoj organizaciji.
Slack je alat koji timovima omogućuje komunikaciju i suradnju. Jedna od njegovih ključnih značajki je korištenje naredbi kose crte. Ove naredbe pokreću određene akcije ili integracije unutar platforme.
Iako vam Slack nudi nekoliko ugrađenih naredbi za kosu crtu, možete izraditi prilagođene naredbe koristeći Slackov API. Zatim možete konfigurirati prilagođenu naredbu za izvođenje određenog zadatka kada je korisnik pokrene.
Zašto stvoriti naredbu prilagođene kose crte u Slacku?
Slackove ugrađene naredbe kose crte možda neće zadovoljiti specifične potrebe vašeg tima ili organizacije. Stvaranjem prilagođenih naredbi kose crte možete stvoriti personaliziranije iskustvo za svoj tim. To zauzvrat povećava angažman tima.
Postavljanje Slack aplikacije
Da biste ga slijedili, trebali biste se osjećati ugodno s osnovno korištenje Slacka. Prijavite se na svoj Slack račun u pregledniku i izradite novi radni prostor. Koristit ćete ovaj radni prostor za testiranje svojih aplikacija prije nego što ih upotrijebite u radnom prostoru svog tima.
Otvorite drugu karticu i idite na Slack API web stranica.
Klikni na Napravite aplikaciju dugme. Na sljedećoj stranici koja se pojavi odaberite opciju za izradu aplikacije Od nule.
Imenujte aplikaciju i odaberite radni prostor u kojem će aplikacija raditi.
Kliknite na Izradi aplikaciju dugme. Ovo će vas preusmjeriti na stranicu koja sadrži osnovne podatke o vašoj aplikaciji.
U odjeljku značajki idite na OAuth i dopuštenja značajku, a zatim se pomaknite prema dolje do Opsezi bot tokena. Dodati chat: pisati opseg za vašu aplikaciju. Ovaj će opseg vašoj aplikaciji omogućiti slanje poruka u radni prostor.
Pomaknite se gore do OAuth tokeni za vaš radni prostor odjeljak i kliknite na Instaliraj u Workspace dugme.
Na sljedećoj stranici koja se pojavi kliknite na Dopusti dugme. Ovo će instalirati aplikaciju u vaš radni prostor.
Stvaranje prilagođene naredbe kose crte pomoću Slack API-ja
Nakon što postavite aplikaciju Slack, trebate izraditi prilagođenu naredbu za zadatak koji želite izvršiti. Na primjer, naredba kose crte koja vraća šalu korisniku. Idite do Naredbe kose crte značajka. Klikni na Stvori novu naredbu dugme.
Ispunite Naredba, URL zahtjeva, i Kratki opis naredbe koju želite kreirati. URL zahtjeva krajnja je točka na koju Slack šalje POST zahtjev kada korisnik pokrene naredbu. Koristite lokalni host URL kao rezervirano mjesto; kasnije ćete promijeniti ovaj URL.
Kliknite na Uštedjeti. Kada spremite, Slack automatski dodaje opseg naredbi za vašu aplikaciju. Ovaj opseg omogućuje vašoj aplikaciji dodavanje prečaca i naredbi s kosom crtom koje ljudi u vašem radnom prostoru mogu koristiti. Promjena opsega zahtijevat će ponovno instaliranje aplikacije. Klikni na ponovno instalirajte svoju aplikaciju dugme.
Na sljedećoj stranici kliknite Dopusti ponovno instaliranje aplikacije na radnom prostoru.
Konfiguriranje ponašanja naredbe Slash
Pokrenite bilo koji Python IDE. Stvorite novo virtualno okruženje. Stvorite novu Python datoteku i novu .env datoteku. Na terminalu pokrenite sljedeću naredbu za instaliranje potrebnih biblioteka.
pip instalirati python-dotenv zahtjevi Flask slack-bolt
The python-dotenv biblioteka će vam omogućiti da učitate varijable okoline u .env datoteku. The zahtjevi biblioteka vam omogućuje postavljanje HTTP zahtjeva i Boca obrađuje dolazne HTTP zahtjeve i povratne odgovore. Olabavljeni vijak obrađuje dolazne Slack zahtjeve.
Otvorite .env datoteku i stvorite dvije varijable okoline. Imenujte ih BOT_TOKEN i POTPIS_TAJNA odnosno. Idite na web stranicu Slack API. Pod vašom aplikacijom Osnovne informacije kopirajte tajnu potpisivanja i upotrijebite je za inicijalizaciju varijable BOT_TOKEN. Dođite do značajke OAuth & Permissions i kopirajte Bot User OAuth Token. Koristite ga za inicijaliziranje varijable SIGNING_SECRET.
Token bota je jedinstveni identifikator koji autentifikuje vašu aplikaciju sa Slackovim API-jem prilikom upućivanja API poziva. Tajna potpisivanja potvrđuje da dolazni zahtjevi vašoj aplikaciji dolaze od Slacka.
Puni izvorni kod dostupan je u a GitHub spremište.
Uvezite potrebne biblioteke i module.
uvoz os
iz pathlib uvoz Staza
iz dotenv uvoz load_dotenv
uvoz zahtjevi
iz pljoska uvoz Flask, zahtjev, jsonify
iz opušteni_svornjak uvoz aplikacija
iz slack_bolt.adapter.boca uvoz SlackRequestHandler
Stvorite novu instancu Flask aplikacije.
aplikacija = Flask (__ime__)
Učitajte varijable okoline iz .env datoteke pomoću load_dotenv() funkcija.
env_path = Put('.') / '.env'
load_dotenv (dotenv_path=env_path)
Stvorite novu instancu Slack aplikacije pomoću aplikacija klase iz slack_bolt biblioteke.
slack_app = Aplikacija(
token=os.environ['BOT_TOKEN'],
signing_secret=os.environ['SIGNING_SECRET']
)
Stvorite funkciju rukovatelja rutom koja rukuje dolaznim zahtjevima prema /slack/command krajnja točka. Kada krajnja točka primi a POST zahtjev, analizira podatke tijela zahtjeva. Zatim provjerava je li naredba /joke. Ako je tako, poziva se get_joke() funkciju i vraća JSON odgovor Slacku s rezultatom naredbe.
@app.route("/slack/command", metode=["POST"])
defnaredba():
# Raščlanite podatke tijela zahtjeva
podaci = zahtjev.obrazac# Pozovite odgovarajuću funkciju na temelju naredbe kose crte
ako podaci["naredba"] == "/vic":
poruka = get_joke()
drugo:
poruka = f"Neispravna naredba: {podaci['naredba']}"
# Vrati odgovor Slacku
povratak jsonify({"tekst": poruka})
Napravite funkciju koja šalje GET zahtjev na icanhazdadjoke API za dohvaćanje nasumične šale u JSON formatu. Zatim vraća šalu kao niz.
defget_joke():
url = " https://icanhazdadjoke.com/"
zaglavlja = {"Prihvatiti": "aplikacija/json"}
odgovor = requests.get (url, headers=zaglavlja, timeout=5)
šala = odgovor.json()["vic"]
povratak vic
Stvorite novu instancu a SlackRequestHandler objekt koji će obraditi dolazne zahtjeve iz Slacka.
rukovatelj = SlackRequestHandler (slack_app)
Provjerite pokreće li se skripta izravno i, ako jest, pokrenite aplikaciju Flask na portu 5000.
ako __ime__ == "__glavni__":
# Pokrenite aplikaciju Flask na portu 5000
app.run (port=5000, debug=Pravi)
Pokrenite program za pokretanje poslužitelja na lokalnom hostu.
Da bi program komunicirao sa Slackom, potreban vam je URL kojem može pristupiti putem interneta. Preuzmite i pokrenite ngrok. The softver ngrok omogućuje stvaranje sigurnog javnog URL-a koji tunelira promet do web poslužitelja koji radi na vašem računalu.
Pokrenite sljedeću naredbu da biste dobili javni URL:
ngrok http 5000
Slika ispod prikazuje javni URL na ngroku, označen bijelom bojom.
Kopirajte URL i idite na Slack API web mjesto. Klikni na Naredbe kose crte značajka. Uredite naredbu /joke i zamijenite rezervirano mjesto URL-a zahtjeva svojim javnim URL-om. Dodajte /slack/events na kraju URL-a kako biste ukazali na vašu krajnju točku.
Idite na svoj radni prostor, zatim upišite i pošaljite naredbu /joke. Trebali biste vidjeti šalu kao odgovor:
Upoznajte se s ostalim Slack značajkama
Slack ima puno mogućnosti za ponuditi osim Slash naredbi. Upoznavanje s ovim značajkama omogućit će vam da shvatite kako rade.
Zatim možete tražiti načine da ih prilagodite zahtjevima vašeg radnog prostora. To će povećati produktivnost vašeg tima.