channel-bridge
channel-bridge
Purpose
This skill facilitates cross-channel messaging routing between Signal, Telegram, and Discord. It handles message formatting (e.g., converting Markdown to plain text), differentiates between simple message sends and session-based transmissions, supports broadcasting to multiple channels, and manages reactions across platforms.
When to Use
Use this skill when integrating disparate messaging apps, such as forwarding alerts from Signal to Discord for team notifications, broadcasting updates across Telegram and Signal for distributed teams, or routing user reactions (e.g., likes) from Discord to Signal for unified feedback tracking. Apply it in scenarios requiring real-time cross-platform communication without manual intervention.
Key Capabilities
- Message Formatting: Automatically converts content formats; e.g., use Discord's Markdown syntax and strip it for Signal via the
formatflag. - Routing Options: Distinguishes between
message(simple send) andsessions_send(persistent session-based routing) using API parameters liketype: "message"ortype: "sessions_send". - Broadcasting: Sends messages to multiple channels simultaneously; e.g., specify targets with a JSON array like
["signal:group1", "discord:channel2"]. - Reactions Handling: Propagates reactions (e.g., emojis) across platforms; e.g., map Discord reactions to Signal reactions via a predefined config mapping.
- Error Resilience: Includes retry logic for failed transmissions, with configurable thresholds.
Usage Patterns
Always initialize with authentication via environment variables (e.g., $SIGNAL_API_KEY, $TELEGRAM_BOT_TOKEN). For CLI, pipe inputs directly; for API, use HTTP requests with JSON payloads. Pattern 1: Single-channel routing—send a message from one platform to another. Pattern 2: Broadcast—specify multiple targets in a single command. Pattern 3: Reaction handling—monitor and forward reactions using webhooks. Validate inputs first (e.g., check message length limits per platform: Signal=4096 chars, Discord=2000 chars). For sessions, establish a persistent connection by including --session-id in commands.
More from alphaonedev/openclaw-graph
playwright-scraper
Playwright web scraping: dynamic content, auth flows, pagination, data extraction, screenshots
1.4Kgcp-iam
Manages identity and access control for Google Cloud resources using IAM policies and roles.
370humanize-ai-text
AI text humanization: reduce AI-detection patterns, natural phrasing, tone adjustment
260macos-automation
AppleScript, JXA, Shortcuts, Automator, osascript, System Events, accessibility API
173tavily-web-search
Tavily: web search optimized for AI agents, answer synthesis, domain filtering, depth control
155clawflows
OpenClaw workflow automation: multi-step task chains, conditional logic, triggers, schedule
102