Slack est un outil pratique et populaire que vous pouvez améliorer avec vos propres commandes, adaptées à votre organisation.
Slack est un outil qui permet aux équipes de communiquer et de collaborer. L'une de ses principales caractéristiques est l'utilisation de commandes slash. Ces commandes déclenchent des actions ou des intégrations spécifiques au sein de la plateforme.
Alors que Slack vous fournit plusieurs commandes slash intégrées, vous pouvez créer des commandes personnalisées à l'aide de l'API de Slack. Vous pouvez ensuite configurer la commande personnalisée pour effectuer une certaine tâche lorsqu'un utilisateur la déclenche.
Pourquoi créer une commande Slash personnalisée dans Slack?
Les commandes slash intégrées de Slack peuvent ne pas répondre aux besoins spécifiques de votre équipe ou de votre organisation. En créant des commandes slash personnalisées, vous pouvez créer une expérience plus personnalisée pour votre équipe. Cela augmente à son tour l'engagement de l'équipe.
Configurer une application Slack
Pour suivre, vous devez être à l'aise avec le utilisation de base de Slack. Connectez-vous à votre compte Slack dans le navigateur et créez un nouvel espace de travail. Vous utiliserez cet espace de travail pour tester vos applications avant de les utiliser dans l'espace de travail de votre équipe.
Ouvrez un autre onglet et accédez au Site Web de l'API Slack.
Clique sur le Créer une application bouton. Sur la page suivante qui apparaît, choisissez l'option pour créer une application De zéro.
Nommez l'application et sélectionnez l'espace de travail dans lequel l'application fonctionnera.
Clique le Créer une application bouton. Cela vous redirigera vers une page contenant les informations de base sur votre application.
Dans la section des fonctionnalités, accédez à la OAuth et autorisations fonction, puis faites défiler jusqu'à Étendues des jetons de bot. Ajouter un discuter: écrire portée pour votre application. Cette portée permettra à votre application d'envoyer des messages à l'espace de travail.
Faites défiler jusqu'à Jetons OAuth pour votre espace de travail section, et cliquez sur le Installer sur l'espace de travail bouton.
Sur la page suivante qui s'affiche, cliquez sur le Permettre bouton. Cela installera l'application dans votre espace de travail.
Création d'une commande Slash personnalisée à l'aide de l'API Slack
Après avoir configuré l'application Slack, vous devez créer une commande personnalisée pour la tâche que vous souhaitez accomplir. Par exemple, une commande slash qui renvoie une blague à l'utilisateur. Naviguez vers le Commandes de barre oblique fonctionnalité. Clique sur le Créer une nouvelle commande bouton.
Remplissez le Commande, URL de la demande, et brève description de la commande que vous souhaitez créer. L'URL de la demande est le point de terminaison auquel Slack envoie une demande POST lorsqu'un utilisateur déclenche la commande. Utilisez une URL localhost comme espace réservé; vous changerez cette URL plus tard.
Cliquer sur Sauvegarder. Lorsque vous enregistrez, Slack ajoute automatiquement une étendue de commandes pour votre application. Cette portée permet à votre application d'ajouter des raccourcis et des commandes de barre oblique que les personnes de votre espace de travail peuvent utiliser. La modification des champs d'application vous obligera à réinstaller l'application. Clique sur le réinstaller votre application bouton.
Sur la page qui apparaît ensuite, cliquez sur Autoriser la réinstallation de l'application sur votre espace de travail.
Configuration du comportement de la commande Slash
Lancez n'importe quel IDE Python. Créer un nouvel environnement virtuel. Créez un nouveau fichier Python et un nouveau fichier .env. Sur le terminal, exécutez la commande suivante pour installer les bibliothèques requises.
pip install les requêtes python-dotenv Flask slack-bolt
Le python-dotenv bibliothèque vous permettra de charger les variables d'environnement dans le fichier .env. Le demandes bibliothèque vous permet de faire des requêtes HTTP et Ballon gère les requêtes HTTP entrantes et renvoie les réponses. Boulon desserré gère les requêtes Slack entrantes.
Ouvrez le fichier .env et créez deux variables d'environnement. Nomme les BOT_TOKEN et SIGNING_SECRET respectivement. Accédez au site Web de l'API Slack. Sous votre application Informations de base copiez le secret de signature et utilisez-le pour initialiser la variable BOT_TOKEN. Accédez à la fonctionnalité OAuth et autorisations et copiez le jeton OAuth de l'utilisateur du bot. Utilisez-le pour initialiser la variable SIGNING_SECRET.
Le jeton de bot est un identifiant unique qui authentifie votre application auprès de l'API de Slack lors des appels d'API. Le secret de signature vérifie que les demandes entrantes dans votre application proviennent de Slack.
Le code source complet est disponible dans un Référentiel GitHub.
Importez les bibliothèques et modules requis.
importer os
depuis pathlib importer Chemin
depuis dotenv importer load_dotenv
importer demandes
depuis ballon importer Flacon, requête, jsonify
depuis slack_bolt importer Application
depuis slack_bolt.adapter.flask importer SlackRequestHandler
Créez une nouvelle instance d'une application Flask.
app = flacon (__nom__)
Chargez les variables d'environnement à partir du fichier .env à l'aide de load_dotenv() fonction.
env_path = Chemin('.') / '.env'
load_dotenv (dotenv_path=env_path)
Créez une nouvelle instance d'une application Slack à l'aide de Application classe de la bibliothèque slack_bolt.
slack_app = App(
token=os.environ['BOT_TOKEN'],
signature_secret=os.environ['SIGNING_SECRET']
)
Créez une fonction de gestionnaire de route qui gère les requêtes entrantes vers le /slack/command point final. Lorsque le terminal reçoit un POSTE requête, il analyse les données du corps de la requête. Il vérifie ensuite si la commande est /joke. Si c'est le cas, il appelle le get_joke() fonction et renvoie une réponse JSON à Slack avec le résultat de la commande.
@app.route("/slack/command", method=["POST"])
définitivementcommande():
# Analyser les données du corps de la requête
données = demande.formulaire# Appelez la fonction appropriée basée sur la commande slash
si données["commande"] == "/blague":
message = obtenir_blague()
autre:
msg = f"Commande invalide: {données['commande']}"
# Renvoyer la réponse à Slack
retour jsonifier({"texte": message})
Créez une fonction qui envoie une requête GET au icanhazdadjoke API pour récupérer une blague aléatoire au format JSON. Il renvoie ensuite la blague sous forme de chaîne.
définitivementget_joke():
URL = " https://icanhazdadjoke.com/"
en-têtes = {"Accepter": "applications/json"}
réponse = demandes.get (url, en-têtes = en-têtes, délai d'attente =5)
blague = réponse.json()["blague"]
retour blague
Créer une nouvelle instance d'un SlackRequestHandler objet qui traitera les requêtes entrantes de Slack.
gestionnaire = SlackRequestHandler (slack_app)
Vérifiez si le script est exécuté directement et, si c'est le cas, démarrez l'application Flask sur le port 5000.
si __nom__ == "__principal__":
# Démarrez l'application Flask sur le port 5000
app.run (port=5000, débogage=Vrai)
Exécutez le programme pour démarrer le serveur en cours d'exécution sur localhost.
Pour que le programme puisse communiquer avec Slack, vous avez besoin d'une URL à laquelle il peut accéder via Internet. Télécharger et exécuter ngrok. Le Le logiciel ngrok vous permet de créer une URL publique sécurisée qui achemine le trafic vers un serveur Web s'exécutant sur votre ordinateur.
Exécutez la commande suivante pour obtenir l'URL publique :
ngrok http 5000
L'image ci-dessous montre l'URL publique sur ngrok, surlignée en blanc.
Copiez l'URL et accédez au site Web de l'API Slack. Clique sur le Commandes de barre oblique fonctionnalité. Modifiez la commande /joke et remplacez l'espace réservé de l'URL de la demande par votre URL publique. Ajoutez /slack/events à la fin de l'URL pour pointer vers votre point de terminaison.
Accédez à votre espace de travail, puis tapez et envoyez la commande /joke. Vous devriez voir une blague en réponse :
Familiarisez-vous avec les autres fonctionnalités de Slack
Slack a beaucoup de fonctionnalités à offrir au-delà des commandes Slash. Se familiariser avec ces fonctionnalités vous permettra de comprendre leur fonctionnement.
Vous pouvez ensuite rechercher des moyens de les personnaliser en fonction des besoins de votre espace de travail. Cela augmentera la productivité de votre équipe.