feat: telegram multi-chat broadcast + broker fixes#76
feat: telegram multi-chat broadcast + broker fixes#76fprivitera wants to merge 1 commit intoTraderAlice:masterfrom
Conversation
- TelegramConnector: channel name now configurable (first = 'telegram', subsequent = 'telegram:<chatId>') - TelegramPlugin: register one connector per allowed chat for broadcast delivery - heartbeat: use connectorCenter.broadcast() to reach all Telegram chats - config: z.coerce.number() for chatIds so string values from env/json are accepted - AlpacaBroker/CcxtBroker/TradingGit: fixes and expanded test coverage Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Hey Filippo, thanks for the effort — these are real bugs and it's clear you've actually been running OpenAlice. A few notes: Already fixed upstream: The Decimal rehydration crash ( Multi-chat broadcast: The Telegram group/multi-chat feature is intentionally not implemented yet. Alice is currently a single-tenant agent — adding group chat support would rapidly escalate permission management complexity (who can trigger trades? who sees portfolio data? per-chat session isolation?). It's on the radar but not something we can add in the short term. Project policy: We don't accept external PRs for security reasons — OpenAlice executes real financial operations and we need full control over the code surface. See CONTRIBUTING.md for details. That said, bug reports and feature requests via issues are very welcome! |
Summary
TelegramConnectorper allowed chat ID; first uses channel'telegram', subsequent use'telegram:<chatId>'to avoid overwriting the primaryconnectorCenter.notify()toconnectorCenter.broadcast()so all registered Telegram chats receive deliveryz.coerce.number()forchatIdsso string values from env/JSON are accepted without errorAlpacaBroker,CcxtBroker,TradingGitwith expanded test coverage (72 new lines in AlpacaBroker.spec)Test Plan
pnpm test)chatIdsaccepts string values in config (e.g. from env vars)🤖 Generated with Claude Code