spiceoogway
|
84c1ab4d55
|
feat(telegram-gramjs): Phase 1 - User account adapter with tests and docs
Implements Telegram user account support via GramJS/MTProto (#937).
## What's New
- Complete GramJS channel adapter for user accounts (not bots)
- Interactive auth flow (phone → SMS → 2FA)
- Session persistence via StringSession
- DM and group message support
- Security policies (allowFrom, dmPolicy, groupPolicy)
- Multi-account configuration
## Files Added
### Core Implementation (src/telegram-gramjs/)
- auth.ts - Interactive authentication flow
- auth.test.ts - Auth flow tests (mocked)
- client.ts - GramJS TelegramClient wrapper
- config.ts - Config adapter for multi-account
- gateway.ts - Gateway adapter (poll/send)
- handlers.ts - Message conversion (GramJS → openclaw)
- handlers.test.ts - Message conversion tests
- setup.ts - CLI setup wizard
- types.ts - TypeScript type definitions
- index.ts - Module exports
### Configuration
- src/config/types.telegram-gramjs.ts - Config schema
### Plugin Extension
- extensions/telegram-gramjs/index.ts - Plugin registration
- extensions/telegram-gramjs/src/channel.ts - Channel plugin implementation
- extensions/telegram-gramjs/openclaw.plugin.json - Plugin manifest
- extensions/telegram-gramjs/package.json - Dependencies
### Documentation
- docs/channels/telegram-gramjs.md - Complete setup guide (14KB)
- GRAMJS-PHASE1-SUMMARY.md - Implementation summary
### Registry
- src/channels/registry.ts - Added telegram-gramjs to CHAT_CHANNEL_ORDER
## Test Coverage
- ✅ Auth flow with phone/SMS/2FA (mocked)
- ✅ Phone number validation
- ✅ Session verification
- ✅ Message conversion (DM, group, reply)
- ✅ Session key routing
- ✅ Command extraction
- ✅ Edge cases (empty messages, special chars)
## Features Implemented (Phase 1)
- ✅ User account authentication via MTProto
- ✅ DM message send/receive
- ✅ Group message send/receive
- ✅ Reply context preservation
- ✅ Security policies (pairing, allowlist)
- ✅ Multi-account support
- ✅ Session persistence
- ✅ Command detection
## Next Steps (Phase 2)
- Media support (photos, videos, files)
- Voice messages and stickers
- Message editing and deletion
- Reactions
- Channel messages
## Documentation Highlights
- Getting API credentials from my.telegram.org
- Interactive setup wizard walkthrough
- DM and group policies configuration
- Multi-account examples
- Rate limits and troubleshooting
- Security best practices
- Migration guide from Bot API
Closes #937 (Phase 1)
|
2026-01-30 03:03:15 -05:00 |
|
Peter Steinberger
|
9a7160786a
|
refactor: rename to openclaw
|
2026-01-30 03:16:21 +01:00 |
|
Peter Steinberger
|
83460df96f
|
chore: update molt.bot domains
|
2026-01-27 12:21:01 +00:00 |
|
iHildy
|
b76cd6695d
|
feat: add beta googlechat channel
|
2026-01-24 23:30:45 +00:00 |
|
Peter Steinberger
|
9a2bf57e1c
|
refactor: extend channel plugin boundary
|
2026-01-20 12:07:54 +00:00 |
|
Tyler Yust
|
1eab8fa9b0
|
Step 5 + Review
|
2026-01-20 12:07:54 +00:00 |
|
Peter Steinberger
|
ee6e534ccb
|
refactor: route channel runtime via plugin api
|
2026-01-18 11:01:16 +00:00 |
|
Peter Steinberger
|
c5e19f5c67
|
refactor: migrate messaging plugins to sdk
|
2026-01-18 08:54:00 +00:00 |
|
Peter Steinberger
|
7cebe7a506
|
style: run oxfmt
|
2026-01-17 08:00:05 +00:00 |
|
Peter Steinberger
|
6a3ed5c850
|
fix(security): gate slash/control commands
|
2026-01-17 06:49:34 +00:00 |
|
Peter Steinberger
|
d9f9e93dee
|
feat!: move msteams to plugin
|
2026-01-16 02:59:43 +00:00 |
|
Peter Steinberger
|
2b4a68e276
|
feat: load channel plugins
|
2026-01-15 02:42:44 +00:00 |
|
Peter Steinberger
|
c379191f80
|
chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
|
2026-01-14 15:02:19 +00:00 |
|
Peter Steinberger
|
90342a4f3a
|
refactor!: rename chat providers to channels
|
2026-01-13 08:40:39 +00:00 |
|