openclaw/src/telegram
Bob 6a705a37f2
ACP: add persistent Discord channel and Telegram topic bindings (#34873)
* docs: add ACP persistent binding experiment plan

* docs: align ACP persistent binding spec to channel-local config

* docs: scope Telegram ACP bindings to forum topics only

* docs: lock bound /new and /reset behavior to in-place ACP reset

* ACP: add persistent discord/telegram conversation bindings

* ACP: fix persistent binding reuse and discord thread parent context

* docs: document channel-specific persistent ACP bindings

* ACP: split persistent bindings and share conversation id helpers

* ACP: defer configured binding init until preflight passes

* ACP: fix discord thread parent fallback and explicit disable inheritance

* ACP: keep bound /new and /reset in-place

* ACP: honor configured bindings in native command flows

* ACP: avoid configured fallback after runtime bind failure

* docs: refine ACP bindings experiment config examples

* acp: cut over to typed top-level persistent bindings

* ACP bindings: harden reset recovery and native command auth

* Docs: add ACP bound command auth proposal

* Tests: normalize i18n registry zh-CN assertion encoding

* ACP bindings: address review findings for reset and fallback routing

* ACP reset: gate hooks on success and preserve /new arguments

* ACP bindings: fix auth and binding-priority review findings

* Telegram ACP: gate ensure on auth and accepted messages

* ACP bindings: fix session-key precedence and unavailable handling

* ACP reset/native commands: honor fallback targets and abort on bootstrap failure

* Config schema: validate ACP binding channel and Telegram topic IDs

* Discord ACP: apply configured DM bindings to native commands

* ACP reset tails: dispatch through ACP after command handling

* ACP tails/native reset auth: fix target dispatch and restore full auth

* ACP reset detection: fallback to active ACP keys for DM contexts

* Tests: type runTurn mock input in ACP dispatch test

* ACP: dedup binding route bootstrap and reset target resolution

* reply: align ACP reset hooks with bound session key

* docs: replace personal discord ids with placeholders

* fix: add changelog entry for ACP persistent bindings (#34873) (thanks @dutifulbob)

---------

Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com>
2026-03-05 09:38:12 +01:00
..
bot fix: guard malformed Telegram replies and pass hook accountId 2026-03-03 17:01:04 +05:30
accounts.test.ts fix(telegram): warn when accounts.default is missing in multi-account setup (#32544) 2026-03-03 03:27:19 -05:00
accounts.ts fix(telegram): warn when accounts.default is missing in multi-account setup (#32544) 2026-03-03 03:27:19 -05:00
allowed-updates.ts
api-logging.ts
audit-membership-runtime.ts build: fix ineffective dynamic imports with lazy boundaries (#33690) 2026-03-03 20:14:41 -05:00
audit.test.ts refactor(channels): dedupe message routing and telegram helpers 2026-02-22 07:44:57 +00:00
audit.ts build: fix ineffective dynamic imports with lazy boundaries (#33690) 2026-03-03 20:14:41 -05:00
bot-access.ts fix(security): keep DM pairing allowlists out of group auth 2026-02-26 12:58:18 +01:00
bot-handlers.ts fix(telegram): debounce forwarded media-only bursts 2026-03-03 05:52:14 +00:00
bot-message-context.acp-bindings.test.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
bot-message-context.audio-transcript.test.ts refactor(channels): dedupe monitor message test flows 2026-03-03 01:06:00 +00:00
bot-message-context.dm-threads.test.ts telegram: route dm sessions by sender id 2026-03-02 22:08:07 +00:00
bot-message-context.dm-topic-threadid.test.ts Fix Telegram DM last-route metadata leakage (#19491) 2026-02-22 11:29:59 +05:30
bot-message-context.implicit-mention.test.ts refactor(auto-reply,telegram,config): extract guard and forum helpers 2026-03-02 23:48:11 +00:00
bot-message-context.sender-prefix.test.ts refactor(channels): dedupe message routing and telegram helpers 2026-02-22 07:44:57 +00:00
bot-message-context.test-harness.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
bot-message-context.topic-agentid.test.ts fix: tighten telegram topic-agent docs + fallback tests (#33647) (thanks @kesor) 2026-03-04 09:35:53 +05:30
bot-message-context.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
bot-message-dispatch.sticker-media.test.ts test(integration): dedupe messaging, secrets, and plugin test suites 2026-03-02 07:13:11 +00:00
bot-message-dispatch.test.ts fix: stabilize telegram draft boundary previews (#33842) (thanks @ngutman) 2026-03-04 08:55:27 +05:30
bot-message-dispatch.ts fix: stabilize telegram draft boundary previews (#33842) (thanks @ngutman) 2026-03-04 08:55:27 +05:30
bot-message.test.ts test(telegram): dedupe bot message processor call setup 2026-02-22 07:35:54 +00:00
bot-message.ts fix(telegram): include replied media files in reply context (#28488) 2026-02-27 15:16:21 +05:30
bot-native-command-menu.test.ts fix(telegram): move unchanged command-sync log to verbose 2026-03-03 03:05:39 +00:00
bot-native-command-menu.ts fix(telegram): move unchanged command-sync log to verbose 2026-03-03 03:05:39 +00:00
bot-native-commands.plugin-auth.test.ts test(telegram): drop redundant plugin auth mock resets 2026-02-22 07:35:54 +00:00
bot-native-commands.session-meta.test.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
bot-native-commands.skills-allowlist.test.ts fix(skills): scope skill-command APIs to respect agent allowlists (#32155) 2026-03-03 02:00:05 +03:00
bot-native-commands.test-helpers.ts test(telegram): dedupe native-command test setup 2026-02-22 07:48:43 +00:00
bot-native-commands.test.ts follow-up: align ingress, atomic paths, and channel tests with credential semantics (#33733) 2026-03-03 20:29:46 -06:00
bot-native-commands.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
bot-updates.ts
bot.create-telegram-bot.test-harness.ts refactor(telegram): remove unused webhook callback helper (#27816) 2026-03-05 10:10:09 +05:30
bot.create-telegram-bot.test.ts refactor(telegram): extract sequential key module 2026-03-03 02:32:13 +00:00
bot.helpers.test.ts feat(telegram): default streaming preview to partial 2026-03-02 23:04:12 +00:00
bot.media.downloads-media-file-path-no-file-download.e2e.test.ts test: move integration-heavy suites to e2e lane 2026-03-02 05:33:07 +00:00
bot.media.e2e-harness.ts test(e2e): isolate module mocks across harnesses 2026-03-03 05:52:14 +00:00
bot.media.stickers-and-fragments.e2e.test.ts test: move integration-heavy suites to e2e lane 2026-03-02 05:33:07 +00:00
bot.media.test-utils.ts test: fix TS2742 in telegram media test utils 2026-02-25 02:32:35 +00:00
bot.test.ts fix(skills): scope skill-command APIs to respect agent allowlists (#32155) 2026-03-03 02:00:05 +03:00
bot.ts refactor(telegram): remove unused webhook callback helper (#27816) 2026-03-05 10:10:09 +05:30
button-types.ts refactor(test): stabilize case tables and readonly helper inputs 2026-02-22 00:10:07 +01:00
caption.ts
dm-access.ts refactor(telegram): simplify DM media auth precheck flow 2026-02-24 23:49:10 +00:00
draft-chunking.test.ts
draft-chunking.ts fix(security): harden account-key handling against prototype pollution 2026-02-24 01:09:31 +00:00
draft-stream.test-helpers.ts fix: stabilize telegram draft boundary previews (#33842) (thanks @ngutman) 2026-03-04 08:55:27 +05:30
draft-stream.test.ts fix: stabilize telegram draft boundary previews (#33842) (thanks @ngutman) 2026-03-04 08:55:27 +05:30
draft-stream.ts fix: stabilize telegram draft boundary previews (#33842) (thanks @ngutman) 2026-03-04 08:55:27 +05:30
fetch.test.ts refactor(channels): dedupe slack telegram and web monitor tests 2026-03-02 21:32:11 +00:00
fetch.ts refactor(net): unify proxy env checks and guarded fetch modes 2026-03-02 16:24:26 +00:00
format.test.ts fix(markdown): require paired || delimiters for spoiler detection (#26105) 2026-02-25 04:54:51 +00:00
format.ts fix: preserve whitespace in telegram html retry chunking 2026-02-28 08:13:59 +05:30
format.wrap-md.test.ts fix: preserve whitespace in telegram html retry chunking 2026-02-28 08:13:59 +05:30
forum-service-message.ts refactor(auto-reply,telegram,config): extract guard and forum helpers 2026-03-02 23:48:11 +00:00
group-access.base-access.test.ts fix(telegram): fail closed on empty group allowFrom override 2026-02-25 11:54:27 +05:30
group-access.group-policy.test.ts fix: include shared runtime group-policy helper and coverage (#23367) (thanks @bmendonca3) 2026-02-22 12:21:04 +01:00
group-access.policy-access.test.ts refactor: dedupe channel and gateway surfaces 2026-03-02 19:57:33 +00:00
group-access.ts refactor(commands): unify repeated ACP and routing flows 2026-03-02 05:20:19 +00:00
group-config-helpers.ts feat(telegram): improve DM topics support (#30579) (thanks @kesor) 2026-03-02 09:06:45 +05:30
group-migration.test.ts refactor(channels): dedupe plugin routing and channel helpers 2026-02-22 14:08:51 +00:00
group-migration.ts
inline-buttons.test.ts
inline-buttons.ts
lane-delivery.test.ts fix(telegram): materialize dm draft final to avoid duplicates 2026-03-04 16:27:48 +05:30
lane-delivery.ts fix(telegram): materialize dm draft final to avoid duplicates 2026-03-04 16:27:48 +05:30
model-buttons.test.ts refactor: unify queueing and normalize telegram slack flows 2026-03-02 20:55:15 +00:00
model-buttons.ts refactor: unify queueing and normalize telegram slack flows 2026-03-02 20:55:15 +00:00
monitor.test.ts refactor(telegram): remove unused webhook callback helper (#27816) 2026-03-05 10:10:09 +05:30
monitor.ts Telegram: stop bot on polling teardown 2026-03-02 02:09:52 +00:00
network-config.test.ts fix(telegram): add dnsResultOrder=ipv4first default on Node 22+ to fix fetch failures (#5405) 2026-02-22 20:07:51 +05:30
network-config.ts fix(telegram): add dnsResultOrder=ipv4first default on Node 22+ to fix fetch failures (#5405) 2026-02-22 20:07:51 +05:30
network-errors.test.ts fix(telegram): classify undici fetch errors as recoverable for retry (#16699) 2026-02-22 16:16:11 +05:30
network-errors.ts refactor: dedupe channel and gateway surfaces 2026-03-02 19:57:33 +00:00
outbound-params.ts fix(telegram): scope DM topic thread keys by chat id (#31064) 2026-03-02 02:54:45 +00:00
probe.test.ts test(telegram): scope fake timers in probe retry tests 2026-02-22 07:35:54 +00:00
probe.ts
proxy.test.ts fix(telegram): preserve HTTP proxy env in global dispatcher workaround (#29940) 2026-03-01 13:21:01 -08:00
proxy.ts refactor: extract shared proxy-fetch utility from Telegram module 2026-03-02 21:37:36 +00:00
reaction-level.test.ts refactor(channels): dedupe message routing and telegram helpers 2026-02-22 07:44:57 +00:00
reaction-level.ts
reasoning-lane-coordinator.test.ts refactor(text): share code-region parsing for reasoning tags 2026-02-22 07:44:57 +00:00
reasoning-lane-coordinator.ts refactor(text): share code-region parsing for reasoning tags 2026-02-22 07:44:57 +00:00
send.proxy.test.ts test(telegram): table-drive proxy client assertions and trim resets 2026-02-22 07:35:54 +00:00
send.test-harness.ts fix: persist resolved telegram delivery targets at runtime 2026-02-23 11:45:18 +05:30
send.test.ts fix(channels): normalize MIME kind parsing and reaction fallbacks 2026-03-02 23:48:11 +00:00
send.ts fix(outbound): unify resolved cfg threading across send paths (#33987) 2026-03-04 00:20:44 -06:00
sendchataction-401-backoff.test.ts fix(telegram): add sendChatAction 401 backoff guard (land #27415, thanks @widingmarcus-cyber) 2026-02-26 11:45:57 +00:00
sendchataction-401-backoff.ts fix(telegram): add sendChatAction 401 backoff guard (land #27415, thanks @widingmarcus-cyber) 2026-02-26 11:45:57 +00:00
sent-message-cache.ts chore: Dedupe sent-message cache storage (#22127) 2026-02-21 12:34:59 +05:30
sequential-key.test.ts refactor(telegram): extract sequential key module 2026-03-03 02:32:13 +00:00
sequential-key.ts refactor(telegram): extract sequential key module 2026-03-03 02:32:13 +00:00
status-reaction-variants.test.ts fix: preselect Telegram-supported status reaction variants (#22380) 2026-02-21 09:20:20 +05:30
status-reaction-variants.ts fix: preselect Telegram-supported status reaction variants (#22380) 2026-02-21 09:20:20 +05:30
sticker-cache.test.ts
sticker-cache.ts build: fix ineffective dynamic imports with lazy boundaries (#33690) 2026-03-03 20:14:41 -05:00
target-writeback.test.ts fix(cron): preserve telegram announce target + delivery truth 2026-02-23 11:45:18 +05:30
target-writeback.ts fix(cron): preserve telegram announce target + delivery truth 2026-02-23 11:45:18 +05:30
targets.test.ts fix: persist resolved telegram delivery targets at runtime 2026-02-23 11:45:18 +05:30
targets.ts fix: persist resolved telegram delivery targets at runtime 2026-02-23 11:45:18 +05:30
token.test.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
token.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
update-offset-store.test.ts fix(telegram): scope polling offsets per bot and await shared runner stop (#24549) 2026-02-23 09:43:47 -05:00
update-offset-store.ts fix: harden sandbox writes and centralize atomic file writes 2026-03-02 16:45:12 +00:00
voice.test.ts
voice.ts
webhook.test.ts refactor: dedupe channel outbound and monitor tests 2026-03-03 00:15:15 +00:00
webhook.ts feat(diagnostics): add configurable stuck-session warning threshold 2026-03-02 00:07:29 +00:00