Slack è uno strumento conveniente e popolare che puoi migliorare con i tuoi comandi, su misura per la tua organizzazione.

Slack è uno strumento che consente ai team di comunicare e collaborare. Una delle sue caratteristiche principali è l'uso dei comandi slash. Questi comandi attivano azioni o integrazioni specifiche all'interno della piattaforma.

Sebbene Slack ti fornisca diversi comandi slash incorporati, puoi creare comandi personalizzati utilizzando l'API di Slack. È quindi possibile configurare il comando personalizzato per eseguire una determinata attività quando un utente lo attiva.

Perché creare un comando barra personalizzato in Slack?

I comandi slash incorporati in Slack potrebbero non soddisfare le esigenze specifiche del tuo team o della tua organizzazione. Creando comandi barra personalizzati, puoi creare un'esperienza più personalizzata per il tuo team. Questo a sua volta aumenta il coinvolgimento del team.

Configurazione di un'app Slack

Per seguire, dovresti essere a tuo agio con il

instagram viewer
utilizzo di base di Slack. Accedi al tuo account Slack nel browser e crea una nuova area di lavoro. Utilizzerai questo spazio di lavoro per testare le tue app prima di utilizzarle nell'area di lavoro del tuo team.

Apri un'altra scheda e vai a Sito web dell'API Slack.

Clicca sul Crea un'app pulsante. Nella pagina successiva che appare, scegli l'opzione per creare un'app Da zero.

Assegna un nome all'app e seleziona l'area di lavoro in cui funzionerà l'app.

Clicca il Crea app pulsante. Questo ti reindirizzerà a una pagina che contiene le informazioni di base sulla tua app.

Nella sezione delle funzionalità, vai a OAuth e autorizzazioni funzione, quindi scorri verso il basso fino a Ambiti token bot. Aggiungere un chiacchierare: scrivere ambito per la tua app. Questo ambito consentirà all'app di inviare messaggi all'area di lavoro.

Scorri fino al Token OAuth per il tuo spazio di lavoro sezione e fare clic su Installa nell'area di lavoro pulsante.

Nella pagina successiva che appare, fare clic su Permettere pulsante. Questo installerà l'app nel tuo spazio di lavoro.

Creazione di un comando barra personalizzato utilizzando l'API Slack

Dopo aver configurato l'app Slack, devi creare un comando personalizzato per l'attività che desideri eseguire. Ad esempio, un comando slash che restituisce uno scherzo all'utente. Naviga verso il Comandi barra caratteristica. Clicca sul Crea nuovo comando pulsante.

Compila il Comando, Richiedi l'URL, E breve descrizione del comando che vuoi creare. L'URL della richiesta è l'endpoint a cui Slack invia una richiesta POST quando un utente attiva il comando. Usa un URL localhost come segnaposto; cambierai questo URL più tardi.

Clicca su Salva. Quando salvi, Slack aggiunge automaticamente un ambito dei comandi per la tua app. Questo ambito consente all'app di aggiungere scorciatoie e comandi slash utilizzabili dagli utenti nell'area di lavoro. La modifica degli ambiti richiederà la reinstallazione dell'app. Clicca sul reinstalla la tua app pulsante.

Nella pagina successiva, fai clic su Consenti la reinstallazione dell'app nell'area di lavoro.

Configurazione del comportamento del comando Slash

Avvia qualsiasi IDE Python. Crea un nuovo ambiente virtuale. Crea un nuovo file Python e un nuovo file .env. Sul terminale, eseguire il seguente comando per installare le librerie richieste.

pip install python-dotenv richiede Flask slack-bolt

IL python-dotenv library ti permetterà di caricare le variabili d'ambiente nel file .env. IL richieste library ti consente di effettuare richieste HTTP e Borraccia gestisce le richieste HTTP in entrata e le risposte di ritorno. Bullone allentato gestisce le richieste Slack in arrivo.

