Slackマシンは、シンプルでありながら強力で拡張可能なSlackボットフレームワークです。単なるボットではなく、Slack Machineは、Slack WorkspaceをChatops Powerhouseに開発するのに役立つフレームワークです。 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マシンをUVプロジェクトに追加できます。
uv add slack-machineまたは、詩プロジェクトに追加してください。
poetry add slack-machine最後に、PIPを使用してインストールできます(推奨されません):
$ pip install slack-machine仮想環境にslack-machineをインストールすることを強くお勧めします!
Slackマシンボットのディレクトリを作成: 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マシンのドキュメントは、https://dondebonair.github.io/slack-machine/で見つけることができます。
それを読んで、Slackマシンを適切に構成する方法、プラグインを書き込むなどを学んでください!
Slack Machine:Slack Machine Kitchensinkプラグインの多くの機能を紹介するプラグインの例もあります。