Streaming - Complete API Reference
Configure response streaming, typing indicators, and real-time message delivery.
Chat Commands
View Settings
code
/streaming Show current settings /streaming status Streaming status
Configure Streaming
code
/streaming enable Enable streaming /streaming disable Disable streaming /streaming chunk-size 50 Set chunk size (chars) /streaming delay 100 Set delay between chunks (ms)
Typing Indicators
code
/streaming typing on Enable typing indicators /streaming typing off Disable typing indicators /streaming typing duration 3000 Typing duration (ms)
Platform Settings
code
/streaming platforms Show platform limits /streaming platform telegram chunk 100 Set per-platform
TypeScript API Reference
Create Streaming Config
typescript
import { createStreamingConfig } from 'clodds/streaming';
const streaming = createStreamingConfig({
// Enable streaming
enabled: true,
// Chunk settings
minChunkSize: 20, // Min chars per chunk
maxChunkSize: 200, // Max chars per chunk
chunkDelayMs: 50, // Delay between chunks
// Typing indicators
showTyping: true,
typingDurationMs: 3000,
// Platform-specific limits
platformLimits: {
telegram: { maxMessageLength: 4096, maxChunkSize: 100 },
discord: { maxMessageLength: 2000, maxChunkSize: 150 },
slack: { maxMessageLength: 40000, maxChunkSize: 200 },
},
});
Enable/Disable
typescript
// Enable streaming streaming.enable(); // Disable streaming streaming.disable(); // Check status const enabled = streaming.isEnabled();
Configure Chunks
typescript
// Set chunk size
streaming.setChunkSize(100);
// Set delay
streaming.setChunkDelay(75);
// Get current settings
const settings = streaming.getSettings();
console.log(`Chunk size: ${settings.chunkSize}`);
console.log(`Delay: ${settings.chunkDelayMs}ms`);
Platform Settings
typescript
// Set platform-specific limit
streaming.setPlatformLimit('telegram', {
maxMessageLength: 4096,
maxChunkSize: 80,
});
// Get platform limits
const limits = streaming.getPlatformLimits();
Typing Indicators
typescript
// Enable typing streaming.enableTyping(); // Disable typing streaming.disableTyping(); // Set duration streaming.setTypingDuration(5000);
Platform Limits
| Platform | Max Message | Recommended Chunk |
|---|---|---|
| Telegram | 4,096 chars | 80-100 |
| Discord | 2,000 chars | 100-150 |
| Slack | 40,000 chars | 150-200 |
| 65,536 chars | 100-150 | |
| WebChat | Unlimited | 150-200 |
Best Practices
- •Smaller chunks for mobile — Better UX on slow connections
- •Adjust delay for readability — 50-100ms feels natural
- •Disable for short responses — Don't stream "OK"
- •Monitor performance — Streaming adds overhead