Slack Machine - это простая, но мощная и расширяемая платформа Slack Bot. Slack Machine - это больше, чем просто бот, - это структура, которая поможет вам развить ваше рабочее пространство Slack в мощность Chatops. Slack Machine построена с интуитивно понятной системой плагинов, которая позволяет быстро создавать ботов, но также позволяет легко организации кода. Плагин может выглядеть так же просто, как это:
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 } " )Отсутствие поддержки Python 3.8 (v0.38.0)
По состоянию на V0.38.0 поддержка Python 3.8 была отброшена. Python 3.8 достиг конца жизни в 2024-10-07.
Вы можете добавить Slack Machine в свой УФ -проект, работая:
uv add slack-machineили добавьте его в свой поэтический проект:
poetry add slack-machineНаконец, вы можете установить его с помощью PIP (не рекомендуется):
$ pip install slack-machine Настоятельно рекомендуется установить slack-machine в виртуальную среду!
Создайте каталог для вашего бота Slack Machine: mkdir my-slack-bot && cd my-slack-bot
Добавьте файл local_settings.py в свой каталог бота: touch local_settings.py
Создать новое приложение в Slack: https://api.slack.com/apps
Выберите создание приложения из манифеста приложения
Скопировать/вставьте следующий манифест: manifest.yaml
Добавьте приложение Slack и токены бот в ваш local_settings.py
SLACK_APP_TOKEN = "xapp-my-app-token"
SLACK_BOT_TOKEN = "xoxb-my-bot-token"
Запустить бот с помощью slack-machine
...
Выгода!
Вы можете найти документацию для Slack Machine здесь: https://dondebonair.github.io/slack-machine/
Перейдите, чтобы узнать, как правильно настроить машину Slack, записать плагины и многое другое!
Существует также пример плагина, который показывает многие функции Slack Machine: Slack Machine Cuthensink Plugin