Complete Feature Guide

Everything @Auto_ForwardMessagesBot can do

A full beginner-to-advanced walkthrough of every feature. If you have never used the bot before, start at Section 1. Each card can be expanded for step-by-step instructions, real examples, and tips.

Free — $0 Basic — $7/mo Plus — $10/mo Pro — $12/mo
1. Forwarding 2. Type Filters 3. Keywords 4. Transforms 5. Cleaner 6. Timing 7. Translation 8. Media Transform 9. Watermark 10. Advanced 11. Stats & Backup
Section 1

The Forwarding Engine

This is the core of the bot. It watches your source channels and copies every new message to your destination channels — automatically, 24/7, in under 1 second. All other features (filters, transforms, scheduling) run on top of this.

📡
Real-time message forwardingFree
Every new message in the source is automatically copied to your destination in under 1 second — 24/7, even when your phone is off.
What it does (beginner)

You pick a source channel (a Telegram channel or group you are a member of) and a destination channel (a channel or group where you want the messages to arrive). The bot connects to your Telegram account and the moment a new message is posted in the source, it copies it to the destination automatically. You do not have to do anything after initial setup.

Real-world example

You run a crypto signals group. Three paid channels post signals. You want those signals automatically shared to your own group. Add each of the 3 channels as a source and your group as the destination — every signal arrives in your group within a second of being posted, 24/7.

1
Connect your Telegram account: Send /connect +YourPhoneNumber to the bot. Telegram sends a one-time verification code to your phone — no password required. Enter the code when prompted (prefix it with aa, e.g. aa12345).
2
Find your channel IDs: Send /chats to the bot. It lists every channel and group your account is in, with their numeric IDs. Channel IDs look like -1001234567890 (always start with -100). Copy the IDs you need.
3
Create a redirection rule: Send /manage, tap Add Redirection, and give it a name (e.g. "Crypto Signals"). Then tap Add Pair and enter the source ID and destination ID.
4
Enable the rule: Toggle it ON. Forwarding starts immediately. You can add more pairs to the same rule (Basic: up to 3 pairs, Plus: up to 5, Pro: unlimited) and create multiple rules.
💡 Tip: The bot works on restricted / content-protected channels (channels with forwarding disabled for regular users) because it uses your actual Telegram account — not a bot token. If you can read the messages, the bot can forward them.
  • Works on private channels, public channels, groups — any chat you are a member of
  • Works on content-protected channels where regular forwarding is blocked
  • Multiple source→destination pairs per rule
  • Multiple rules, each with independent settings
  • Runs on our servers 24/7 — no need to keep Telegram or your device on
✏️
Mirror editsFree
When the source edits a message, the forwarded copy in your destination is automatically updated to match.
How it works

The bot stores a mapping of each source message ID to the forwarded message ID in the destination. When an edit event arrives for the source message, the bot edits the corresponding destination message with the new content. Your destination always reflects the current, up-to-date version.

When to disable

If you specifically want to preserve the original (un-edited) version in your destination — e.g. for archiving “first drafts” of news stories — turn this OFF in Processing settings. The destination copy will remain unchanged even if the source edits the message later.

Where to find it: /manage → select rule → Processing → toggle Mirror Edits. ON by default.
🗑️
Mirror deletionsFree
When a message is deleted from the source, its copy in your destination is deleted too.
How it works

When a source admin deletes a message (a wrong signal was sent, a post was recalled), the bot deletes the forwarded copy from your destination. Keeps your destination clean and consistent with the source.

When to disable

If you want a permanent archive — keeping every message even after the source deletes it — turn this OFF. Every forwarded message stays in your destination permanently regardless of what happens in the source.

Where to find it: /manage → rule → Processing → toggle Mirror Deletions. ON by default.
🖼️
Album & photo group forwardingFree
Groups of 2–10 photos sent as an album are forwarded as a single album — never split into separate photos.
How it works

Under the hood, Telegram sends each photo in an album as a separate message, all sharing the same “media group ID”. The bot buffers incoming messages for 1.2 seconds, groups those sharing the same ID, and forwards the entire album as one grouped message — exactly as the original appeared.

Why it matters

Without this, a 10-photo product album would arrive in your destination as 10 separate photo messages, cluttering the chat. With buffering it arrives as one clean photo gallery. This runs automatically for all rules — no setup needed.

🔄
Catch-up on restart (missed messages)Free
If the bot was briefly offline, it automatically replays and forwards missed messages — up to 200 per source — when it comes back online.
How it works

