Reference

Bot Commands & Settings

Complete reference for all commands and rule settings in @Auto_ForwardMessagesBot. Send any command in a private chat with the bot. Rule settings are accessed via /manage.

Setup & Account

Commands for connecting your Telegram account and starting or stopping your forwarding engine.

/start
Free

Opens the main menu and shows your current engine status (Running / Stopped), your active plan, and the list of your redirection rules. This is the home screen — start here.

Usage
/start
/connect
Free

Log in with your Telegram account. The bot initiates a Telegram login flow — your phone receives a one-time verification code from Telegram. No password is ever sent to our servers. After login, your forwarding engine starts automatically.

Usage
/connect +CountryCodePhoneNumber

# Examples:
/connect +14155552671
/connect +919876543210
Important — entering the OTP: When the bot asks for your verification code, type aa before the digits. If your code is 12345, send aa12345. This prefix prevents Telegram from recognising and expiring the code before the bot reads it.
If your account has Two-Step Verification (2FA / cloud password) enabled, the bot will ask for your Telegram password after you enter the OTP. This password is only used for this one-time login — it is not stored.
/cancel
Free

Cancels the current in-progress action — such as a pending login flow, a channel ID prompt, a rename dialog, or any other setup wizard step. Use this whenever you want to stop what you started without completing it.

Usage
/cancel
Managing Redirections

Commands for creating, listing, and configuring your forwarding rules.

/manage
Free

Opens the redirection management panel. Lists all your rules with their current status (enabled ✅ / disabled ❌). Tap any rule to open its full settings — pairs, filters, transforms, processing, schedule, stats, and more.

Usage
/manage
From the manage panel you can: Add Redirection, enable/disable rules, rename rules, add/remove source→destination pairs, configure all filters and transforms, and delete rules.
/chats
Free

Lists every Telegram channel and group your account is a member of, along with their numeric IDs. This is the easiest way to find the correct ID to enter when setting up a source or destination channel.

Usage
/chats
ID format: Channel and supergroup IDs always start with -100 followed by 10 digits, e.g. -1001234567890. Regular group IDs are shorter and negative, e.g. -987654321. Always use the numeric ID — never a @username — when configuring pairs.
You can also find a channel’s ID from any message link. A message link looks like https://t.me/c/1234567890/55 — the number after /c/ is the channel ID (prepend -100 to it: -1001234567890).
/upgrade
Free

Opens the plan selection and payment menu. Shows all available plans (Basic $7/mo, Plus $10/mo, Pro $12/mo) with their feature lists. Initiates the payment flow for UPI (India), Razorpay, or PayPal.

Usage
/upgrade
Diagnostics & Testing

Commands for troubleshooting your setup and verifying that forwarding works correctly.

/debug
Free

Shows a diagnostic report for your forwarding engine. Displays recently detected source chat IDs, whether your engine is receiving messages from configured sources, and which rules are actively matching. Use this first whenever messages are not being forwarded.

Usage
/debug
How to use it: After running /debug, post a message in your source channel, then run /debug again. The source chat ID should appear in the “recently seen chats” list. If it does not, the bot is not receiving updates from that source.
Common issue: If the source ID in your rule does not match any ID in the debug output, there is likely an ID mismatch. Use /chats to verify the correct ID and update your rule.
/joincheck
Free

Verifies that your Telegram account has the required access to every source and destination channel configured across all your rules. Reports read access (required for sources) and write/admin access (required for destinations) for each channel.

Usage
/joincheck
What to do if a check fails: For a failed source — make sure your account is a member of the channel. For a failed destination — make sure your account has “Post Messages” permission in that channel or group.
/test
Free

Tests your forwarding rules by re-forwarding the most recent message from each configured source. Runs your active filters and transforms on that message. Confirms that access, filters, transforms, and destination delivery all work correctly end-to-end.

Usage
/test
Note: The test actually forwards a real message to your destination. Check the destination channel after running it to confirm delivery and that transforms were applied correctly.
Help
/guide
Free

