Documentation menu

Features

Features & Capabilities

Every verified capability: multi-source routing, per-task content rules, AI rewriting, ordered delivery, observability, ten-language UI and DevOps tooling.

Verified against the checkout built for v2.2.4 · updated 20 Oct 2026

On this page

AutoTelegramForward routes messages between Telegram chats: it reads from source chats you authorize, decides what should go out, rewrites what needs rewriting, and delivers it durably to one or many targets. This page lists every capability, grouped by the subsystem that owns it.

Honest status

What is done, what is partial, what is not built

Every row below is read from the repository's own feature catalog at build time — 18 catalogued capabilities with their completion condition and the entry points that implement them. Nothing on this page is asserted by the website.

Implemented14

14 of 18 catalogued capabilities

Partial2

2 of 18 catalogued capabilities

Planned2

2 of 18 catalogued capabilities

Implemented14 entries
  • Create forwarding ruleclients: web · bot · mobile · miniapp
  • Update forwarding rule (optimistic concurrency)
  • Pause/resume rule with durable queue semantics
  • Durable message forwarding pipeline
  • Branding hop (A -> C -> B) composed with every message transform
  • SHA-256 content fingerprint deduplication
  • Keyword-triggered reply add-on
  • Central Logger gRPC microservice
  • End-to-end correlation ID propagation
  • Web DevOps log explorer with live stream, filters, stats, purge
  • Field-aware secret redaction in logs/errors
  • Dead-letter queue inspect/replay/purge with tenant scoping
  • Telegram timeout classified as OUTCOME_UNCONFIRMED (never silent success/failure)
  • Service topology live health probing
Partial2 entries
  • Database query error/latency events

    Tracked in the catalog as PARTIALLY_IMPLEMENTED with an entry point that does not exist yet.

  • Transactional audit / outbox for business mutations

    Tracked in the catalog as PARTIALLY_IMPLEMENTED with an entry point that does not exist yet.

Planned2 entries
  • Slow-query threshold monitoring with configurable limits

    Tracked in the catalog as NOT_IMPLEMENTED with an entry point that does not exist yet.

  • Bounded-label metrics aggregation (per-feature latency, error rates)

    Tracked in the catalog as NOT_IMPLEMENTED with an entry point that does not exist yet.

Full status boardRelease notes

Generated from docs/feature_catalog.json on every build.

New in v2.2.4

The nine deep dives below cover everything that changed in the v2.0 line — read them in order if you are upgrading from an older release.

RoutingMulti-source → multi-target routingA single task can watch any number of source chats and deliver to any number of targets, with the primary pair mirrored and forum topics addressable per target.Read moreFilteringPer-task content rulesBlacklists, whitelists, link handling, regex gates, length limits and ordered replacements — evaluated cheapest-first, with per-source and per-target overrides.Read moreTransformationAI rewritingEnable or disable LLM rewriting per task, pick a provider, write your own prompts with version history, and keep forwarding even when the model is unreachable.Read moreOperationsObservability & log historyEvery delivery is attributable: the central logger stores queryable history with service, owner and correlation id, and dead letters can be replayed.Read moreReliabilityOrdered deliveryLease-based durable workers, per-channel delivery lanes that preserve post order, atomic cursor persistence, retry with jitter, and no duplicate sends.Read moreReliabilityDedup, replies & editsSHA-256 content and album fingerprinting kills duplicate forwards, reply chains stay linked, and edits and deletions propagate within a bounded window.Read moreInterfacesClients & interfacesTelegram bot UI, React dashboard behind a Rust Axum gateway, Flutter client and a REST/gRPC control plane — all enforced against the same contract fixtures.Read moreLocalizationMultilingual UIEnglish, Persian, Russian, Chinese, Portuguese, Uzbek, Indonesian, Spanish, French and Italian share one catalog with enforced 1:1 parity.Read moreOperationsDevOps CLI & upgrades29 command groups cover setup, tasks, logs, backups, docker, k8s and TLS, with a read-only validator for CI and an upgrade engine behind a health gate.Read more

All features

Capability parity

Same capabilities, four clients

Bot UI, dashboard, mobile app and the REST API are checked against each other, not just documented.

CapabilityBot UIWeb dashboardMobile appREST API
Channel / group / PV forwarding
Multi-source → multi-target tasks
Interactive login (phone / OTP / 2FA)
Content policy (cleaner, filters, regex)
Per-source / per-target policy overrides
AI rewriting + prompt templates
Deduplication, reply & edit sync
Delays, scheduling & auto-delete
Localization (10 languages)
Log explorer, stats & DLQ control
Live topology & health probing
Encrypted backup & migration (.atf)

Verified capability list

Generated from the checkout at build time (18 catalogued behaviours, 78 gRPC methods, 29 CLI command groups).

Routing & Task Model

  • One task = M source chats → N target chats (lists, not single values)
  • Per-task content rules stored as metadata["content_policy"] — no schema migration needed
  • Per-source and per-target policy overrides that can only add constraints, never relax them
  • Primary source/target mirror always kept in step by the sanctioned set_targets() write path
  • Copy mode (clean, no forward tag) vs Direct forward (native Telegram quote header)
  • Forum topic targeting via message_thread_id, per target
  • Priority ordering, execution order and per-task pause/resume