The bot records the last message ID it successfully forwarded from each source. On restart, it checks the source for any messages posted after that ID and forwards them in order, up to a ceiling of 200 messages per source. Runs silently within seconds of coming back online.

What this means for you

Brief server maintenance or a bot restart will not cause you to miss messages. For very high-volume channels during extended downtime, messages beyond the 200-message ceiling won’t replay — but normal restarts typically affect at most a handful of messages.

💬
Forward with quote (show source name)Free
Choose whether forwarded messages show a "Forwarded from [Channel]" label or appear as original posts without attribution.
Quote Mode OFF (default)

Messages appear in the destination as if they were sent by your account directly — no "Forwarded from" banner. The source channel name is completely hidden. Best for rebranding content, private aggregation, or when you don’t want to expose your sources.

Quote Mode ON

Messages show a "Forwarded from [Channel Name]" header in the destination. The original source is visible to anyone who sees the message. Best when you want to credit the original channel or maintain transparency about content origins.

Where to find it: /manage → rule → Processing → toggle Quote Mode. OFF by default.
↩️
Process reply messages & thread repliesFree
Control whether reply messages (messages replying to another message) and thread replies are forwarded or skipped.
What are reply messages

In Telegram, when someone taps "Reply" on a message and writes a response, the new message is a reply. In channels with comments enabled, replies appear as threaded discussions. By default the bot forwards these along with regular posts.

When to disable

If your source is a channel with an active comments section and you only want the main channel posts (not the reader comments/replies), disable this. Only top-level posts from the channel will be forwarded.

Where to find it: /manage → rule → Processing → toggle Process Reply. ON by default.
Section 2

Message Type Filters

Type filters let you control exactly which categories of messages get forwarded. By default everything passes through. You toggle individual types OFF to block them, or combine them to create an exact allow-list of what you want.

🎫
All 16 content type filtersBasic+
Toggle each message type independently per rule. All are ON by default — turn any OFF to block that type.

All toggleable message types (all ON by default):

💬 Text
📷 Photo
🎥 Video
🎵 Audio / Music
🎤 Voice note
📎 Document / File
🎞 Animation / GIF
😄 Sticker
📊 Poll
↩ Reply messages
📤 Forwarded messages
🔗 Messages with URLs
# Messages with hashtags
📸 Messages with caption
🎤 Audio with caption only
📷 Photo with caption only

Detailed explanation of every filter type:

Text

Plain text messages with no media attached. A message that is only words, no photo or file. Turn OFF to stop forwarding text-only posts — useful if you only want media from a source.

Photo

Messages containing a photo or image. Includes photos sent with or without a caption. Turn OFF to skip all image posts and only forward text or other media.

Video

Video files or video messages. Includes videos sent with captions. Turn OFF if you don’t want large video files filling your destination channel.

Audio / Music

Audio files uploaded as music (with title and artist shown). Different from voice notes. Turn OFF to skip music files while still allowing voice messages, or vice versa.

Voice note

Short voice recordings sent by pressing the microphone button in Telegram. These are different from uploaded audio files. Turn OFF to skip voice messages only.

Document / File

Any file uploaded as a document — PDFs, ZIPs, EXEs, DOCX, XLSX, code files, APKs, etc. Turn OFF to stop forwarding file attachments and only forward media.

Animation / GIF

Animated GIF files and MPEG4 looping videos (the ones that auto-play silently). These are separate from regular videos. Turn OFF to remove animations from your destination.

Sticker

Telegram stickers (static and animated). Often used for reactions in groups — they rarely carry useful information. Turn OFF to keep your destination professional and clutter-free.

Poll

Interactive polls created in Telegram. Turn OFF if you don’t want polls forwarded to your destination (they can’t be voted on in a channel you re-post to, so they’re often useless there).

Reply messages

Messages that are replies to another message (they quote the original). Channels with comments sections generate many of these. Turn OFF to skip all replies and only forward top-level posts.

Forwarded messages

Messages that were themselves forwarded from another channel or user (they show a "Forwarded from X" banner in the source). Turn OFF if you only want original posts and not re-shared content.

Messages with URLs / Links