Opens an interactive step-by-step tutorial that walks you through: connecting your account, finding channel IDs, creating your first redirection rule, and enabling filters. Ideal for new users.

Usage
/guide
Admin Panel
/admin
Admin only

Opens the administrator control panel. Only accessible to Telegram user IDs listed in the server’s ADMIN_IDS environment variable. Provides user management, subscription administration, payment verification, broadcast messaging, and platform-wide statistics.

Usage
/admin
Restricted: This command returns an error for regular users. It is only available to designated platform administrators.

Rule Settings

These settings are all accessed through /manage → select a rule. They are not slash commands — they are configuration options inside the bot's inline menus.

Filters — Message Type Toggles

Found at: /manage → select rule → Filters. All 16 types are ON (allowed) by default. Toggle any type OFF to block that category of messages.

All 16 filter toggles
Basic+
Toggle nameWhat it controlsDefault
allow_textPlain text messages (no media)ON
allow_photoPhoto / image messagesON
allow_videoVideo file messagesON
allow_audioAudio / music file messagesON
allow_voiceVoice note recordingsON
allow_documentAny file attachment (PDF, ZIP, DOCX, APK, etc.)ON
allow_animationGIF animations and looping MPEG4 videosON
allow_stickerStatic and animated Telegram stickersON
allow_pollInteractive poll messagesON
allow_replyMessages that are a reply to another messageON
allow_forwardsMessages that were originally forwarded from somewhere elseON
allow_urlAny message whose text contains a URL / linkON
allow_hashtagAny message whose text contains a #hashtagON
allow_captionMedia messages that include caption textON
audio_caption_only⭐ Special: only forward audio messages that have a caption. Audio without caption is skipped.OFF
photo_caption_only⭐ Special: only forward photos that have a caption. Photos without caption are skipped.OFF
Processing Toggles

Found at: /manage → select rule → Processing. Control how the forwarding engine behaves for each rule.

All processing options
All plans
SettingWhat it doesDefault
Mirror EditsWhen source edits a message, the forwarded copy in destination is updated to match.ON
Mirror DeletionsWhen source deletes a message, the forwarded copy in destination is deleted too.ON
Process RepliesForward reply messages (messages that reply to another post) and thread comments.ON
Process Own MessagesAlso forward messages you send yourself in the source channel. OFF = your own posts are skipped (prevents loops).OFF
Quote ModeON = show "Forwarded from [Channel]" attribution header. OFF = messages appear as original posts with no source attribution.OFF
Block DuplicatesSkip messages whose content fingerprint was already forwarded in the last 7 days. Prevents duplicate posts when aggregating from multiple sources covering the same story.OFF
Delay (seconds)Wait this many seconds before forwarding each message. 0 = immediate. 1800 = 30 min. 3600 = 1 hr. Used for tiered VIP/free access.0
Delay SpreadAdd random jitter variation to the delay, making message timing less predictable.OFF
Whitelist & Blacklist

Found at: /manage → select rule → Whitelist or Blacklist. Also available as a global list (applies to all rules) via the account settings icon.

Whitelist
Plus+

Forward only messages containing at least one word from this list. Messages with none of the whitelist words are silently dropped. Add words via Add Words. Case-insensitive by default.

Usage
# Add words one per line
BTC
Ethereum
buy signal
target reached
Blacklist
Plus+

Block any message containing a word from this list. Everything else passes through. Add words via Add Words. Case-insensitive by default.

Usage
# Add words one per line
advertisement
promo code
sponsored
click here
Sender Filter
Plus+

Filter by who sent the message. Set the filter type and list mode.

OptionDescription
Filter Type: ALLNo sender filter — forward from anyone (default)
Filter Type: ADMINSOnly consider messages sent by channel/group admins
Filter Type: BOTSOnly consider messages sent by bot accounts
Filter Type: Specific IDsEnter a list of Telegram user IDs; filter applies to those users only
List Mode: WHITELISTOnly forward FROM the specified senders; everyone else is blocked
List Mode: BLACKLISTForward from everyone EXCEPT the specified senders; they are blocked
Text Replace & Remove Lines