Content Policy Engine

  • Keyword blacklist and whitelist with any / all / phrase matching modes
  • Word-boundary matching (cat never matches concatenate) with Unicode folding
  • Persian/Arabic normalisation so a key typed on one keyboard catches text from another
  • Link blocking and link stripping, plus ReDoS-refused regex_block / regex_require patterns
  • Ordered find → replace pairs (literal or re: regex) applied in a single deterministic pass
  • Length gates and media allow/deny gates evaluated cheapest-first

Transformation & Templates

  • 12 validated shortcodes for headers and footers, interpolated per delivery
  • Dynamic attribution hyperlinks for public and private source channels
  • Emoji, extra-blank-line and inline-keyboard-button cleaning
  • UTF-16 entity offset preservation so bold and italic spans survive cleaning

AI Rewriting

  • Per-task enable/disable toggle that never blocks delivery when the model is unreachable
  • OpenAI, Anthropic, Gemini, Groq, DeepSeek and any OpenAI-compatible base URL
  • Built-in prompt presets: Professional Clean, Persian↔English, Executive Summarizer, Format Enhancer
  • Custom prompt templates with version history, validation and preview/test endpoints
  • Temperature, model, target language and system/user prompt all set per configuration

Observability & Control

  • Central Logger microservice with queryable history (service, level, search, since, limit)
  • Log explorer in web and mobile: live stream, filters, aggregate stats and tenant-scoped purge
  • Attributable history — every entry carries its service, owner and correlation id
  • Dead-letter queue inspect, replay and purge, tenant-scoped
  • OUTCOME_UNCONFIRMED is a first-class outcome — a Telegram timeout is never silent
  • Field-aware [REDACTED] filtering on every log line and error trace
  • Live service topology probing with latency, version and per-service reachability

Delivery Guarantees

  • Durable queue with lease-based workers, exponential backoff and jitter
  • Ordered delivery lanes — a burst is delivered in the order it was posted
  • Atomic channel cursor persistence: the poller no longer races the connection
  • SHA-256 content and album fingerprint deduplication
  • Reply synchronisation and edit/delete synchronisation with a max_time_edit guard
  • FloodWait detection with automatic pause and resume of the affected account
  • Auto-disable of a task when the account loses write access (CHAT_WRITE_FORBIDDEN)

Clients & Interfaces

  • Telegram Bot UI with button-driven panels, submenus and FSM wizards
  • React dashboard served by the Rust Axum gateway with embedded assets
  • Flutter Android/iOS client exposing the same system surface as the dashboard
  • Contract gate: shared fixtures keep web and mobile from drifting apart
  • Telegram Mini App authentication alongside Bearer JWT for the REST API

DevOps & Operations

  • 29 CLI command groups covering setup, rules, logs, docker, k8s, certs and data
  • atf validate — read-only checks usable as a CI pre-deploy gate (--strict, --runtime, --deep)
  • atf doctor and atf system upgrade: git pull → build → recreate → alias repair → health gate
  • Boot persistence via systemd / launchd / Task Scheduler (atf system service install)
  • Portable single-file CLI: atf release portable → dist/atf.pyz (standard library only)
  • Container environment contract check that detects a container older than .env

Security & Multi-Tenancy

  • Fail-closed tenant isolation on every read and write, keyed on immutable numeric user ids
  • Zero cross-tenant visibility across Bot, Web, Mobile, REST and gRPC
  • AES-256-GCM encryption at rest for sessions, bot tokens, AI keys and backups
  • Encrypted .atf export/import bundles for clone and migration
  • Private gRPC network: core and logger bind to internal interfaces only

Localization

  • 10 languages with mandatory 1:1 catalog parity (en, es, fa, fr, id, it, pt, ru, uz, zh)
  • Per-user language resolution with strict English fallback — never Persian
  • RTL layout for Persian and Arabic-script content in web, mobile and bot UI
  • Automated cross-language audits wired into the CLI validator and CI

Shortcode reference

Twelve validated shortcodes, interpolated per delivery
ShortcodeMeaningRendered example
[[ORIGIN_TEXT]]Message body after the cleaner and policy passesBreaking market report...
[[ORIGIN_NAME]]Title of the source channel or supergroupCrypto News Daily
[[ORIGIN_USERNAME]]Public @handle of the source channelcryptonewsdaily
[[ORIGIN_USERID]]Numeric Telegram id of the sender10842918
[[ORIGIN_POST_ID]]Original post id inside the source channel4921
[[ORIGIN_CHAT_ID]]Numeric id of the source channel-1001695513745
[[ORIGIN_POST_DATE]]Original publication timestamp (UTC)2026-10-16 14:00 UTC
[[ORIGIN_NAME_URL]]Markdown hyperlink back to the original post[Crypto News](https://t.me/cryptonewsdaily/4921)
[[SOURCE_NAME]]Alias for the source channel titleCrypto News Daily
[[SENDER_CHAT]]Chat id the post was sent in-1001695513745
[[FORWARD_FROM_CHAT]]Original chat when the incoming post was itself a forwardReuters Telegram
[[FROM_USER]]Display name of the original authorJohn Doe

Want to see them rendered?

The playground runs the cleaner, the shortcode interpolation and the delivery preview entirely in your browser.

Open the playground