Any message whose text contains a hyperlink (https://, t.me/, www., or bare domains). Turn OFF to block all messages containing any kind of link — great for filtering out spam and promotional posts.

Messages with hashtags

Any message whose text contains one or more #hashtags. Many promotional posts use hashtags like #ad #promo #sale. Turn OFF to block all messages containing hashtags.

Messages with caption

Media messages (photo, video, audio, document) that have any text caption attached. Turn OFF to allow only bare media with no text attached, or turn OFF to skip captioned media and let only text messages through.

⭐ Audio with caption only

Special filter: When ON, only forward audio messages that include a caption (description text). Audio files without any caption text are skipped. Useful when you only want properly labelled, described audio — not random unlabelled voice clips.

⭐ Photo with caption only

Special filter: When ON, only forward photos that include a caption. Photos without any text are skipped. Useful for news channels where you want photo+context posts but not standalone photos with no explanation.

Example: Set up a "text and photos only" rule
You aggregate a noisy news channel that posts everything — text, photos, videos, GIFs, stickers, polls, voice messages. You only want text and photos in your destination.

Action: In Filters, turn OFF: Video, Audio, Voice note, Document, Animation/GIF, Sticker, Poll, Reply, Forwarded messages.

Result: Only clean text posts and photos reach your destination.
1
Open /manage and tap the rule you want to configure.
2
Tap Filters. You see a full grid of toggle buttons, one per message type.
3
Toggle any type OFF (it turns grey/red) to block it. Toggle back ON (green) to allow it. Changes take effect immediately — no restart needed.
💡 Remember: All 16 types are ON by default. The bot forwards everything unless you explicitly turn something OFF. Start by turning off the types you don’t want — that’s all you need to do.
Section 3

Keyword Filters — Whitelist & Blacklist

Type filters control what kind of message passes through. Keyword filters control messages based on what’s written inside them. You can allow only messages mentioning “BTC”, or block any message containing “advertisement”. These work on message text and captions.

Whitelist — only forward these keywordsPlus+
Only forward messages containing at least one word from your whitelist. Every other message is silently dropped.
How it works

You add a list of words or phrases. When a message arrives, the bot scans its text. If the text contains any of your whitelist words → forward it. If none of the whitelist words are found → skip it silently. Matching is case-insensitive by default (BTC = btc = Btc).

Example scenario

You forward from a general cryptocurrency channel but only want posts about BTC and ETH. Add BTC, Bitcoin, ETH, Ethereum to the whitelist. Only messages that mention at least one of those words will reach your destination. Everything else is dropped.

Whitelist live example
Your whitelist: BTC · Bitcoin · buy signal · sell signal · ETH

✅ “BTC just broke $70,000! Strong buy signal confirmed.” → Forwarded (contains “BTC” and “buy signal”)
✅ “ETH forming a bullish pattern on the 4H chart.” → Forwarded (contains “ETH”)
❌ “Good morning everyone, have a productive week!” → Blocked (none of the whitelist words found)
❌ “Check out our new merchandise store!” → Blocked (no whitelist words)
1
Open /manage → select your rule → tap Whitelist.
2
Tap Add Words and send your keywords — one per line. They are saved automatically.
3
The rule now only forwards messages containing at least one of those words. You can add, edit, or clear the list at any time.
Multi-word phrases: You can add entire phrases like buy signal or target reached. The bot checks if the exact phrase appears anywhere in the message text.
🚫
Blacklist — block these keywordsPlus+
Block any message that contains words from your blacklist. Everything else passes through normally.
How it works

The opposite of whitelist. You add words you want to block. When a message arrives: if its text contains any blacklisted word → skip it. If no blacklisted words found → forward it normally. By default everything passes through — the blacklist only kicks in once you add words.

Example scenario

You aggregate a news channel that occasionally posts sponsored ads. Add advertisement, sponsored, promo code, buy now to the blacklist. All ad posts are silently dropped; real news posts still come through.

Blacklist live example
Your blacklist: advertisement · sponsored · promo code · join our · click here

✅ “Breaking: Federal Reserve holds rates steady at 5.25%” → Forwarded (no blacklist words)
✅ “Gold surges to $2,400 amid inflation concerns” → Forwarded (no blacklist words)
❌ “🎁 Use promo code SAVE20 for 20% off our VIP plan!” → Blocked (contains “promo code”)
❌ “Join our premium channel for exclusive signals — sponsored post” → Blocked (contains “sponsored” and “join our”)
💡 Case sensitivity: Matching is case-insensitive by default — “BTC”, “btc”, and “Btc” all match. Enable case-sensitive matching per rule if needed (e.g. to distinguish the ticker “p” from the word “P”).
🌍
Global keyword filtersPlus+
Set keywords that apply to ALL your rules at once — instead of adding them to each rule individually.
Per-rule vs global filters

Every rule has its own private whitelist and blacklist. But there are also global lists that apply to every single rule simultaneously. A message that is blocked by the global blacklist is dropped even if the per-rule whitelist would have allowed it.

When to use global filters

You have 10 rules. There are 5 spam words you always want to block everywhere. Adding them to the global blacklist once blocks them across all 10 rules. Without global filters you’d need to add those words to each rule individually every time.

Where to find it: /manage → tap the gear/settings icon next to your username at the top → Global Filters.
👤
Sender filter — filter by who sent the messagePlus+
Forward only from specific users, admins only, bots only — or block messages from specific people.
Filter types
  • ALL — no sender filter, forward from anyone (default)
  • ADMINS — only forward messages sent by channel/group admins
  • BOTS — only forward messages sent by bot accounts
  • Specific IDs — enter a list of Telegram user IDs; only forward from those people
Whitelist vs blacklist mode
  • Whitelist mode: ONLY forward from the specified senders. All others are blocked.
  • Blacklist mode: Forward from EVERYONE EXCEPT the specified senders. Those people’s messages are blocked.
Example — Admins-only signal channel
You aggregate a trading group where admins post signals but members post general chat and noise. Set Sender Filter to ADMINS — Whitelist mode. Only official posts from admins get forwarded; all member messages are ignored.
Section 4

Text Transforms

Transforms modify what a message says before it reaches your destination. Strip out ads, rename channels, add your own branding, reformat the whole layout. Multiple transforms can be stacked and run in this fixed order: 1) Translate → 2) Text Replace → 3) Remove Lines → 4) Format Template → 5) Make Bold → 6) Caption Prepend/Append.