Apri il file .env e crea due variabili di ambiente. Nominali BOT_TOKEN E SIGNING_SECRET rispettivamente. Passare al sito web dell'API Slack. Sotto la tua app Informazioni di base copiare il segreto di firma e utilizzarlo per inizializzare la variabile BOT_TOKEN. Passare alla funzione OAuth e autorizzazioni e copiare il token OAuth dell'utente bot. Usalo per inizializzare la variabile SIGNING_SECRET.

Il token bot è un identificatore univoco che autentica la tua app con l'API di Slack quando effettui chiamate API. Il segreto di firma verifica che le richieste in arrivo alla tua app provengano da Slack.

Il codice sorgente completo è disponibile in a Deposito GitHub.

Importa le librerie e i moduli richiesti.

importare os
da pathlib importare Sentiero
da dotenv importare load_dotenv
importare richieste
da borraccia importare Boccetta, richiesta, jsonify
da slack_bolt importare App
da slack_bolt.adapter.flask importare SlackRequestHandler

Crea una nuova istanza di un'applicazione Flask.

app = Boccetta (__name__)

Carica le variabili di ambiente dal file .env usando il file load_dotenv() funzione.

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

Crea una nuova istanza di un'app Slack utilizzando il file App class dalla libreria slack_bolt.

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

Crea una funzione di gestione del percorso che gestisca le richieste in arrivo al /slack/command punto finale. Quando l'endpoint riceve un file INVIARE richiesta, analizza i dati del corpo della richiesta. Quindi controlla se il comando è /joke. In tal caso, chiama il file prendi_scherzo() funzione e restituisce una risposta JSON a Slack con il risultato del comando.

@app.route("/slack/command", metodi=["POST"])
defcomando():
# Analizza i dati del corpo della richiesta
dati = form.richiesta

# Richiama la funzione appropriata in base al comando slash
Se dati["comando"] == "/scherzo":
messaggio = get_joke()
altro:
messaggio = f"Comando non valido: {dati['comando']}"

# Restituisci la risposta a Slack
ritorno jsonify({"testo": Messaggio})

Creare una funzione che invii una richiesta GET al icanhazdadjoke API per recuperare uno scherzo casuale in formato JSON. Quindi restituisce lo scherzo come una stringa.

defget_joke():
URL = " https://icanhazdadjoke.com/"
intestazioni = {"Accettare": "applicazione/json"}
risposta = richieste.get (url, intestazioni=intestazioni, timeout=5)
scherzo = risposta.json()["scherzo"]
ritorno scherzo

Crea una nuova istanza di a SlackRequestHandler oggetto che gestirà le richieste in arrivo da Slack.

gestore = SlackRequestHandler (slack_app)

Verificare se lo script viene eseguito direttamente e, in tal caso, avviare l'applicazione Flask sulla porta 5000.

Se __nome__ == "__principale__":
# Avvia l'app Flask sulla porta 5000
app.run (porta=5000, debug=VERO)

Eseguire il programma per avviare il server in esecuzione su localhost.

Affinché il programma possa comunicare con Slack, è necessario un URL a cui possa accedere tramite Internet. Scarica ed esegui ngrok. IL Il software ngrok ti consente di creare un URL pubblico sicuro che incanala il traffico verso un server web in esecuzione sul tuo computer.

Eseguire il seguente comando per ottenere l'URL pubblico:

ngrok http 5000

L'immagine sotto mostra l'URL pubblico su ngrok, evidenziato in bianco.

Copia l'URL e vai al sito web dell'API Slack. Clicca sul Comandi barra caratteristica. Modifica il comando /joke e sostituisci il segnaposto dell'URL della richiesta con il tuo URL pubblico. Aggiungi /slack/events alla fine dell'URL per puntare al tuo endpoint.

Vai al tuo spazio di lavoro, quindi digita e invia il comando /joke. Dovresti vedere una battuta in risposta:

Acquisisci familiarità con altre funzionalità di Slack

Slack ha molte funzionalità da offrire oltre ai comandi Slash. Familiarizzare con queste funzionalità ti permetterà di capire come funzionano.

Puoi quindi cercare modi per personalizzarli in base ai requisiti del tuo spazio di lavoro. Ciò aumenterà la produttività della tua squadra.