Found at: /manage → select rule → TransformText Replace or Remove Lines. Multiple rules can be stacked and run in order.

Text Replace
Plus+

Find a word, phrase, or regex pattern and replace it with something else (or delete it by leaving the replacement blank). Each replace rule has a Find field, a Replace With field, and a mode (Simple or Regex).

Simple mode (exact text)
# Find field       →  Replace With field
@OriginalChannel    @YourChannel      # renames channel tag
advertisement       (blank)            # deletes the word
BREAKING:           🚨              # replaces with emoji
__all__             Custom text       # replaces ENTIRE message
Regex mode (pattern matching)
# Pattern                 →  Replace With
https?://\S+               (blank)    # removes ALL URLs
@\w+                       (blank)    # removes ALL @mentions
\+\d{10,13}                (blank)    # removes phone numbers
#\w+                       (blank)    # removes #hashtags
t\.me/\S+                  (blank)    # removes Telegram links
(?i)buy now                (blank)    # case-insensitive match
Execution order: Replace rules run top-to-bottom. Rule 2 sees the output of Rule 1 (already modified text). Use the reorder option to adjust priority.
Remove Lines
Plus+

Remove entire lines from a message that contain specific trigger words. The rest of the message is preserved and forwarded normally. Best for removing recurring footer lines, attribution, or promo paragraphs that appear on their own line.

Usage — enter trigger words one per line
# Any line containing these words is deleted
Join our premium
Follow @
t.me/+
Use code
Example: Source message has 4 lines. Two lines contain "Join our premium" and "t.me/+". Those two lines are removed. The other 2 lines are forwarded unchanged.
Format Template

Found at: /manage → rule → TransformFormatSet Template.

Format Template
Plus+

Write a template using variables that are substituted with real values from each message when it is forwarded. Runs after Text Replace and Remove Lines.

Available variables
[[Message.Text]]      # original message text (after replace rules)
[[Message.Caption]]   # caption of a photo, video, or document
[[Chat.Title]]        # name of the source channel
[[Message.Date]]      # date and time the message was sent
[[Message.Sender]]    # display name of who sent the message
Example template
📢 Market Alert

[[Message.Text]]

🕐 [[Message.Date]]
📡 Source: [[Chat.Title]]
— @MyChannel
Apply to Media-Only: By default, the template is skipped for messages with no text (bare photos, etc.). Enable Apply to Media-Only to apply the template even to those messages, substituting an empty string for [[Message.Text]].
Make Bold
Plus+

Toggle: wraps the full message text in Telegram bold formatting before sending to destination. Simple toggle — no configuration needed. Found at: /manage → rule → Transform → toggle Make Bold.

Caption Prepend & Append
Pro

Add fixed text before (prepend) or after (append) every forwarded message. Runs last in the transform chain. Found at: /manage → rule → Transform.

Example
# Prepend field:  📡 Via @MyChannel
# Append field:   🔔 Subscribe for more

# Source message:  BTC breaks $70k!
# Result:          📡 Via @MyChannel
                   BTC breaks $70k!
                   🔔 Subscribe for more
Cleaner

Found at: /manage → rule → TransformCleaner. Strips specific parts from messages without blocking them entirely. 9 independently toggleable clean types.

Cleaner Options
Plus+
OptionWhat gets removedWhat still arrives
clean_captionCaption textThe photo/video/document (bare, no text)
clean_audioThe audio fileCaption text only (as a text message)
clean_videoThe video fileCaption text only
clean_photoThe photoCaption text only
clean_voiceThe voice recordingCaption text only
clean_documentThe file attachmentCaption text only
clean_stickerThe stickerNothing (message is fully dropped unless it has a caption)
clean_animationThe GIF/animationCaption text only
clean_textThe text from a text-only messageNothing (empty message)
Delay & Spread

Found at: /manage → rule → ProcessingDelay.

