Supported Channels
Weaver currently supports the following messaging platforms:- Telegram - Popular messaging app with bot API support
- Discord - Gaming and community chat platform
- Slack - Professional workspace communication
- LINE - Leading messaging platform in Asia
- QQ - China’s most popular instant messaging platform
How Channels Work
Weaver’s channel architecture consists of:- Channel Manager - Coordinates all active channels and message routing
- Message Bus - Central hub for inbound and outbound messages
- Channel Adapters - Platform-specific implementations
Message Flow
Configuration
Channels are configured inconfig.yaml under the channels section:
Common Configuration Options
All channels support these common settings:| Field | Type | Description |
|---|---|---|
enabled | boolean | Enable/disable the channel |
allow_from | array | Whitelist of allowed user IDs (optional) |
Access Control
Every channel implements an allowlist feature through theallow_from configuration:
- If
allow_fromis empty or not set, all users can interact - If
allow_fromcontains user IDs, only those users are allowed - User ID format varies by platform (see individual channel docs)
Media Support
Most channels support various media types:- Images - Automatically downloaded and processed
- Voice/Audio - Can be transcribed using Groq Whisper
- Files - Downloaded for agent processing
- Video - Platform-dependent support
Voice Transcription
Channels can integrate with Groq’s Whisper API for voice message transcription:Starting Channels
The Channel Manager automatically starts all enabled channels when Weaver launches. Each channel:- Initializes its connection to the platform API
- Registers event handlers for incoming messages
- Begins listening for user messages
- Subscribes to the outbound message bus
Message Metadata
Channels attach platform-specific metadata to each message:message_id- Platform’s unique message identifieruser_id- Sender’s user IDusername- Sender’s display namechannel_id- Platform-specific channel/chat identifier- Additional platform-specific fields
Error Handling
All channels implement graceful error handling:- Failed message sends are logged but don’t crash the system
- Network errors trigger automatic reconnection attempts
- Invalid configurations prevent channel startup with clear error messages
Next Steps
Choose a platform to integrate:Telegram
Set up Telegram bot integration
Discord
Configure Discord bot
Slack
Connect to Slack workspace
LINE
Integrate LINE Official Account