Channel Structure
Channels are configured in thechannels section:
CLI Channel
boolean
default:"true"
Enable the command-line interface channel. Always available for local interaction.
Telegram Configuration
Basic Setup
string
required
Telegram bot token from @BotFather.
array
required
List of Telegram user IDs allowed to interact with the bot in private chats. Use @userinfobot to find your user ID.
array
List of group chat IDs where the bot is allowed to respond.
string
default:"allowlist"
Group access policy:
allowlist (only respond in listed groups) or mention_only (respond when mentioned).boolean
default:"true"
Use reply-to in private (1:1) chats. Groups always use reply-to.
string
Optional SOCKS5/HTTP proxy URL for Telegram API requests (e.g.,
socks5://host:port).Discord Configuration
string
required
Discord bot token from the Discord Developer Portal.
string
Optional guild (server) ID to restrict the bot to a specific server.
array
List of Discord user IDs allowed to interact with the bot.
boolean
default:"false"
Allow other bots to trigger this agent.
boolean
default:"false"
Only respond when the bot is mentioned.
number
default:"37377"
Discord gateway intents bitmask (GUILDS | GUILD_MESSAGES | MESSAGE_CONTENT | DIRECT_MESSAGES).
Slack Configuration
string
default:"socket"
Connection mode:
socket (Socket Mode) or http (Events API with webhooks).string
required
Slack bot token (starts with
xoxb-).string
App-level token for Socket Mode (starts with
xapp-). Required when mode is socket.string
Signing secret for webhook verification. Required when
mode is http.string
default:"pairing"
Direct message policy:
pairing (require pairing), allowlist (use allow_from), or open (allow all).string
default:"mention_only"
Group/channel policy:
mention_only (respond when mentioned), allowlist (use allow_from), or open (respond to all).Multi-Account Support
Most channels support multiple accounts using theaccounts object:
account_id field (default: "default") identifies each account.
Access Control
All channels support allowlist-based access control:allow_from— List of user IDs allowed to interact with the botgroup_allow_from— List of group/channel IDs where bot can respondgroup_policy— How to handle group messages (allowlist,mention_only, etc.)
Supported Channels
NullClaw supports these messaging platforms:- CLI — Command-line interface
- Telegram — Telegram Bot API
- Discord — Discord gateway
- Slack — Socket Mode or Events API
- WhatsApp — WhatsApp Business API
- Matrix — Matrix protocol
- Mattermost — Mattermost integration
- Signal — Signal messenger (via signal-cli)
- IRC — Internet Relay Chat
- Email — IMAP/SMTP
- iMessage — Apple Messages (macOS only)
- Lark — Lark/Feishu
- DingTalk — DingTalk
- LINE — LINE messaging
- QQ — QQ instant messaging
- Nostr — Nostr protocol
- Web — WebSocket channel for browser extensions