Overview
Nanobot supports multiple chat platforms through a unified channel configuration system. Each channel can be independently enabled and configured with platform-specific settings.ChannelsConfig
Root configuration for all chat channels.Stream agent’s text progress to channels in real-time.
Stream tool call hints (e.g.,
read_file("...")) to channels.WhatsApp channel configuration.
Telegram channel configuration.
Discord channel configuration.
Feishu/Lark channel configuration.
Mochat channel configuration.
DingTalk channel configuration.
Email channel configuration.
Slack channel configuration.
QQ channel configuration.
Matrix (Element) channel configuration.
WhatsAppConfig
Enable WhatsApp channel.
WebSocket URL for WhatsApp bridge connection.
Shared token for bridge authentication (optional but recommended).
Allowed phone numbers. Empty list allows all.
Telegram
TelegramConfig
Enable Telegram channel.
Bot token from @BotFather.
Allowed user IDs or usernames. Empty list allows all.
HTTP/SOCKS5 proxy URL (e.g.,
http://127.0.0.1:7890 or socks5://127.0.0.1:1080).If
true, bot replies quote the original message.Discord
DiscordConfig
Enable Discord channel.
Bot token from Discord Developer Portal.
Allowed user IDs. Empty list allows all.
Discord Gateway WebSocket URL.
Gateway intents (GUILDS + GUILD_MESSAGES + DIRECT_MESSAGES + MESSAGE_CONTENT).
Group chat behavior:
mention (respond only when mentioned) or open (respond to all).Feishu/Lark
FeishuConfig
Feishu (Lark) configuration using WebSocket long connection.Enable Feishu/Lark channel.
App ID from Feishu Open Platform.
App Secret from Feishu Open Platform.
Encrypt Key for event subscription (optional).
Verification Token for event subscription (optional).
Allowed user open_ids. Empty list allows all.
Emoji type for message reactions (e.g.,
THUMBSUP, OK, DONE, SMILE).DingTalk
DingTalkConfig
DingTalk configuration using Stream mode.Enable DingTalk channel.
AppKey from DingTalk Open Platform.
AppSecret from DingTalk Open Platform.
Allowed staff_ids. Empty list allows all.
EmailConfig
Email channel with IMAP (inbound) and SMTP (outbound).Enable Email channel.
Explicit permission to access mailbox data (required for privacy compliance).
IMAP (Receive)
IMAP server hostname.
IMAP server port.
IMAP username.
IMAP password.
IMAP mailbox to monitor.
Use SSL for IMAP connection.
SMTP (Send)
SMTP server hostname.
SMTP server port.
SMTP username.
SMTP password.
Use TLS for SMTP connection.
Use SSL for SMTP connection (mutually exclusive with TLS).
Email address to send from.
Behavior
If
false, inbound emails are read but no automatic reply is sent.Polling interval for checking new emails.
Mark emails as seen after reading.
Maximum email body length to process.
Prefix for reply email subjects.
Allowed sender email addresses. Empty list allows all.
Slack
SlackConfig
Enable Slack channel.
Connection mode (currently only
socket supported).Webhook endpoint path.
Bot token (starts with
xoxb-).App-level token (starts with
xapp-).Limit user token to read-only operations.
Reply in threads instead of channel.
Emoji for message reactions (without colons).
Allowed Slack user IDs (sender-level). Empty list allows all.
Group behavior:
mention, open, or allowlist.Allowed channel IDs when using
allowlist policy.Direct message policy configuration.
SlackDMConfig
Enable direct messages.
DM policy:
open or allowlist.Allowed Slack user IDs for DMs when using
allowlist policy.Mochat
MochatConfig
Mochat (WeChat enterprise integration) configuration.Enable Mochat channel.
Mochat base URL.
Socket.io server URL (defaults to baseUrl if empty).
Socket.io path.
Disable MessagePack parser.
Initial reconnect delay in milliseconds.
Maximum reconnect delay in milliseconds.
Connection timeout in milliseconds.
Refresh interval in milliseconds.
Watch timeout in milliseconds.
Maximum number of watched items.
Retry delay in milliseconds.
Maximum retry attempts (0 = unlimited).
Claw authentication token.
Agent user ID.
Session IDs to monitor.
Panel IDs to monitor.
Allowed user IDs. Empty list allows all.
Mention behavior configuration.
Per-group mention rules.
Reply delay mode:
off or non-mention.Reply delay in milliseconds (default: 2 minutes).
MochatMentionConfig
Require mention in group chats.
MochatGroupRule
Require mention for this specific group.
QQConfig
QQ channel using botpy SDK.Enable QQ channel.
Robot ID (AppID) from q.qq.com.
Robot secret (AppSecret) from q.qq.com.
Allowed user openids. Empty list = public access.
Matrix
MatrixConfig
Matrix (Element) protocol configuration.Enable Matrix channel.
Matrix homeserver URL.
Access token for bot authentication.
Bot user ID (e.g.,
@bot:matrix.org).Device ID for this bot instance.
Enable end-to-end encryption support.
Graceful shutdown timeout for sync_forever.
Maximum attachment size (20MB default).
Allowed user IDs. Empty list allows all.
Group chat behavior:
open, mention, or allowlist.Allowed room IDs when using
allowlist policy.Allow
@room mentions to trigger responses.Configuration Examples
Basic Telegram Setup
Discord with Group Policy
Email with Gmail
Slack with Threading
Matrix with E2EE
Multiple Channels
Access Control
All channels supportallowFrom for access control:
- Empty list: Allow all users (public access)
- With entries: Only allow specified users
Examples
Group Policies
Channels with group chat support offer different policies:open: Respond to all messages in groupsmention: Only respond when bot is mentionedallowlist: Only respond in whitelisted channels/rooms