A Slack Machine é uma estrutura simples, mas poderosa e extensível, Slack Bot. Mais do que apenas um bot, o Slack Machine é uma estrutura que ajuda a transformar seu espaço de trabalho frouxo em uma potência do Chatops. O Slack Machine é construído com um sistema de plug -in intuitivo que permite criar bots rapidamente, mas também permite uma organização fácil de código. Um plugin pode parecer tão simples assim:
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 } " )Suporte descartado para o Python 3.8 (v0.38.0)
A partir da v0.38.0, o suporte ao Python 3.8 foi descartado. O Python 3.8 atingiu o fim da vida em 2024-10-07.
Você pode adicionar o Slack Machine ao seu projeto UV executando:
uv add slack-machineou adicione -o ao seu projeto de poesia:
poetry add slack-machinePor fim, você pode instalá -lo usando PIP (não recomendado):
$ pip install slack-machine É fortemente recomendado que você instale slack-machine dentro de um ambiente virtual!
Crie um diretório para o seu Bot Slack Machine: mkdir my-slack-bot && cd my-slack-bot
Adicione um arquivo local_settings.py ao seu diretório de bot: touch local_settings.py
Crie um novo aplicativo no Slack: https://api.slack.com/apps
Escolha criar um aplicativo a partir de um manifesto de aplicativo
Copie/Cole o seguinte manifesto: manifest.yaml
Adicione o aplicativo Slack e os tokens de bot ao seu local_settings.py como este:
SLACK_APP_TOKEN = "xapp-my-app-token"
SLACK_BOT_TOKEN = "xoxb-my-bot-token"
Comece o bot com slack-machine
...
Lucro!
Você pode encontrar a documentação para a Slack Machine aqui: https://dondebonair.github.io/slack-machine/
Vá ler para aprender a configurar corretamente a Slack Machine, escrever plugins e muito mais!
Há também um plugin de exemplo que mostra muitos dos recursos da Slack Machine: Slack Machine Kitchensink Plugin