openclaw/src/telegram
A. Duk 284b54af42
feat: Add support for Telegram quote (partial message replies) (#2900)
* feat: Add support for Telegram quote (partial message replies)

- Enhanced describeReplyTarget() to detect and extract quoted text from msg.quote
- Updated reply formatting to distinguish between full message replies and quotes
- Added isQuote flag to replyTarget object for proper identification
- Quote replies show as [Quoting user] "quoted text" [/Quoting]
- Regular replies unchanged: [Replying to user] full message [/Replying]

Resolves need for partial message reply support in Telegram Bot API.
Backward compatible with existing reply functionality.

* updating references

* Mac: finish Moltbot rename

* Mac: finish Moltbot rename (paths)

* fix(macOS): rename Clawdbot directories to Moltbot for naming consistency

Directory renames:
- apps/macos/Sources/Clawdbot → Moltbot
- apps/macos/Sources/ClawdbotDiscovery → MoltbotDiscovery
- apps/macos/Sources/ClawdbotIPC → MoltbotIPC
- apps/macos/Sources/ClawdbotMacCLI → MoltbotMacCLI
- apps/macos/Sources/ClawdbotProtocol → MoltbotProtocol
- apps/macos/Tests/ClawdbotIPCTests → MoltbotIPCTests
- apps/shared/ClawdbotKit → MoltbotKit
- apps/shared/MoltbotKit/Sources/Clawdbot* → Moltbot*
- apps/shared/MoltbotKit/Tests/ClawdbotKitTests → MoltbotKitTests

Resource renames:
- Clawdbot.icns → Moltbot.icns

Code fixes:
- Update Package.swift paths to reference Moltbot* directories
- Fix clawdbot* → moltbot* symbol references in Swift code:
  - clawdbotManagedPaths → moltbotManagedPaths
  - clawdbotExecutable → moltbotExecutable
  - clawdbotCommand → moltbotCommand
  - clawdbotNodeCommand → moltbotNodeCommand
  - clawdbotOAuthDirEnv → moltbotOAuthDirEnv
  - clawdbotSelectSettingsTab → moltbotSelectSettingsTab

* fix: update remaining ClawdbotKit path references to MoltbotKit

- scripts/bundle-a2ui.sh: A2UI_APP_DIR path
- package.json: format:swift and protocol:check paths
- scripts/protocol-gen-swift.ts: output paths
- .github/dependabot.yml: directory path and comment
- .gitignore: build cache paths
- .swiftformat: exclusion paths
- .swiftlint.yml: exclusion path
- apps/android/app/build.gradle.kts: assets.srcDir path
- apps/ios/project.yml: package path
- apps/ios/README.md: documentation reference
- docs/concepts/typebox.md: documentation reference
- apps/shared/MoltbotKit/Package.swift: fix argument order

* chore: update Package.resolved after dependency resolution

* fix: add MACOS_APP_SOURCES_DIR constant and update test to use new path

The cron-protocol-conformance test was using LEGACY_MACOS_APP_SOURCES_DIR
which points to the old Clawdbot path. Added a new MACOS_APP_SOURCES_DIR
constant for the current Moltbot path and updated the test to use it.

* fix: finish Moltbot macOS rename (#2844) (thanks @fal3)

* Extensions: use workspace moltbot in memory-core

* fix(security): recognize Venice-style claude-opus-45 as top-tier model

The security audit was incorrectly flagging venice/claude-opus-45 as
'Below Claude 4.5' because the regex expected -4-5 (with dash) but
Venice uses -45 (without dash between 4 and 5).

Updated isClaude45OrHigher() regex to match both formats.
Added test case to prevent regression.

* Branding: update bot.molt bundle IDs + launchd labels

* Branding: remove legacy android packages

* fix: wire telegram quote support (#2900)

Co-authored-by: aduk059 <aduk059@users.noreply.github.com>

* fix: support Telegram quote replies (#2900) (thanks @aduk059)

---------

Co-authored-by: Gustavo Madeira Santana <gumadeiras@users.noreply.github.com>
Co-authored-by: Shadow <shadow@clawd.bot>
Co-authored-by: Alex Fallah <alexfallah7@gmail.com>
Co-authored-by: Josh Palmer <joshp123@users.noreply.github.com>
Co-authored-by: jonisjongithub <jonisjongithub@users.noreply.github.com>
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
Co-authored-by: aduk059 <aduk059@users.noreply.github.com>
2026-01-27 15:59:24 -05:00
..
bot feat: Add support for Telegram quote (partial message replies) (#2900) 2026-01-27 15:59:24 -05:00
accounts.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
accounts.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
allowed-updates.ts fix: refine telegram reactions (#964) (thanks @bohdanpodvirnyi) 2026-01-15 17:20:17 +00:00
api-logging.ts telegram: centralize api error logging 2026-01-26 20:27:36 -06:00
audit.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
audit.ts fix: normalize gateway dev mode detection 2026-01-18 01:08:47 +00:00
bot-access.ts fix: stabilize ci checks 2026-01-19 00:34:26 +00:00
bot-handlers.ts fix: land /help + /commands formatting (#2504) (thanks @hougangdev) 2026-01-27 02:43:14 -05:00
bot-message-context.dm-threads.test.ts Telegram: threaded conversation support (#1597) 2026-01-25 04:48:51 +00:00
bot-message-context.sender-prefix.test.ts fix(auth): skip auth profiles in cooldown during selection and rotation 2026-01-23 03:28:18 +00:00
bot-message-context.ts feat: Add support for Telegram quote (partial message replies) (#2900) 2026-01-27 15:59:24 -05:00
bot-message-dispatch.ts feat: Add support for Telegram quote (partial message replies) (#2900) 2026-01-27 15:59:24 -05:00
bot-message.test.ts fix: emit diagnostics across channels 2026-01-21 00:30:34 +00:00
bot-message.ts fix: emit diagnostics across channels 2026-01-21 00:30:34 +00:00
bot-native-commands.plugin-auth.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot-native-commands.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot-updates.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
bot.create-telegram-bot.accepts-group-messages-mentionpatterns-match-without-botusername.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.applies-topic-skill-filters-system-prompts.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.blocks-all-group-messages-grouppolicy-is.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.dedupes-duplicate-callback-query-updates-by-update.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.installs-grammy-throttler.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.matches-tg-prefixed-allowfrom-entries-case-insensitively.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.matches-usernames-case-insensitively-grouppolicy-is.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.routes-dms-by-telegram-accountid-binding.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.create-telegram-bot.sends-replies-without-native-reply-threading.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.media.downloads-media-file-path-no-file-download.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.media.includes-location-text-ctx-fields-pins.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
bot.test.ts feat: Add support for Telegram quote (partial message replies) (#2900) 2026-01-27 15:59:24 -05:00
bot.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
caption.ts refactor: share telegram caption splitting 2026-01-17 03:50:09 +00:00
download.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
download.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
draft-chunking.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
draft-chunking.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
draft-stream.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
fetch.test.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
fetch.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
format.test.ts fix: telegram html formatting (#435, thanks @RandyVentures) 2026-01-08 02:34:32 +01:00
format.ts fix: render Telegram media captions 2026-01-24 03:39:25 +00:00
group-migration.test.ts fix(telegram): migrate group config on supergroup IDs (#906) 2026-01-15 01:10:30 +00:00
group-migration.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
index.ts feat: unify provider reaction tools 2026-01-07 04:16:39 +01:00
inline-buttons.test.ts refactor: prune legacy group targets 2026-01-17 09:01:47 +00:00
inline-buttons.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
monitor.test.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
monitor.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
network-config.test.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
network-config.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
network-errors.test.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
network-errors.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
pairing-store.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
pairing-store.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
probe.ts fix: normalize gateway dev mode detection 2026-01-18 01:08:47 +00:00
proxy.ts fix: normalize abort signals for telegram fetch 2026-01-21 16:46:58 +00:00
reaction-level.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reaction-level.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
send.caption-split.test.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
send.edit-message.test.ts feat(telegram): add edit message action (#2394) (thanks @marcelomar21) 2026-01-26 15:34:47 -08:00
send.preserves-thread-params-plain-text-fallback.test.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
send.proxy.test.ts Telegram: harden network retries and config 2026-01-26 19:36:43 -05:00
send.returns-undefined-empty-input.test.ts feat(telegram): add sticker support with vision caching 2026-01-27 12:47:23 +05:30
send.ts feat: Add support for Telegram quote (partial message replies) (#2900) 2026-01-27 15:59:24 -05:00
sent-message-cache.test.ts fix: lint errors 2026-01-15 17:07:38 +00:00
sent-message-cache.ts fix: lint errors 2026-01-15 17:07:38 +00:00
sticker-cache.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
sticker-cache.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
targets.test.ts refactor: prune legacy group targets 2026-01-17 09:01:47 +00:00
targets.ts refactor: prune legacy group targets 2026-01-17 09:01:47 +00:00
token.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
token.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
update-offset-store.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
update-offset-store.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
voice.test.ts refactor: consolidate reply/media helpers 2026-01-10 02:41:16 +01:00
voice.ts refactor: unify inline directives and media fetch 2026-01-10 03:01:04 +01:00
webhook-set.ts telegram: centralize api error logging 2026-01-26 20:27:36 -06:00
webhook.test.ts fix: refine telegram reactions (#964) (thanks @bohdanpodvirnyi) 2026-01-15 17:20:17 +00:00
webhook.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00