🔁
Text replace — find and replace words or patternsPlus+
Find any word, phrase, or pattern in a message and replace it with something else — or delete it entirely. Stack multiple rules.
What it does

You define replace rules, each consisting of a Find text and a Replace with text. Before forwarding each message, the bot scans its text and performs every replace rule in order. You can stack as many rules as you need per redirection. To delete something, just leave the “Replace with” field blank.

Two replacement modes

Simple (literal): Matches the exact text you type, case-insensitive. No special knowledge needed. Best for replacing channel names, removing specific phrases, swapping words.

Regex (pattern): Uses Python regular expressions to match complex patterns. Can match “any URL”, “any phone number”, “any @mention” — things you can’t predict in advance.

① Simple replacement — beginner-friendly, no special knowledge needed:

How simple replacement works

Type the exact phrase you want to find. Type what you want to replace it with (or leave blank to delete it). The bot will find every occurrence of that phrase in every forwarded message and swap it. Matching ignores uppercase/lowercase by default.

Simple replacement examples
  • Find: @OtherChannel → Replace: @YourChannel
  • Find: advertisement → Replace: (blank = deleted)
  • Find: BREAKING NEWS: → Replace: 🚨
  • Find: Follow us for more → Replace: (blank = deleted)
  • Find: Source: XYZ Media → Replace: Source: My Channel

② Regex replacement — advanced, matches patterns you can’t predict:

What is a regex pattern

A regex (regular expression) is a search pattern that can match a whole category of text. For example, the pattern https?://\S+ matches any URL — whether it’s https://google.com or https://t.me/channel or any other link. You don’t need to know the URL in advance.

Ready-to-use regex patterns
  • https?://\S+ → matches and removes ANY URL/link
  • @\w+ → matches and removes ANY @mention
  • \+\d{10,13} → matches and removes phone numbers
  • #\w+ → matches and removes #hashtags
  • t\.me/\S+ → removes Telegram invite links only
# Simple replace examples (Find → Replace with)
@CryptoSignalsOriginal    @MySignalChannel
Join us at t.me/promo     (blank: line deleted)
SIGNAL:                    🚨 SIGNAL:

# Regex replace examples (Pattern → Replace with)
https?://\S+               (blank: removes all URLs)
@\w+                       (blank: removes all @mentions)
\+\d{10,13}                (blank: removes phone numbers)
(?i)buy now                (blank: removes "buy now" case-insensitive)
Full before & after example — 3 replace rules applied
Original source message:
“🚨 BREAKING: BTC hits $70,000! 💰
Follow @CryptoOriginal for more daily updates.
Join our VIP: https://t.me/+abc123promo
Use code CRYPTO20 for 20% off our premium plan.”


Replace rules applied:
Rule 1 (Simple): Follow @CryptoOriginal for more daily updates. → (blank — deleted)
Rule 2 (Simple): Use code CRYPTO20 for 20% off our premium plan. → (blank — deleted)
Rule 3 (Regex): https?://\S+ → (blank — removes URL)

