NOTICE: All information contained herein is, and remains
the property of TechnoCore Automate.
The ObjConversationSlack.py module implements the Slack
channel engine for the Axion conversation framework. It
follows the same factory pattern as the Console, WhatsApp,
and Discord engines, providing a ConversationInterface
for message delivery and a ConversationBroker for Slack
slash-command handling.
The module contains two classes:
slack_sdk.WebClient).The module reads configuration from config.yaml:
| Section | Key | Description |
|---|---|---|
| slack | bottoken | Slack Bot User OAuth Token |
| slack | channel | Default Slack channel name |
| slack | signingsecret | Slack app signing secret for request verification |
| Method | Purpose |
|---|---|
transmit_message(message, channel) |
Post a plain-text message to a Slack channel |
display_context(opts) |
Format and send conversation context as a Slack message |
display_options(opts) |
Format numbered options and send to Slack; returns (first_key, first_prompt) |
| Method | Purpose |
|---|---|
handle_slack_command(server) |
Verify HMAC signature and dispatch slash commands |
Request verification uses the X-Slack-Request-Timestamp
and X-Slack-Signature headers with HMAC-SHA256 against
the signing secret. Requests older than 5 minutes are
rejected.
| Package | Purpose |
|---|---|
slack_sdk |
Slack Web API client (optional -- gracefully degrades) |
| Module | Relationship |
|---|---|
factory.conversation/ObjConversationEngine.py |
Base engine class |
factory.core/ObjConversation.py |
Core conversation state machine |
factory.sms/package.core/ObjNotifySlack.py |
Slack notification helper |
ServeConversation.py |
FastAPI entry point |
cythonize -3 -a -i ObjConversationSlack.py
Compiling factory.conversation/ObjConversationSlack.py
Updated : 2026-01-28