-
Notifications
You must be signed in to change notification settings - Fork 2
Overview
csp-bot is a framework for building command-driven chat bots that run against one or more chat platforms at once.
It is composed of two major components:
- Engine: csp and csp-gateway, a streaming, complex event processor core and corresponding application framework
- Configuration: ccflow, a Pydantic/Hydra based extensible, composeable dependency injection and configuration framework
Messages, users, and channels are unified across platforms by chatom, so a single bot and its commands work the same on Slack, Symphony, Discord, and Telegram.
Let's run a Slack bot. First, follow the csp-adapter-slack setup to create a bot named "CSP Bot". That gives you two tokens: an app token and a bot token.
Warning
Be sure to avoid committing tokens for any backend into a repository.
Provide the tokens through the environment and start the bot:
export SLACK_BOT_TOKEN=xoxb-...
export SLACK_APP_TOKEN=xapp-...
csp-bot-start +gateway=slackcsp-bot uses ccflow and hydra for configuration, so the command line is composed of config selections rather than flags.
+gateway=slack selects the pre-canned Slack gateway; see Configuration for the full picture.
Message your bot, and by default it replies with a help menu of all available commands:
The same bot can connect to several platforms simultaneously. Add backends by listing them — no per-combination config required:
csp-bot-start +gateway=bot +backend='[slack,telegram]'See Configuration for pre-canned combinations and how to capture your selection in a file.
-
Installation — install
csp-botand the backend adapters you need. - Configuration — select backends and customize the gateway.
- Backends — supported platforms, credentials, and feature support.
- Commands — the built-in commands.
- Writing Commands — add your own commands.
This wiki is autogenerated. To made updates, open a PR against the original source file in docs/wiki.
Get Started
For Developers
Coming soon!
For Contributors