openclaw/src/telegram/bot
Josh Long 506bed5aed feat(telegram): add sticker support with vision caching
Add support for receiving and sending Telegram stickers:

Inbound:
- Receive static WEBP stickers (skip animated/video)
- Process stickers through dedicated vision call for descriptions
- Cache vision descriptions to avoid repeated API calls
- Graceful error handling for fetch failures

Outbound:
- Add sticker action to send stickers by fileId
- Add sticker-search action to find cached stickers by query
- Accept stickerId from shared schema, convert to fileId

Cache:
- Store sticker metadata (fileId, emoji, setName, description)
- Fuzzy search by description, emoji, and set name
- Persist to ~/.clawdbot/telegram/sticker-cache.json

Config:
- Single `channels.telegram.actions.sticker` option enables both
  send and search actions

🤖 AI-assisted: Built with Claude Code (claude-opus-4-5)
Testing: Fully tested - unit tests pass, live tested on dev gateway
The contributor understands and has reviewed all code changes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:47:23 +05:30
..
delivery.test.ts refactor: streamline telegram voice fallback 2026-01-25 13:26:39 +00:00
delivery.ts feat(telegram): add sticker support with vision caching 2026-01-27 12:47:23 +05:30
helpers.expand-text-links.test.ts fix: normalize gateway dev mode detection 2026-01-18 01:08:47 +00:00
helpers.test.ts fix: normalize telegram forwarded context (#1090) (thanks @sleontenko) 2026-01-17 18:08:23 +00:00
helpers.ts fix: normalize gateway dev mode detection 2026-01-18 01:08:47 +00:00
types.ts feat(telegram): add sticker support with vision caching 2026-01-27 12:47:23 +05:30