Delay Settings
Plus+
SettingDescriptionDefault
delay_secondsSeconds to wait before forwarding each message. 0 = immediate. 1800 = 30 minutes. 3600 = 1 hour. 86400 = 24 hours.0
delay_spreadWhen ON: adds a random variation to each message’s delay, making the timing less predictable and more natural-looking.OFF
Scheduler

Found at: /manage → rule → ProcessingSchedule. Messages outside the schedule window are permanently dropped, not queued.

Schedule Settings
Plus+
SettingFormat & descriptionExample
sched_hoursActive hour range in 24-hour format: "START-END". Only messages posted during this hour window are forwarded. Leave blank to disable.9-22 (9 AM – 10 PM)
sched_daysActive days as comma-separated weekday numbers: 0=Mon, 1=Tue, 2=Wed, 3=Thu, 4=Fri, 5=Sat, 6=Sun. Leave blank for all days.0,1,2,3,4 (Mon–Fri)
sched_tzIANA timezone name for evaluating the hours. Leave blank to use UTC.Asia/Kolkata
Common timezones: Asia/Kolkata (IST +5:30) · America/New_York (ET) · America/Los_Angeles (PT) · Europe/London (GMT/BST) · Europe/Paris (CET) · Asia/Dubai (GST +4) · Asia/Singapore (SGT +8) · Asia/Tokyo (JST +9)
Auto-Translation

Found at: /manage → rule → TransformTranslate. Translation runs first in the transform chain, before any replace rules.

Translation Settings
Plus+
SettingDescriptionDefault
translate_toTarget language code. Leave blank to disable translation. Examples: en, hi, ar, es, fr, de, ru, zh-CN, pt, ja, ko, tr, it, id, nl, pl, sv, da(blank)
translate_fromSource language code, or auto for automatic detection. Auto-detect works across mixed-language sources where posts are in different languages.auto
Media Type Transform

Found at: /manage → rule → TransformMedia Transform. Convert one message type to another before forwarding.

Media Transform Settings
Pro
SettingValues & description
media_transform_modenone — disabled (default)
all — apply transform to all incoming messages of the specified source type
specific — only apply transform when message content or file ID matches a specific rule you define
Source typestext, photo, video, audio, voice, document, animation, sticker, video_note, any
Destination typestext, photo, video, audio, voice, document, animation, sticker, video_note
source_content(optional) Only trigger the transform when the incoming message text exactly matches this string
source_file_id(optional) Only trigger when the incoming media matches this specific Telegram file ID (e.g. for a specific sticker)
dest_content(optional) Text to send as the destination message content (used when destination type is text)
Watermark

Found at: /manage → select rule → Watermark. Upload a PNG logo image, then configure position, opacity, and scale.

Watermark Settings
Pro
SettingValues & descriptionDefault
image_file_idTelegram file ID of your watermark image (PNG recommended). Set by uploading the image through the Watermark menu.
positiontl top-left · tr top-right · bl bottom-left · br bottom-rightbr
opacity0 – 100. 0 = fully transparent (invisible). 100 = fully opaque. 80 is a good balance for most logos.80
scale1 – 50. Percentage of the base photo’s width that the watermark will occupy. 15 = watermark is 15% as wide as the photo.15
Statistics & Backup
Forwarding Stats
Pro

Found at: /manage → select rule → Stats. Per-rule daily statistics showing three counters: Forwarded (successfully delivered), Filtered (blocked by filters), and Errors (failed attempts). Available for today, last 7 days (with daily breakdown), and all-time totals. Statistics older than 90 days are auto-deleted.

Export Backup
All plans

Found at: /manage → settings icon → Export Backup (or Export Config). The bot sends a JSON file containing your complete configuration: all rules, pairs, filters, transforms, schedule, translation, and watermark settings. Auto-backups run every 12 hours; the 6 most recent are kept.

Import Backup
All plans

Found at: /manage → settings icon → Import Backup. Send the JSON backup file to the bot. All rules and settings are recreated instantly. Works for switching accounts or restoring after accidental rule deletion.