Final message in destination:
“🚨 BREAKING: BTC hits $70,000! 💰
Join our VIP:”


(You could also add Rule 4 to delete "Join our VIP:" to clean it up completely.)
1
Open /manage → select rule → TransformText Replace.
2
Tap Add Replace Rule. Enter the text/pattern to find. Enter the replacement text (leave blank to delete the matched text).
3
Choose Simple (exact text) or Regex (pattern match). Save the rule.
4
Repeat to add more rules. Rules run from top to bottom in order. Use the reorder option to change priority if needed.
💡 Tip: Replace rules run in sequence. Rule 1 modifies the message, then Rule 2 sees the already-modified text. This matters: if Rule 1 removes “Follow us” and Rule 2 looks for “Follow us on Telegram”, Rule 2 might not match anymore.
💡 Replace whole text: You can use the special keyword __all__ as the find pattern to replace the entire message text with your replacement string. Useful for turning a specific message into a completely custom announcement.
✂️
Remove lines — delete entire lines containing a wordPlus+
Remove entire lines from a message that contain specific trigger words. Great for stripping footer text, attribution, or recurring promo lines.
How it works

You specify trigger words or phrases. When a message arrives, the bot splits it into lines. Any line containing one of your trigger words is removed entirely. The remaining lines are joined back together and forwarded. Only matching lines are deleted — the rest of the message stays intact.

Remove Lines vs Text Replace

Text Replace finds a phrase and replaces it in-place (mid-sentence). Remove Lines deletes the entire line containing the word. Use Remove Lines for footer-style text that sits on its own line. Use Text Replace for phrases embedded within a sentence.

Before & after example
Original message (4 lines):
“BTC at $70,000 — strong support holds at $68k”
“Target: $75,000 | Stop: $67,500”
“Join our premium channel for more: t.me/premiumsignals”
“📱 Follow @CryptoPaidChannel for VIP alerts”

Remove Lines triggers: Join our · Follow @

Result in destination (2 lines remain):
“BTC at $70,000 — strong support holds at $68k”
“Target: $75,000 | Stop: $67,500”
Where to find it: /manage → rule → TransformRemove Lines.
📄
Format template — custom layout for every messagePlus+
Completely reformat every forwarded message using a template with dynamic variables like [[Message.Text]] and [[Chat.Title]].
Available template variables
  • [[Message.Text]] — original message text
  • [[Message.Caption]] — caption of a photo/video
  • [[Chat.Title]] — name of the source channel
  • [[Message.Date]] — date & time message was posted
  • [[Message.Sender]] — name of who sent the message
What it does

You write a template using any combination of these variables and your own static text. Every time a message is forwarded, the variables are replaced with the real values from that message and the composed result is sent to the destination.

Template → result example
Template you write:
📢 Market Update

[[Message.Text]]

🕐 Posted: [[Message.Date]]
📡 Source: [[Chat.Title]]
🔗 @MyChannel


What destination receives (when source posts "BTC breaks $70k!"):
📢 Market Update

BTC breaks $70k!

🕐 Posted: Jan 15, 2025 09:42
📡 Source: Crypto Signals Pro
🔗 @MyChannel
1
Open /manage → rule → TransformFormat.
2
Tap Set Template and write your template. Use \n for a new line, or just press Enter between lines.
3
Optionally enable Apply to Media-Only to apply the template even to messages with no text (e.g. a bare photo). Otherwise the template is skipped for media-only messages.
💡 Tip: The Format Template runs after Text Replace and Remove Lines. So your replace rules clean the message first, then the template wraps the cleaned text. This is almost always what you want.
Bold
Make boldPlus+
Automatically convert all forwarded message text to bold formatting before sending.
What it does

Wraps the entire message text in Telegram’s bold formatting before forwarding. Every forwarded message arrives at the destination with all text in bold. Simple toggle, no configuration needed.

Example

Source posts: “BTC buy signal confirmed at $70k”
Destination receives: “BTC buy signal confirmed at $70k”

Where to find it: /manage → rule → Transform → toggle Make Bold.
Caption prepend & append — add fixed text before/afterPro
Add your own fixed text before every forwarded message (prepend) or after (append) — like a permanent channel signature or header label.
Prepend (add text BEFORE)

Your text is placed at the very beginning of every forwarded message. Example: add 📢 Signal Alert: at the start of every post so readers instantly know the context.

Append (add text AFTER)

