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.
Commands for connecting your Telegram account and starting or stopping your forwarding engine.
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.
/startLog 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.
/connect +CountryCodePhoneNumber # Examples: /connect +14155552671 /connect +919876543210
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.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.
/cancelCommands for creating, listing, and configuring your forwarding rules.
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.
/manageLists 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.
/chats-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.https://t.me/c/1234567890/55 — the number after /c/ is the channel ID (prepend -100 to it: -1001234567890).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.
/upgradeCommands for troubleshooting your setup and verifying that forwarding works correctly.
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.
/debug/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./chats to verify the correct ID and update your rule.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.
/joincheckTests 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.
/testOpens 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.
/guideOpens 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.
/adminRule 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.
Found at: /manage → select rule → Filters. All 16 types are ON (allowed) by default. Toggle any type OFF to block that category of messages.
| Toggle name | What it controls | Default |
|---|---|---|
| allow_text | Plain text messages (no media) | ON |
| allow_photo | Photo / image messages | ON |
| allow_video | Video file messages | ON |
| allow_audio | Audio / music file messages | ON |
| allow_voice | Voice note recordings | ON |
| allow_document | Any file attachment (PDF, ZIP, DOCX, APK, etc.) | ON |
| allow_animation | GIF animations and looping MPEG4 videos | ON |
| allow_sticker | Static and animated Telegram stickers | ON |
| allow_poll | Interactive poll messages | ON |
| allow_reply | Messages that are a reply to another message | ON |
| allow_forwards | Messages that were originally forwarded from somewhere else | ON |
| allow_url | Any message whose text contains a URL / link | ON |
| allow_hashtag | Any message whose text contains a #hashtag | ON |
| allow_caption | Media messages that include caption text | ON |
| 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 |
Found at: /manage → select rule → Processing. Control how the forwarding engine behaves for each rule.
| Setting | What it does | Default |
|---|---|---|
| Mirror Edits | When source edits a message, the forwarded copy in destination is updated to match. | ON |
| Mirror Deletions | When source deletes a message, the forwarded copy in destination is deleted too. | ON |
| Process Replies | Forward reply messages (messages that reply to another post) and thread comments. | ON |
| Process Own Messages | Also forward messages you send yourself in the source channel. OFF = your own posts are skipped (prevents loops). | OFF |
| Quote Mode | ON = show "Forwarded from [Channel]" attribution header. OFF = messages appear as original posts with no source attribution. | OFF |
| Block Duplicates | Skip 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 Spread | Add random jitter variation to the delay, making message timing less predictable. | OFF |
Found at: /manage → select rule → Whitelist or Blacklist. Also available as a global list (applies to all rules) via the account settings icon.
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.
# Add words one per line BTC Ethereum buy signal target reached
Block any message containing a word from this list. Everything else passes through. Add words via Add Words. Case-insensitive by default.
# Add words one per line advertisement promo code sponsored click here
Filter by who sent the message. Set the filter type and list mode.
| Option | Description |
|---|---|
| Filter Type: ALL | No sender filter — forward from anyone (default) |
| Filter Type: ADMINS | Only consider messages sent by channel/group admins |
| Filter Type: BOTS | Only consider messages sent by bot accounts |
| Filter Type: Specific IDs | Enter a list of Telegram user IDs; filter applies to those users only |
| List Mode: WHITELIST | Only forward FROM the specified senders; everyone else is blocked |
| List Mode: BLACKLIST | Forward from everyone EXCEPT the specified senders; they are blocked |
Found at: /manage → select rule → Transform → Text Replace or Remove Lines. Multiple rules can be stacked and run in order.
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).
# 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
# 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
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.
# Any line containing these words is deleted Join our premium Follow @ t.me/+ Use code
Found at: /manage → rule → Transform → Format → Set Template.
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.
[[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
📢 Market Alert [[Message.Text]] 🕐 [[Message.Date]] 📡 Source: [[Chat.Title]] — @MyChannel
[[Message.Text]].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.
Add fixed text before (prepend) or after (append) every forwarded message. Runs last in the transform chain. Found at: /manage → rule → Transform.
# Prepend field: 📡 Via @MyChannel # Append field: 🔔 Subscribe for more # Source message: BTC breaks $70k! # Result: 📡 Via @MyChannel BTC breaks $70k! 🔔 Subscribe for more
Found at: /manage → rule → Transform → Cleaner. Strips specific parts from messages without blocking them entirely. 9 independently toggleable clean types.
| Option | What gets removed | What still arrives |
|---|---|---|
| clean_caption | Caption text | The photo/video/document (bare, no text) |
| clean_audio | The audio file | Caption text only (as a text message) |
| clean_video | The video file | Caption text only |
| clean_photo | The photo | Caption text only |
| clean_voice | The voice recording | Caption text only |
| clean_document | The file attachment | Caption text only |
| clean_sticker | The sticker | Nothing (message is fully dropped unless it has a caption) |
| clean_animation | The GIF/animation | Caption text only |
| clean_text | The text from a text-only message | Nothing (empty message) |
Found at: /manage → rule → Processing → Delay.
| Setting | Description | Default |
|---|---|---|
| delay_seconds | Seconds to wait before forwarding each message. 0 = immediate. 1800 = 30 minutes. 3600 = 1 hour. 86400 = 24 hours. | 0 |
| delay_spread | When ON: adds a random variation to each message’s delay, making the timing less predictable and more natural-looking. | OFF |
Found at: /manage → rule → Processing → Schedule. Messages outside the schedule window are permanently dropped, not queued.
| Setting | Format & description | Example |
|---|---|---|
| sched_hours | Active 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_days | Active 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_tz | IANA timezone name for evaluating the hours. Leave blank to use UTC. | Asia/Kolkata |
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)Found at: /manage → rule → Transform → Translate. Translation runs first in the transform chain, before any replace rules.
| Setting | Description | Default |
|---|---|---|
| translate_to | Target 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_from | Source language code, or auto for automatic detection. Auto-detect works across mixed-language sources where posts are in different languages. | auto |
Found at: /manage → rule → Transform → Media Transform. Convert one message type to another before forwarding.
| Setting | Values & description |
|---|---|
| media_transform_mode | none — disabled (default)all — apply transform to all incoming messages of the specified source typespecific — only apply transform when message content or file ID matches a specific rule you define |
| Source types | text, photo, video, audio, voice, document, animation, sticker, video_note, any |
| Destination types | text, 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) |
Found at: /manage → select rule → Watermark. Upload a PNG logo image, then configure position, opacity, and scale.
| Setting | Values & description | Default |
|---|---|---|
| image_file_id | Telegram file ID of your watermark image (PNG recommended). Set by uploading the image through the Watermark menu. | — |
| position | tl top-left · tr top-right · bl bottom-left · br bottom-right | br |
| opacity | 0 – 100. 0 = fully transparent (invisible). 100 = fully opaque. 80 is a good balance for most logos. | 80 |
| scale | 1 – 50. Percentage of the base photo’s width that the watermark will occupy. 15 = watermark is 15% as wide as the photo. | 15 |
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.
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.
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.