Slack Machine es un marco Slack Bot simple, potente y extensible. Más que una máquina Bot, Slack Machine es un marco que lo ayuda a desarrollar su espacio de trabajo Slack en una potencia de Chatops. Slack Machine está construido con un sistema de complementos intuitivo que le permite construir bots rápidamente, pero también permite una organización de código fácil. Un complemento puede verse tan simple como este:
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 } " )Soporte caído para Python 3.8 (V0.38.0)
A partir de V0.38.0, se ha eliminado el soporte para Python 3.8. Python 3.8 ha alcanzado el final de la vida el 2024-10-07.
Puede agregar una máquina Slack a su proyecto UV ejecutando:
uv add slack-machineO agréguelo a su proyecto de poesía:
poetry add slack-machinePor último, puede instalarlo usando PIP (no recomendado):
$ pip install slack-machine ¡Se recomienda encarecidamente que instale slack-machine dentro de un entorno virtual!
Crea un directorio para tu botón de máquina Slack: mkdir my-slack-bot && cd my-slack-bot
Agregue un archivo local_settings.py a su directorio BOT: touch local_settings.py
Crea una nueva aplicación en Slack: https://api.slack.com/apps
Elija crear una aplicación desde un manifiesto de la aplicación
Copiar/pegar el siguiente manifiesto: manifest.yaml
Agregue la aplicación Slack y los tokens de bot a su local_settings.py así:
SLACK_APP_TOKEN = "xapp-my-app-token"
SLACK_BOT_TOKEN = "xoxb-my-bot-token"
Comience el bot con slack-machine
...
¡Ganancia!
Puede encontrar la documentación para Slack Machine aquí: https://dondebonair.github.io/slack-machine/
¡Ve a leerlo para aprender a configurar correctamente la máquina Slack, escribir complementos y más!
También hay un complemento de ejemplo que muestra muchas de las características de Slack Machine: Slack Machine Kitchensink Plugin