Your text is placed at the very end of every forwarded message. Example: add 🔗 Follow @MyChannel for more as a branded signature at the bottom of every post.

Example with both prepend and append
Prepend text: 📡 Via @MyChannel
Append text: 🔔 Join for daily signals

Source message: “BTC breaks $70k!”
Destination receives: “📡 Via @MyChannel
BTC breaks $70k!
🔔 Join for daily signals”
Simpler than Format Template: Use prepend/append when you just need to add a line before or after every message. Use Format Template when you need dynamic variables (like the source name or date) or full layout control.
Section 5

Cleaner Mode

Cleaner is different from type filters. Filters block entire messages. Cleaner strips specific parts from a message but still forwards the rest. Think: “forward the photo but remove its caption” or “forward the document description but strip the file attachment”.

🧹
Content cleaner — strip parts of messagesPlus+
Remove specific parts (caption, media, audio, photo) from messages without blocking them entirely. 9 independently toggleable clean types.
All 9 cleanable types
  • Clean caption — forward media (photo/video/audio/document) but remove all caption text
  • Clean text — remove text from a text-only message
  • Clean audio — strip the audio file, send caption text only
  • Clean video — strip the video, send caption text only
  • Clean photo — strip the photo, send caption text only
  • Clean voice — strip the voice recording, send caption only
  • Clean document — strip the file attachment, send caption only
  • Clean sticker — strip the sticker (sends nothing if no caption)
  • Clean animation — strip GIF/animation, send caption only
Real-world use cases
  • Fashion channel: Posts product photos with long promotional captions. Enable Clean caption → only the photos reach your destination, no text clutter.
  • Podcast channel: Posts audio files with description captions. Enable Clean audio → only the description text forwards, not the large audio files.
  • Research group: Posts documents + commentary. Enable Clean document → only the commentary text forwards, no file downloads in your channel.
  • Cleaner channel: Source has stickers mixed in. Enable Clean sticker → stickers are silently dropped.
Key distinction: If you filter photos OFF, no photo messages arrive at all — they are completely blocked. If you clean photos, the message still arrives but the photo is stripped — only the caption text comes through as a text message. Choose based on whether you want the content or the text description.
1
Open /manage → select your rule → tap TransformCleaner.
2
You will see a grid of 9 toggles, one per content type. Toggle ON the types you want to strip. Each is independent.
Section 6

Timing — Delay & Scheduler

Control when messages are forwarded. Add a delay to create a time gap between source and destination, or restrict forwarding to specific hours and days of the week only.

⏱️
Message delayPlus+
Forward every message X seconds after it was posted in the source. Classic use: give paid VIP members instant access, free members get messages 30 minutes later.
How it works

You set a number of seconds. When a message arrives, instead of forwarding immediately, the bot queues it and sends it to the destination after the delay period. Set 1800 = 30-minute delay. Set 3600 = 1 hour. Set 0 = no delay (immediate, default).

VIP vs free tier example

You run a signals channel. Create two rules from the same source: Rule A sends to your VIP group with 0-second delay (instant). Rule B sends to your free group with 1800-second delay (30 minutes). VIP members always get signals 30 minutes before free members.

Delay spread (random jitter)

When enabled, each message gets a slightly randomised delay variation around your set value. Messages don’t all arrive at exact 30:00-second intervals, making the timing look more natural and harder for free members to deduce the exact delay.

Where to find it

/manage → rule → ProcessingDelay. Enter the delay in seconds. Toggle Delay Spread to enable jitter.

📅
Active hours & days schedulerPlus+
Restrict forwarding to specific hours of the day and days of the week. Messages outside the window are permanently dropped — not queued.
Active hours

Set a start and end hour using 24-hour format (0–23). Only messages posted during that window are forwarded. Example: 9-22 = active only from 09:00 to 22:00. A message posted at 2:00 AM is permanently dropped.

Active days

Choose which days of the week forwarding runs. Days are numbered 0 (Monday) through 6 (Sunday). Example: 0,1,2,3,4 = Monday to Friday only. Saturday and Sunday messages are permanently dropped.

Timezone

All hours are evaluated in the timezone you specify. Use any IANA timezone: Asia/Kolkata, America/New_York, Europe/London, Asia/Dubai, Asia/Singapore. If not set, UTC is used by default.

Where to find it

/manage → rule → ProcessingSchedule. Set active hours, active days, and timezone. Leave blank to disable scheduling (forward all the time).

Important: Messages outside the schedule window are permanently dropped — NOT queued for later delivery. If you want delayed delivery instead of permanent dropping, use the Delay feature above, not the Scheduler.
Section 7

