Slack Machine est un cadre de bot Slack simple, mais puissant et extensible. Plus qu'un simple bot, Slack Machine est un framework qui vous aide à développer votre espace de travail Slack en une puissance de Chatopop. Slack Machine est construit avec un système de plugin intuitif qui vous permet de construire des bots rapidement, mais permet également une organisation de code facile. Un plugin peut être aussi simple que ceci:
from machine . plugins . base import MachineBasePlugin
from machine . plugins . message import Message
from machine . plugins . decorators import respond_to
class DeploymentPlugin ( MachineBasePlugin ):
"""Deployments"""
@ respond_to ( r"deploy (?P<application>w+) to (?P<environment>w+)" )
async def deploy ( self , msg : Message , application , environment ):
"""deploy <application> <environment>: deploy application to target environment"""
await msg . say ( f"Deploying { application } to { environment } " )Support abandonné pour Python 3.8 (V0.38.0)
En ce qui concerne V0.38.0, la prise en charge de Python 3.8 a été abandonnée. Python 3.8 a atteint la fin de vie le 2024-10-07.
Vous pouvez ajouter Slack Machine à votre projet UV en fonctionnant:
uv add slack-machineOu ajoutez-le à votre projet de poésie:
poetry add slack-machineEnfin, vous pouvez l'installer en utilisant PIP (non recommandé):
$ pip install slack-machine Il est fortement recommandé d'installer slack-machine dans un environnement virtuel!
Créez un répertoire pour votre Slack Machine Bot: mkdir my-slack-bot && cd my-slack-bot
Ajoutez un fichier local_settings.py à votre répertoire de bot: touch local_settings.py
Créez une nouvelle application dans Slack: https://api.slack.com/apps
Choisissez de créer une application à partir d'une application manifeste
Copier / coller le manifeste suivant: manifest.yaml
Ajoutez l'application Slack et les jetons bot à votre local_settings.py comme ceci:
SLACK_APP_TOKEN = "xapp-my-app-token"
SLACK_BOT_TOKEN = "xoxb-my-bot-token"
Démarrez le bot avec slack-machine
...
Profit!
Vous pouvez trouver la documentation de Slack Machine ici: https://dondebonair.github.io/slack-machine/
Allez le lire pour savoir comment configurer correctement Slack Machine, écrire des plugins, et plus encore!
Il existe également un exemple de plugin qui montre de nombreuses fonctionnalités de Slack Machine: Slack Machine Kitchensink Plugin