Auto-Translation

Automatically translate forwarded messages to any target language before sending. Perfect for aggregating content from foreign-language sources into a single-language destination channel.

🌐
Auto-translationPlus+
Translate every forwarded message to your target language before sending. Supports auto-detect for mixed-language sources. 100+ languages.
How it works

When a message is ready to forward, the bot sends its text to a translation engine before delivering it to the destination. You set the target language once; all future messages are translated automatically. The original message in the source is unaffected.

Source language: auto-detect

Leave “Translate From” as auto. The translation engine detects each message’s language automatically. This handles mixed-language sources where different posts are in different languages.

Popular target language codes
  • en English
  • hi Hindi
  • ar Arabic
  • es Spanish
  • fr French
  • de German
  • ru Russian
  • zh-CN Chinese (Simplified)
  • pt Portuguese
  • ja Japanese
  • ko Korean
  • tr Turkish
  • it Italian
  • id Indonesian
Setup steps

1. /manage → rule → TransformTranslate.

2. Set Translate To (e.g. en for English).

3. Set Translate From to auto (recommended) or a specific source language code.

4. Save — all future messages are translated before delivery.

Order of operations: Translation runs FIRST (step 1 of 6). Then Replace rules, Remove Lines, Format Template, Make Bold, and finally Prepend/Append. Your replace rules work on the already-translated text — which is usually exactly what you want.
Section 8

Media Type Transform

An advanced Pro feature that converts one message type to another before forwarding. Turn a text message into a photo, replace a specific sticker with a different one, convert video to audio, and more.

🎭
Media type transformPro
Convert one message type to another — e.g. text to photo, sticker to sticker, or apply a fixed replacement media for any matching message.
What it does

You define rules: “when a message of type X arrives (optionally matching specific content), send type Y to the destination using file Z.” Can match on any incoming type or only on a specific message text or specific file ID (e.g. a particular sticker).

Supported source and destination types
  • text, photo, video, audio, voice
  • document, animation (GIF), sticker, video_note
  • any — matches all incoming types
Transform modes
  • none: disabled, no transform applied
  • all: transform every message of the selected source type
  • specific: only transform messages matching specific content text or file ID you define
Example use cases
  • Every text message saying “SIGNAL CONFIRMED” → replaced with a custom green-checkmark image
  • A specific sticker you dislike → replaced with a different sticker of your choice
  • All audio files → converted and forwarded as document files
1
/manage → rule → TransformMedia Transform.
2
Set the transform mode: none, all, or specific.
3
Tap Add Rule. Choose the source type, destination type, and optionally specify trigger content (text) or a specific file ID (forward the original sticker to the bot to capture its ID).
4
Upload the replacement media (photo, GIF, sticker, etc.) if the destination type requires a file.
Section 9

Image Watermark

Automatically overlay your logo or branding on every forwarded photo. Applied server-side before delivery — no manual editing needed.

💧
Image watermarkPro
Overlay your logo on all forwarded photos. Configure position (corner), opacity (0–100%), and scale (1–50% of photo width).
How it works

You upload a PNG image (your logo or watermark). When the bot forwards a photo, it composites your watermark onto the photo server-side using the settings you configure — then sends the combined result to the destination. The original photo in the source is never modified.

Configuration options
  • Position: top-left (tl), top-right (tr), bottom-left (bl), bottom-right (br)
  • Opacity: 0 = fully transparent, 100 = fully solid. Default 80.
  • Scale: 1–50% of the base photo width. Controls how large the watermark appears. Default 15%.
1
/manage → select rule → tap Watermark.
2
Send the bot your watermark image (PNG with transparent background recommended).
3
Set position, opacity, and scale. Save — every forwarded photo from this rule will now have your watermark applied.
💡 Best practices: Use a PNG with transparent background — only your logo will appear, not a white/coloured box. Keep scale at 10–20% so the watermark is visible but doesn’t cover the photo. Bottom-right (br) is the most commonly used position.
Section 10

Advanced Features

Additional powerful tools for specific use cases — duplicate detection, channel history cloning, auto-pause protection, and more.

🔍
Duplicate message detectionPlus+
Prevent the same message from being forwarded twice, even if it is reposted in the source or arrives from multiple sources into the same destination.
How it works

When a message is ready to forward, the bot creates a fingerprint (hash) of its content. Before forwarding, it checks if that fingerprint was already seen in the last 7 days. If it matches a duplicate → skip silently. If it’s new → forward and store the fingerprint. Hashes are auto-deleted after 7 days.

When to use

You aggregate the same news from 5 different channels. Often the same breaking story is posted by all 5. Without deduplication, your destination gets the same story 5 times. With it, only the first occurrence goes through — the other 4 are silently dropped.

Where to find it: /manage → rule → Processing → toggle Block Duplicates.
📋
Clone channel historyPro
Copy the entire past message history of a source channel to your destination — not just future messages, but everything already posted.
What it does

Clone fetches historical messages from the source (going back as far as available) and forwards them to the destination with all your current filters and transforms applied. A progress counter shows done/total. You can stop at any time and resume later.

When to use

You created a new channel and want to pre-fill it with an existing channel’s content. Or you want to create a permanent archive of a channel’s history. Clone runs at ~1.5 seconds per message to avoid Telegram’s rate limits.

1
/manage → select rule → tap Clone History.
2
Set a message limit (e.g. 500 for the last 500 messages, or 0 for all available history).
3
Confirm to start. Progress shown in real time. Tap Stop to pause at any time.
Important: Cloning applies all current filters and transforms. If you have a blacklist or replace rules active, they apply to historical messages too. Temporarily disable them if you want raw unmodified copies of the history.
🛡️
Auto-pause & failure alertsAll plans
If forwarding fails repeatedly (e.g. you lost channel access), the bot warns you and auto-pauses the rule after 20 consecutive failures.
How it works

Every time a forwarding attempt fails, a failure counter increments for that rule. The bot sends you a warning after the first few failures. After 20 consecutive failures (with no success between them), the rule is auto-paused and you receive a clear notification explaining why. A single successful forward resets the counter to 0.

What to do when auto-paused
  • Use /joincheck to check if your account has access to all channels
  • Rejoin any channel you were removed from
  • Make sure your account has write permissions in the destination
  • Re-enable the rule from /manage once the issue is fixed
🤖
Skip own messagesAll plans
Stop the bot from forwarding messages you send yourself in a monitored channel — prevents forwarding loops.
What it does

When enabled (default: ON, meaning own messages ARE skipped), the bot ignores messages sent by your own Telegram account in the source. This prevents a loop: you post in source → bot forwards to destination → if destination is also monitored, it would forward back → infinite loop.

When to disable

If you are the admin who posts content to the source channel and you want your own posts forwarded too, toggle Process Own Messages ON. Only safe to do if there’s no loop risk (source and destination are different, neither monitors the other).

Where to find it: /manage → rule → Processing → toggle Process Own Messages.
Section 11

Statistics & Backup

Track how your rules are performing and keep your full configuration safely backed up. Restore everything with one tap.

📊
Forwarding statisticsPro
Per-rule daily stats showing forwarded, filtered, and error counts. View today, last 7 days, or all-time totals.
What is tracked
  • Forwarded: messages successfully delivered to destination
  • Filtered: messages blocked by type filters, keywords, or sender filters
  • Errors: delivery attempts that failed (access issues, rate limits)

All 3 counters tracked per day, per rule. Stats older than 90 days auto-deleted.

Time periods available
  • Today (live, updates in real time)
  • Last 7 days with day-by-day breakdown
  • All-time totals since the rule was created

Where: /manage → select rule → tap Stats.

💾
Backup & restoreAll plans
Export your entire configuration as a JSON file. Auto-backups every 12 hours (6 snapshots kept). Restore everything from any snapshot in seconds.
What is included in a backup
  • All redirection rules and their names
  • All source/destination channel pairs
  • All filter settings (type filters, keyword lists)
  • All transform rules (replace, remove lines, format template)
  • Scheduling, delay, translation, watermark settings
  • Global keyword filter lists
Auto-backup schedule

Every 12 hours the bot automatically saves a complete snapshot of your configuration. The 6 most recent snapshots are kept — older ones are removed. You can also trigger a manual export at any time.

1
Manual export: /manage → settings icon → Export Backup. The bot sends you a JSON file to save.
2
Restore from your file: /manage → settings icon → Import Backup. Send the JSON file — all rules recreated instantly.
3
Restore an auto-backup: /manage → settings icon → Export Config → pick a dated snapshot and confirm.
💡 Pro tip: Export a backup before making major changes to your rules. If something breaks, restore with one tap. Backups also work across account switches — export, connect new account, import.

Ready to set up your first rule?

Connect your account and be forwarding in under 2 minutes. Free plan, no credit card.

Open @Auto_ForwardMessagesBot Commands reference →