# Welcome to Auto Forward Messages Telegram Bot!

AutoForward Messages is a powerful tool designed to help you manage and automate message forwarding from selected channels and groups. With this app, you can effortlessly customize forwarding rules..

{% embed url="<https://youtu.be/82dV5WecQ2U>" %}

In this documentation you will find every **Auto Forward Messages BOT** command and examples on how to use them. We suggest you read this documentation from the start so you can learn more about each feature **Auto Forward Messages BOT** supports.&#x20;

### 📱 Available on All Platforms

✅ iOS: [Download from App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ Android: [Download from Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ Telegram: [Access the Bot](https://t.me/Auto_Forward_Messages_Bot)\
✅ Web: [Use on Browser](https://web.autoforwardtelegram.com/)

{% hint style="warning" %}
This bot works by acting as you. You have to login using your Telegram number and login code to the program [(Connect First)](/guides/how-to-connect-bot). Once you have logged in, you will be able to specify which chat you want to copy messages from, and where you want to copy these messages to.
{% endhint %}


# Commands Arguments Meaning

{% hint style="info" %}
**Commands Arguments Meaning**

* **Phone\_Number:** Used to specify which **connected account** you want to use the command on.
* **Action:** Used to specify what you want to do with the command. Supported actions are **Add, Remove, Start, Stop, Restart** and **show list task**.
* **SOURCE\_CHAT\_ID** -> The destination chat you want to use the BOT command with. Can be user, bot, channel, group or supergroup.
* **TARGET\_CHAT\_ID** -> The destination chat you want to use the BOT command with. Can be user, bot, channel, group or supergroup.
* **LABEL:** Label name that you want to create to control forward actions.
  {% endhint %}


# How to connect?

### 1. How to Connect BOT use Command

{% hint style="info" %}
**Notice:** This command is used for connecting telegram accounts with **Auto Forward Messages BOT**. You need to run this first before trying to run other commands since they rely on you having a number connected.
{% endhint %}

#### Command

{% hint style="info" %}
/connect **Phone\_Number**
{% endhint %}

{% tabs %}
{% tab title="Command" %}
/connect **Phone\_Number**
{% endtab %}

{% tab title="Example" %}
Connecting to **Auto Forward Messages BOT** with phone number **+8499999999**

{% hint style="info" %}
/connect +8499999999
{% endhint %}
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
**Careful**

* Remember to always add your **country prefix** otherwise the connection might fail.
* Whenever you enter a code on this command make sure you add **mycode** in front such as the code **123456** becomes **mycode123456**. And for **Two Factor Authentication** you add **mypass:123456**
  {% endhint %}

{% embed url="<https://www.youtube.com/watch?list=PL0-BTMf1sohSgjhoXno2bv3e1xzou2MKu&v=hYGxt09QiZc>" %}


# How to connect BOT?

Quickly connect your Telegram account, activate your bot, and unlock 7 days of full-featured access — no coding required.

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

#### 📲 Step 1: Launch the App or Web Version

After downloading the AutoForward Messages Telegram app or opening the web version, launch the application.

> ⚠️ Important: Make sure to log in using the same phone number that is registered with your Telegram account.

<figure><img src="/files/KjbQyyLmDnV7aFEcWS7e" alt=""><figcaption></figcaption></figure>

#### 🔐 Step 2: Enter Your Phone Number & Verify Code

1. Choose your country code, then enter your Telegram phone number.
2. Tap Continue to proceed.

> ✅ A login verification code will be sent to your Telegram app (not via SMS).

***

<figure><img src="/files/EPserDHSDbpqqJahQZ6z" alt=""><figcaption></figcaption></figure>

***

**✉️ Step 3: Enter the Verification Code**

<figure><img src="/files/Edoh5PYx4mtFqEVnpK5E" alt="" width="563"><figcaption></figcaption></figure>

Once the code arrives:

* Open your Telegram app.
* You’ll receive a message with a login code from Telegram.
* Return to the AutoForward app/web and enter the code in the input field.

*Entering code in progress…*

*Enter the exact code to complete login.*

> 🔒 Don’t worry – this process is 100% safe. Your phone number and login are securely handled via Telegram’s official API.

#### 🔒 Step 4: Enter Your Two-Step Verification Password (If Required)

<figure><img src="/files/YWJyb59XhyqoOMHvV5tb" alt=""><figcaption></figcaption></figure>

If your Telegram account has Two-Step Verification enabled, you will be prompted to enter your password after submitting the login code.

* Simply enter your password to complete the login process.

> 🔐 This is an additional layer of security set by you in Telegram.

> If you forgot your password, you can reset it via the Telegram app.

***

#### 🎉 Step 5: Connection Successful!

Congratulations! You’ve successfully connected your account to AutoForward Messages Telegram.

✅ You now have access to all features with a 7-day free trial to explore and experience the full power of the system.

Welcome aboard, and enjoy your automation journey!

{% embed url="<https://youtu.be/ol14RkFstOs>" %}


# Get information channels, groups, your account

{% hint style="warning" %}
This command is used for setting up auto forward. This command should be run after you have already connected a telegram account with [connect](/guides/how-to-connect) command.
{% endhint %}

{% hint style="info" %}
This command is used to get a list of groups, bots, channels or users ID's for use [/forward ](/guides/how-to-create-task-auto-forward)command.
{% endhint %}

### Use Commands

{% hint style="success" %}
/getchanel
{% endhint %}

{% hint style="success" %}
/getgroup
{% endhint %}

{% hint style="success" %}
/getuser
{% endhint %}

![](/files/l4uSLh3dhkKrHB14XlV2)

{% embed url="<https://www.youtube.com/watch?v=p3KDSrinlsA>" %}


# How To Create Task Auto Forward ?

Learn how to create a task to automatically forward Telegram messages from one chat to another in just a few taps.

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

### Step 1: Access the Forwarding List in Auto Forward Telegram Messages

To get started, follow these steps:

1. Open the **Auto Forward Telegram Messages** application.
2. Navigate to the **Forwarding List** screen.
3. Locate the **“Create Task +”** button.
4. Tap **“Create Task +”** to proceed to the next step.

✅ **Tip**: Ensure you have the necessary permissions to forward messages from your selected sources.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/step_1_click_create_task_button-473x1024.png" alt="auto forward telegram create task" height="1024" width="473"><figcaption><p>Start creating the task</p></figcaption></figure>

### Step 2: Choose the Source for Forwarding Messages in Telegram

After selecting **“Create Task +”**, you will be redirected to the **Select Source Forward** screen. You have five options:

* **All**: Displays all available message sources.
* **Channel**: Filters messages coming from specific channels.
* **Group**: Selects messages from groups you are part of.
* **User**: Includes messages from individual users.
* **Bot**: Filters messages from Telegram bots.

Selecting **“All”** will include a combination of the remaining four types.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/5_types_of_chat_in_source_forwawrder-473x1024.png" alt="select source for auto forward telegram" height="1024" width="473"><figcaption><p>Selecting <strong>“All”</strong> will include a combination of the remaining four types.</p></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/chat_source_list_displayed_by_the_selected_type.png" alt="select source for auto forward telegram" height="1024" width="473"><figcaption><p>Chat source list displayed by the selected type</p></figcaption></figure>

#### Troubleshooting Source Selection Issues in Auto Forward Telegram Messages

🚨 **Common issues and solutions:**

* **Synchronization Delays**: If you have recently joined a new chat, the BOT might not have synchronized the data yet, causing the chat not to appear.
* **Incorrect Type Selection**: If the chat isn’t listed, try selecting **“All”** to display all available sources.

💡 **Quick Fix:**

* Click the **Reload** button to refresh the chat list and allow the BOT to synchronize new data.
* **Avoid unnecessary reloads** to prevent delays.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/button_reload_channel-473x1024.png" alt="troubleshooting source selection telegram bot" height="1024" width="473"><figcaption><p>Reload channel button</p></figcaption></figure>

📌 **Note**: Only use the **“Reload”** action when necessary, such as when your Telegram message list exists but is not displayed.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/reload_channel-473x1024.png" alt="troubleshooting source selection telegram bot"><figcaption><p>The BOT is entering data synchronization mode</p></figcaption></figure>

3. Choose your desired source by tapping the corrresponding item to check it.
4. Once the correct source is located, tap on it to select, then tap **Next Step** to proceed.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/click_this_button_to_complete_selecting_the_source-473x1024.png" alt="select source for forwarding telegram" height="1024" width="473"><figcaption><p>Click the “Next Step” button to proceed to selecting the target</p></figcaption></figure>

### Step 3: Choose Your Target Destination for Auto Forwarding

On the **Select Target Forward** screen, you will define where the messages should be forwarded. The available options include:

* **All**
* **Channel**
* **Group**
* **User**
* **Bot**

📌 **Tip**: Choose the appropriate target to ensure your messages reach the intended audience. After selecting the target, tap **Next Step** to continue.

✅ **Why Choosing the Right Target Matters**

Selecting the right target ensures that messages reach the right audience at the right time. For example, forwarding business updates to a dedicated group improves team coordination, while sending news updates to a channel ensures broad visibility.target, tap **Next Step** to continue.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/click_this_button_to_complete_selecting_the_target-473x1024.png" alt="select target destination auto forward telegram" height="1024" width="473"><figcaption><p>Click the ‘Next Step’ button to move to the final step</p></figcaption></figure>

### Step 4: Configure Forwarding Task Details

Now, set up the essential parameters for your forwarding task:

✅ **Assign a Task Label**: Enter a meaningful name for your task in the input field.

📝 **Label Naming Rules:**

* Use only Latin letters (‘a’ to ‘z’) and numbers (‘1’ to ‘9’).
* Special characters are not allowed.
* Use underscores (\_) instead of spaces to separate words.

Once all necessary details are verified, tap **Create Task** to finalize the process.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/enter-the-label-name-and-create-the-task.png" alt="configure forwarding task details telegram" height="1024" width="473"><figcaption><p>Enter the label name and create the task</p></figcaption></figure>

### **Final: Achieved results**

Your task is now created and activated! 🎉 You can view or manage it from the **Forwarding List** screen.

✅ **Managing Your Auto Forwarding Tasks**

Once created, you can edit, pause, or delete forwarding tasks based on your requirements. Regularly reviewing your tasks ensures optimal performance and prevents unnecessary message forwarding.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/create_task_achieved_results_2.png" alt="forwarding task created telegram" height="893" width="431"><figcaption><p>Complete</p></figcaption></figure>

### Conclusion: Optimize Your Telegram Forwarding with Auto Forward Telegram Messages

With **Auto Forward Telegram Messages**, you no longer have to waste time forwarding messages manually. By setting up a **Create Forwarding Task in Auto Forward Telegram Messages**, you can streamline communication across multiple channels, groups, and users effortlessly.

***

### **Tips for Best Use of Auto Forward Telegram Messages**

To get the most out of **Auto Forward Telegram Messages**, follow these best practices:

✔️ **Double-check your source and target selections**: Ensuring accuracy will prevent messages from being forwarded incorrectly.

✔️ **Use descriptive task labels**: Clearly named tasks make it easier to manage and identify forwarding rules later.

💡 **Optimize forwarding frequency**: If you are forwarding high-volume messages, adjust settings to avoid unnecessary duplication.

Following these steps simplifies the management of message forwarding tasks, helping you automate your workflow effortlessly.

{% embed url="<https://youtu.be/DSCp3rvKXuE>" %}

***

#### 🎉 You’re Done!

Your auto-forward task is now live. Messages from the source will be forwarded to your selected target automatically.

You can always go back and:

* Add filters
* Enable AI rewrite/translation
* Set up scheduling
* And more…


# Setup Topics for a Forwarding Task

This guide explains how to choose topics for a forwarding task and how to use Topic Sync.

### What Is Topic Setup?

Topic setup lets you control which topics receive forwarded messages.

* **Source topics**: topics where messages are read.
* **Target topics**: topics where messages are forwarded.
* You can create more than one source-to-target mapping.

<figure><img src="/files/y2bRMCemtlust4Nu1qIP" alt="" width="375"><figcaption></figcaption></figure>

### Set Up Topics Manually

1. Open your forwarding task.
2. Open **Set Up Forward Topics**.
3. Expand **Manual topic mapping**.
4. In a mapping row, tap **Add Source Topics**.
5. Search for a group or topic, then select one or more topics.
6. Tap **Done**.
7. Tap **Add Target Topics** and select the target topic or topics.
8. Tap **Add More Forward Topics** to create another mapping row if needed.
9. Tap **Save** on the setup screen.

You can remove a selected topic with the remove icon. To remove a complete mapping row, use the close icon on that row.

#### Selecting Topics

The topic selection screen provides:

* Search by group name or chat ID.
* Filters for **All**, **Group**, **Channel**, **Bot**, and **User**.
* Multiple topic selection.
* An option to select all topics in the listed groups.
* **Reload** for a group when the topic list is out of date.

When you select specific topics in a group, the all-topics option for that group is replaced by the specific selection.

If a group has no topics, enable **Topics** in Telegram first, then reload the group.

#### Add a Missing Topic

If a topic is not returned by Telegram, tap **Add Topic** for the group and enter its topic ID and name. Then select it and tap **Done**.

<figure><img src="/files/rmgpuQC83iuxHpezvoVj" alt="" width="342"><figcaption></figcaption></figure>

### What Is Topic Sync?

Topic Sync automatically keeps topics aligned between your source and target groups in a forwarding task.

* New source topics are created automatically in the target group.
* Renamed source topics are updated in the target group.
* Existing topics can be copied once using **Copy existing topic structure**.

### Before You Start

Make sure **Topics** is enabled in every target group. The bot must also have permission to create and rename topics there.

### Enable Topic Sync

1. Open your forwarding task.
2. Open **Forward Topics**.
3. Turn on **Auto-sync topics**.
4. Tap **Save**.

Auto-sync starts after the task is saved.

### Copy Existing Topics

Auto-sync handles new changes. To copy topics that already exist:

1. Tap **Copy existing topic structure**.
2. Select the source group or groups.
3. Select the target group or groups.
4. Confirm the copy request.
5. Save the task if you are creating a new task.

The copy runs in the background. You may see these statuses:

* **Queued**: waiting for the bot to start.
* **Processing**: the bot is copying topics.
* **Completed**: all topics were processed successfully.
* **Partial**: some topics were copied, but some failed.
* **Failed**: the copy could not be completed. Check the target group permissions and try again.

The summary shows how many topics were created, already existed, or failed. Existing target topics with the same name are reused.

### Manual Mapping

You can use **Manual topic mapping** together with Topic Sync. Manual mapping is useful when a source topic should be forwarded to a specific target topic or when you want to adjust individual mappings.

### Important Notes

* Copying only includes topics that exist when you start the copy.
* Turn on **Auto-sync topics** to keep future topics and renames synchronized.
* Topic deletion is not synchronized. Deleting a source topic does not delete the target topic.
* If the copy stays queued for a while, keep the task saved and check again later. The bot processes it in the background.
* Selecting topics does not save the task by itself. Always tap **Save** on the setup screen.


# What is Addons ?

### Overview

**Addons** are powerful extensions that enhance your AutoForward bot's capabilities beyond the standard features. Instead of requiring a subscription upgrade, addons use a flexible **credit-based payment system** that lets you unlock only the features you need, when you need them.

#### What Makes Addons Different?

* **Pay-as-you-go**: Buy credits and spend them on specific features
* **No subscription needed**: Perfect for users who need specialized features occasionally
* **Time-limited**: Each addon works for a set duration (e.g., 30 days, 90 days, 1 year)
* **Mix and match**: Activate multiple addons simultaneously based on your needs
* **Gift-able**: Share addon access with other users

***

### How the Addon System Works

#### 1. Credits Overview

**Credits** are the currency used to purchase addons. Think of them like tokens you exchange for premium features.

* Purchase credit packages through the Buy Credits screen
* Credits never expire once purchased
* One-time payment for each credit package
* Use credits to unlock any available addon

**To buy credits:**

1. Navigate to **My Addons** screen
2. Tap on the **Credits Balance** card at the top
3. Select a credit package that fits your needs
4. Complete the purchase

#### 2. Purchasing Addons

Once you have credits, activating an addon is simple:

1. Go to **My Addons** screen (Menu → My Addons)
2. Browse available addons or use the search bar
3. Tap **Unlock** on the addon you want
4. Review the price and duration
5. Confirm the purchase

**Your credits will be deducted automatically**, and the addon becomes active immediately.

#### 3. Managing Your Addons

The **My Addons** screen shows all available addons and your active purchases. Use the filter tabs to organize your view:

* **All**: Shows every available addon (both owned and not owned)
* **Active**: Only addons you currently own that haven't expired
* **Expired**: Addons you previously owned that have reached their end date

**Search**: Type addon names or keywords to quickly find specific features.

**Categories**: Filter by category like "Content Tools" or "Automation" for easier browsing.

#### 4. Expiring Addons Warning

When an addon is about to expire (less than 7 days remaining), you'll see a **yellow warning banner** at the top of the screen. This gives you time to renew before losing access.

***

### Summary

Addons provide powerful, specialized features without requiring a full subscription upgrade. The credit-based system gives you maximum flexibility to unlock exactly what you need, when you need it. Start by exploring the available addons, identify which ones solve your specific challenges, and activate them to supercharge your AutoForward bot!

**Ready to get started?** Navigate to **Menu → My Addons** and browse the available features today.


# Smart Image Crop

### Overview

Smart Image Crop is an addon that automatically crops images before forwarding them to your target channels. This is perfect for removing unwanted watermarks, channel stamps, promotional banners, or any edges you want to eliminate from images.

#### What Problem Does It Solve?

When forwarding images from other channels, you often encounter:

* **Channel watermarks** at the top or bottom of images
* **Promotional banners** advertising the source channel
* **Unwanted borders** that make images look unprofessional
* **Screenshots with UI elements** like status bars or navigation
* **Inconsistent image dimensions** that need standardization

Smart Image Crop removes these automatically before the image reaches your audience.

#### Key Benefits

✅ **Automatic processing** - No manual editing required\
✅ **Precise control** - Set exact pixel or percentage values for each edge\
✅ **Live preview** - See exactly what will be cropped before activating\
✅ **Batch processing** - Apply to all images in your forwarding task\
✅ **Non-destructive** - Original images remain unchanged in source\
✅ **Preserve quality** - No compression or quality loss during crop

***

### How It Works

#### Processing Flow

1. **Message arrives** from source channel containing an image
2. **Bot downloads** the image temporarily
3. **Crop algorithm** applies your configured crop values
4. **New image** is created with specified edges removed
5. **Forwarded image** is sent to targets with the crop applied
6. **Temporary files** are cleaned up automatically

#### Technical Details

* **Processing time**: 1-3 seconds per image (minimal delay)
* **Supported formats**: JPEG, PNG, WebP (standard Telegram photo formats)
* **Not supported**: GIFs, stickers, videos, documents
* **Maximum resolution**: Up to 10MB image file size
* **Aspect ratio**: Can be preserved or adjusted based on your settings

***

### Getting Started

#### Prerequisites

Before you can use Smart Image Crop:

1. ✅ Purchase the addon using credits
2. ✅ Have an active forwarding task
3. ✅ Ensure your task forwards photo messages

#### Step-by-Step Setup

**Step 1: Purchase the Addon**

1. Open AutoForward app
2. Navigate to **Menu → My Addons**
3. Search for "Smart Image Crop" or find it in **Content Tools** category
4. Tap **Unlock**
5. Choose duration (30/90/365 days - longer = better value)
6. Confirm purchase with your credits

**Step 2: Enable in Your Task**

1. Open **Tasks** screen
2. Select the task where you want to use image cropping
3. Tap to edit the task
4. Scroll to **Image Settings** or **Content Settings** section
5. Find **Smart Image Crop** settings
6. Toggle **Enable Image Crop** to ON

**Step 3: Configure Crop Values**

Choose your **Crop Mode**:

**Option A: Pixels Mode** (best for consistent image sizes)

```
Top: 50 pixels
Bottom: 100 pixels
Left: 0 pixels
Right: 0 pixels
```

**Option B: Percent Mode** (best for varying image sizes)

```
Top: 5%
Bottom: 10%
Left: 0%
Right: 0%
```

**Step 4: Preview Your Crop**

1. Tap **Preview** button
2. The preview shows red overlay on areas that will be cropped
3. Adjust values if needed
4. Preview updates in real-time

**Step 5: Save and Test**

1. Tap **Save** to apply settings
2. Send a test image through your source channel
3. Check the forwarded result in your target
4. Fine-tune crop values if needed

***

### Configuration Details

#### Crop Mode Selection

**Pixels Mode**

**When to use:**

* You know exact dimensions of unwanted elements (e.g., "50-pixel watermark")
* Source images are mostly the same size
* You need precise control

**How it works:**

* Removes exact number of pixels from each edge
* Example: Top=50 removes top 50 pixels regardless of image size
* 1920x1080 image with Top=50, Bottom=50 becomes 1920x980

**Pros:**

* Exact precision
* Predictable results

**Cons:**

* May crop too much on small images
* May crop too little on large images

**Percent Mode**

**When to use:**

* Source images vary in size
* You want proportional cropping
* You're removing watermarks at relative positions

**How it works:**

* Removes percentage of total dimension
* Example: Top=10% removes top 10% of height
* 1920x1080 (10% top) = removes 108 pixels
* 960x540 (10% top) = removes 54 pixels

**Pros:**

* Scales with image size
* Works for any resolution
* Consistent appearance

**Cons:**

* Less precise for exact pixel counts

#### Edge Configuration

You can set different crop values for each edge independently:

**Top Edge**

* Removes pixels/percentage from the **top** of the image
* Common uses: Remove channel names, timestamps, headers
* Typical values: 5-15% or 50-150 pixels

**Bottom Edge**

* Removes pixels/percentage from the **bottom** of the image
* Common uses: Remove watermarks, promotional text, footers
* Typical values: 5-15% or 50-150 pixels

**Left Edge**

* Removes pixels/percentage from the **left** of the image
* Common uses: Remove side stamps, date overlays
* Typical values: 0-10% or 0-100 pixels

**Right Edge**

* Removes pixels/percentage from the **right** of the image
* Common uses: Remove side stamps, logos
* Typical values: 0-10% or 0-100 pixels

#### Validation Rules

The system enforces these limits to prevent invalid crops:

**Percent Mode:**

* Top + Bottom must be **< 100%**
  * ✅ Valid: Top 40% + Bottom 40% = 80%
  * ❌ Invalid: Top 60% + Bottom 50% = 110%
* Left + Right must be **< 100%**
  * ✅ Valid: Left 30% + Right 30% = 60%
  * ❌ Invalid: Left 70% + Right 40% = 110%

**Pixels Mode:**

* All values must be **≥ 0**
  * ✅ Valid: Top 50, Bottom 0
  * ❌ Invalid: Top -10, Bottom 50

**Why these rules?** Cropping 100% or more from any dimension would leave no image.

#### Preserve Aspect Ratio

**Option**: Toggle ON/OFF

**When enabled:**

* The image's width-to-height ratio stays the same after cropping
* Useful for maintaining screen-friendly proportions
* May result in additional automatic cropping to maintain ratio

**When disabled:**

* Image dimensions change based only on your crop values
* Final aspect ratio may be different from original
* Gives you exact control over final dimensions

**Recommendation**: Leave **OFF** for most use cases. Enable only if you need specific aspect ratios (e.g., 16:9 for videos, 1:1 for Instagram-style posts).

***

### Common Use Cases

#### Remove Bottom Watermark

**Example**: Channel adds 80px watermark at bottom

```
Mode: Pixels
Bottom: 80
```

#### Remove Header & Footer

**Example**: 10% header, 15% footer (varying image sizes)

```
Mode: Percent
Top: 10%, Bottom: 15%
```

#### Clean Screenshot Edges

**Example**: Remove status bar and navigation

```
Mode: Pixels
Top: 50, Bottom: 100
```

#### Multiple Sources

Create separate tasks with different crop settings for each source channel.

***

### Advanced Features

#### Real-Time Preview

The preview feature helps you visualize crops before activating:

**How to use:**

1. Configure your crop values
2. Tap **Preview** button
3. View a sample image with **red overlay** showing crop areas
4. Adjust values and preview updates instantly

**Preview tips:**

* Red areas = what will be removed
* White/clear areas = what remains in final image
* If you can't see preview, toggle "Enable Image Crop" ON first
* Preview uses a standard test image, actual results may vary slightly

#### Dynamic Adjustment

You can change crop values anytime:

1. Edit task settings
2. Update Smart Image Crop values
3. Save changes
4. New crop applies to **all future images** immediately
5. Previously forwarded images are not affected

**Use cases:**

* Source channel changes watermark size
* Seasonal adjustments (holiday branding)
* A/B testing different crop approaches

#### Combining with Other Features

Smart Image Crop works seamlessly with:

✅ **Caption filters** - Crop image + modify text\
✅ **URL replacement** - Clean image + change links\
✅ **Button cloning** - Crop image + preserve buttons\
✅ **Media filters** - Only process specific media types

***

### Troubleshooting

#### Issue: Preview Shows But Nothing Crops

**Possible causes:**

* ✅ Check "Enable Image Crop" toggle is ON
* ✅ Verify addon hasn't expired (check My Addons)
* ✅ Save settings after making changes
* ✅ Test with a new image (old images won't be reprocessed)

**Fix:**

1. Open task settings
2. Confirm toggle is ON
3. Tap Save
4. Send a fresh test image through source channel

***

#### Issue: Too Much Is Being Cropped

**Possible causes:**

* Values are too high
* Using pixels on varying image sizes
* Aspect ratio preservation causing extra crop

**Fix:**

**If using Pixels:**

* Reduce pixel values by 50% and test
* Consider switching to Percent mode

**If using Percent:**

* Lower percentages (try 5% instead of 10%)

**If Aspect Ratio ON:**

* Try turning it OFF
* The system may be auto-cropping to maintain ratio

***

#### Issue: Not Cropping Enough

**Possible causes:**

* Values are too low
* Wrong crop mode for your needs
* Not all edges configured

**Fix:**

1. Increase values gradually (add 5% or 20 pixels at a time)
2. Check all four edges - you may need to crop multiple sides
3. Use Preview to see exactly what's being removed
4. Test with actual source images, not test images

***

#### Issue: Images Look Distorted

**Possible causes:**

* "Preserve Aspect Ratio" is ON but shouldn't be
* Cropping uneven amounts from width vs height

**Fix:**

1. Turn "Preserve Aspect Ratio" **OFF**
2. Review crop values - try to keep proportional if maintaining shape
3. Example for square crop: If Top+Bottom = 20%, also do Left+Right = 20%

***

#### Issue: "Invalid Crop Percent" Error

**Cause:** Your crop values exceed 100% on an axis

**Fix:** Check your math:

* Top 60% + Bottom 50% = 110% ❌ (reduce to Top 50% + Bottom 40%)
* Left 70% + Right 40% = 110% ❌ (reduce to Left 60% + Right 30%)

**Rule**: Top+Bottom < 100% and Left+Right < 100%

***

#### Issue: Some Images Not Cropping

**Possible causes:**

* Image is not a photo (videos, GIFs, stickers are not processed)
* Image is sent as document/file instead of photo
* Image exceeds size limits

**Fix:**

1. Check source sends images as **photos** not **documents**
2. Smart Image Crop only works on standard photo messages
3. For other media types, source must send as photo

***

#### Issue: Cropped Images Look Low Quality

**Note:** Smart Image Crop does NOT compress or reduce quality. If you're seeing quality issues:

**Actual causes:**

* Telegram's own compression (happens on all photos)
* Source image was already low quality
* Extreme cropping makes artifacts more visible

**Not caused by Smart Image Crop:**

* The addon performs lossless cropping
* Output quality = input quality (minus cropped areas)

**Workaround:**

* Request source use higher quality images
* No control over Telegram's automatic compression

***

### Best Practices

#### Start Small, Adjust Gradually

Begin with conservative values (5%, 50px) and increase until watermark is removed.

#### Use Percent for Mixed Sizes

When images vary in size, Percent mode ensures consistent proportional cropping.

#### Test Before Production

Create a test task forwarding to your private channel first. Test 5-10 images before applying to main task.

#### Common Crop Values

| Watermark Position | Typical Crop               |
| ------------------ | -------------------------- |
| Bottom watermark   | Bottom: 10-20% or 80-150px |
| Top header         | Top: 5-15% or 50-100px     |
| Side stamps        | Left/Right: 5-10%          |

#### Combine with Other Addons

Works well with Auto Clone Button, Caption filters, and other content tools.

***

### Frequently Asked Questions

#### Does it work on all image types?

**Photos**: ✅ Yes\
**GIFs**: ❌ No\
**Stickers**: ❌ No\
**Videos**: ❌ No\
**Documents sent as images**: ❌ No (must be sent as photo)

#### Can I crop different amounts on different tasks?

**Yes!** Each task has independent Smart Image Crop settings. Configure separately for each task/source.

#### Will it reprocess old images if I change settings?

**No.** Only new images (received after you save settings) are cropped. Previously forwarded images remain unchanged.

#### Can I temporarily disable without losing settings?

**Yes!** Just toggle "Enable Image Crop" to OFF. Your crop values are saved and ready when you toggle back ON.

#### Does it slow down forwarding?

**Minimal impact.** Processing adds 1-3 seconds per image. Most users won't notice the delay.

#### What if I accidentally crop too much?

**Solution:**

1. Go back to task settings
2. Reduce crop values
3. Save changes
4. Forward a new test image
5. Old images cannot be uncropped (they're already sent)

#### Can I see what will be cropped before activating?

**Yes!** Use the **Preview** feature. It shows red overlay on areas that will be removed.

#### Does cropping reduce image quality?

**No.** Cropping is lossless. The remaining image maintains original quality. Any compression is from Telegram, not the addon.

#### Can I use it with Button Clone and other addons?

**Yes!** Smart Image Crop works seamlessly with all other addons. Process independently.

#### What happens when the addon expires?

* Cropping stops immediately
* Your settings are preserved
* Images forward without crop applied
* Renew to reactivate with same settings

#### Can I export/import crop settings between tasks?

**Not directly**, but you can:

1. Note down your settings
2. Manually apply to new tasks
3. Use same values for consistency

***

### Performance Optimization

#### For High-Volume Forwarding

If you forward many images per day:

**Best practices:**

* Use **Percent mode** (faster than Pixels for varying sizes)
* Keep crop values moderate (extreme crops process slower)
* Consider multiple tasks to distribute load
* Monitor bot performance in Task Statistics

#### For Mixed Content

If your source sends photos + other media:

**Setup:**

* Enable Smart Image Crop
* Photos will be cropped automatically
* Other media (GIFs, videos, stickers) pass through unchanged
* No configuration needed for mixed handling

***

### Getting Help

If you're still experiencing issues:

1. **Re-read relevant sections** above for your specific problem
2. **Check Addons FAQ** for more Q\&A
3. **Test in isolated environment** (new task, single target, test images)
4. **Contact support** with:
   * Screenshots of your crop settings
   * Example original and cropped images
   * Task configuration details
   * What you expected vs. what happened

**Support channels:**

* In-app: Menu → Help & Support
* Email: <support@autoforwardtelegram.com>
* Community: Telegram group

***

### Summary

Smart Image Crop is a powerful tool for professional content curation. Key takeaways:

✅ Removes unwanted watermarks, headers, footers automatically\
✅ Works with both fixed pixel and dynamic percentage cropping\
✅ Live preview shows exactly what will be removed\
✅ Processes images in 1-3 seconds with no quality loss\
✅ Configure independently per task for different sources\
✅ Combines seamlessly with other AutoForward features

**Next steps:**

1. Purchase the addon if you haven't yet
2. Test on a small task with known images
3. Gradually expand to production forwarding
4. Monitor and adjust as sources change

**Related documentation:**

* All Addons Overview
* Addons Quick Reference
* Addons FAQ

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# Auto Clone Button

### Overview

Auto Clone Button automatically copies inline buttons from source messages to your forwarded messages. This preserves call-to-action (CTA) buttons, purchase links, sign-up forms, and any interactive elements that make your content engaging.

#### What Problem Does It Solve?

When forwarding messages that contain buttons, you face these challenges:

❌ **Buttons disappear** when forwarding normally\
❌ **CTAs are lost** - your audience can't click through to products/services\
❌ **Affiliate links don't transfer** - you lose tracking and commissions\
❌ **User engagement drops** - no easy way for audience to take action\
❌ **Manual button creation** is tedious and error-prone

Auto Clone Button solves all of these automatically.

#### Key Benefits

✅ **Preserve engagement** - Keep all interactive elements\
✅ **Maintain affiliate links** - Don't lose referral commissions\
✅ **Replace URLs automatically** - Convert source links to your own\
✅ **Filter buttons selectively** - Choose which buttons to keep\
✅ **Smart deduplication** - Remove duplicate buttons automatically\
✅ **Flexible layouts** - Control max buttons and rows

***

### How It Works

#### Processing Flow

1. **Message arrives** from source with inline buttons
2. **Bot analyzes** button structure (text, URL, type)
3. **Filters applied** based on your whitelist/blacklist rules
4. **URLs replaced** if you configured replacement patterns
5. **Buttons cloned** to the forwarded message
6. **Deduplication** removes any duplicate buttons (optional)
7. **Layout optimized** within your max buttons/rows limits

#### Technical Details

* **Button types supported**: URL buttons (most common), callback buttons (limited)
* **Per message limit**: Up to 10 buttons / 5 rows (configurable)
* **Processing time**: < 1 second per message (instant for users)
* **URL validation**: Automatic checks for valid URLs
* **Merge modes**: Append to existing buttons or replace completely

***

### Getting Started

#### Prerequisites

Before you can use Auto Clone Button:

1. ✅ Purchase the addon using credits
2. ✅ Have an active forwarding task
3. ✅ Source messages contain inline buttons

#### Quick Start (Recommended for Most Users)

For most users, the "All Buttons Mode" is perfect:

**Step 1: Purchase & Enable**

1. **Menu → My Addons → Auto Clone Button → Unlock**
2. Open your task settings
3. Find **Button Settings** section
4. Toggle **Auto Clone Button** to ON

**Step 2: Choose "All Buttons" Mode**

1. In Button Settings, select Mode: **All Buttons**
2. This will clone every button from source messages
3. No filters needed - simplest setup

**Step 3: Save & Test**

1. Tap **Save**
2. Forward a message with buttons through your task
3. Verify buttons appear in forwarded message
4. Done! 🎉

***

### Operating Modes

Auto Clone Button has **two operating modes**. Choose based on your needs:

#### Mode 1: All Buttons (Recommended)

**What it does**: Clones every button from the source message.

**Best for:**

* Most users who just want to preserve buttons
* Simple, no-configuration-needed setup
* General content forwarding
* Maintaining all CTAs

**Pros:**

* Easiest to set up (5 seconds)
* No configuration needed
* No missed buttons

**Cons:**

* Can't filter out unwanted buttons
* No selective control

**Configuration required**: NONE - just toggle ON

***

#### Mode 2: URL Only (Advanced)

**What it does**: Clones only buttons that match your URL filtering rules.

**Best for:**

* Affiliate marketers who need specific links
* Content curators who filter spam/unwanted links
* Advanced users who need precise control
* Replacing URLs with your own

**Pros:**

* Full control over which buttons appear
* Filter spam or competitor links
* Replace URLs with your tracking links

**Cons:**

* Requires configuration (whitelist/blacklist)
* More complex to set up
* Risk of filtering too much if patterns are wrong

**Configuration required**: Whitelist and/or Blacklist patterns

***

### Configuration Guide: All Buttons Mode

Since this mode requires minimal configuration, focus on these optional settings:

#### Max Buttons

**Default**: 10\
**Range**: 1-20\
**Purpose**: Limit total buttons per message

**When to use:**

* Source sends too many buttons (cluttered appearance)
* You want clean, minimal messages
* Mobile users prefer fewer options

**Example:**

* Source has 15 buttons
* Max Buttons = 5
* First 5 buttons are cloned, rest are ignored

***

#### Max Rows

**Default**: 5\
**Range**: 1-10\
**Purpose**: Limit button rows (Telegram displays buttons in rows)

**How Telegram arranges buttons:**

* Usually 1-3 buttons per row (depends on text length)
* Long button text = 1 button per row
* Short text = 2-3 buttons per row

**Example:**

* Source has 8 buttons arranged in 6 rows
* Max Rows = 3
* First 3 rows are kept (5-6 buttons typically)

***

#### Deduplicate

**Default**: OFF\
**Options**: ON/OFF\
**Purpose**: Remove duplicate buttons automatically

**When to enable:**

* Source sometimes sends same button multiple times
* Multiple similar buttons (e.g., "Buy Now", "BUY NOW", " Buy Now")
* Want clean, non-repetitive interface

**How it works:**

* Compares button URLs (not text)
* If URL matches, button is removed
* First occurrence is kept

***

#### Merge Mode

**Default**: Append\
**Options**: Append / Replace\
**Purpose**: How to handle existing buttons in your forwarded message

**Append** (recommended):

* Cloned buttons are added after any existing buttons
* Useful if you manually add your own buttons to tasks
* Combines source buttons + your custom buttons

**Replace**:

* Cloned buttons replace all existing buttons
* Use if you only want source buttons, nothing else

**Most users**: Keep on **Append**

***

### Configuration Guide: URL Only Mode (Advanced)

This mode gives you powerful filtering and replacement capabilities.

#### Whitelist Patterns

**Purpose**: Only clone buttons whose URLs match these patterns.

**When to use:**

* You want specific domains only (e.g., only Amazon links)
* Filtering for partner/affiliate links
* Only official website buttons

**How to configure:**

1. Enter patterns, separated by commas
2. Use `*` as wildcard

**Pattern examples:**

```
t.me/*
```

**Matches:**

* ✅ t.me/yourchannel
* ✅ t.me/joinchat/abc123
* ❌ telegram.me/channel (different domain)

```
*.example.com/*
```

**Matches:**

* ✅ shop.example.com/product
* ✅ [www.example.com/page](http://www.example.com/page)
* ✅ blog.example.com/article
* ❌ example.org (different TLD)

```
amazon.com/*, amazon.co.uk/*
```

**Matches:**

* ✅ amazon.com/dp/B08XYZ
* ✅ amazon.co.uk/gp/product/123
* ❌ ebay.com (not in pattern)

**Multiple patterns:**

```
t.me/*, *.yoursite.com/*, partner.com/affiliate/*
```

Buttons matching ANY pattern will be cloned.

***

#### Blacklist Patterns

**Purpose**: Exclude buttons whose URLs match these patterns.

**When to use:**

* Remove competitor links
* Filter spam or shortener links
* Block specific domains

**Priority**: Blacklist is checked AFTER whitelist. If a URL matches both, blacklist wins (button is blocked).

**Pattern examples:**

```
bit.ly/*, tinyurl.com/*
```

**Blocks**: All URL shortener links

```
competitor.com/*
```

**Blocks**: All links to competitor.com

```
*.spam-site.com/*
```

**Blocks**: All subdomains of spam-site.com

**Combined example (Whitelist + Blacklist):**

```
Whitelist: t.me/*, *.yoursite.com/*
Blacklist: bit.ly/*, competitor.com/*
```

**Result:**

* ✅ Clones: t.me/yourchannel, shop.yoursite.com/product
* ❌ Blocks: bit.ly/abc, competitor.com/offer
* ❌ Blocks: anyothersite.com (not whitelisted)

***

#### URL Replacement

**Purpose**: Automatically replace parts of button URLs with your own.

**Use cases:**

* Insert your affiliate ID into product links
* Change source channel links to your channel
* Update old domains to new domains
* Add tracking parameters

**How to configure:**

Add replacement rules with **From** and **To** fields:

**Example 1: Affiliate Links**

```
From: exchange.com/trade
To: exchange.com/trade?ref=YOUR_AFFILIATE_ID
```

**Original button**: `https://exchange.com/trade/BTC-USD`\
**Replaced button**: `https://exchange.com/trade/BTC-USD?ref=YOUR_AFFILIATE_ID`

**Example 2: Channel Redirect**

```
From: t.me/oldchannel
To: t.me/yourchannel
```

**Original**: `https://t.me/oldchannel`\
**Replaced**: `https://t.me/yourchannel`

**Example 3: Domain Update**

```
From: shop.oldsite.com
To: shop.newsite.com
```

All buttons pointing to old domain will use new domain.

**Example 4: Tracking Parameters**

```
From: product.com/item
To: product.com/item?utm_source=telegram&utm_campaign=forward
```

Adds Google Analytics tracking to all product links.

***

#### Advanced Replacement Rules

**Multiple replacements**: Add as many rules as needed. Each is applied independently.

**Processing order**:

1. Whitelist/Blacklist filters buttons
2. Remaining buttons have URL replacements applied
3. Buttons are cloned with new URLs

**String matching**:

* Replacements are **exact substring matches**
* Case-sensitive
* Not regex (wildcards don't work in replacements)

**Example - Multiple rules:**

```
Rule 1: 
From: amazon.com
To: amazon.com?tag=yourID

Rule 2:
From: t.me/source
To: t.me/yourname
```

Both rules apply independently to matching URLs.

***

### Common Use Cases

#### Add Affiliate Links

**Example**: Insert referral codes into trading buttons

```
Mode: All Buttons
URL Replacement:
  From: binance.com/trade
  To: binance.com/trade?ref=YOUR_ID
```

#### Filter Trusted Sources Only

**Example**: News aggregation - official sites only

```
Mode: URL Only
Whitelist: *.reuters.com/*, *.bbc.com/*
Blacklist: telegra.ph/*, bit.ly/*
```

#### Replace Links

**Example**: Redirect competitor links to your service

```
Mode: All Buttons
URL Replacement:
  From: competitor.com
  To: yoursite.com
```

#### Add Tracking Parameters

**Example**: Add UTM parameters for analytics

```
URL Replacement:
  From: shop.com/
  To: shop.com/?utm_source=telegram
```

***

### Advanced Features

#### Button Deduplication Logic

When enabled, the system:

1. **Extracts URLs** from all buttons
2. **Normalizes URLs** (removes trailing slashes, converts to lowercase)
3. **Compares** each button URL to previous buttons
4. **Removes** duplicates (keeps first occurrence)

**Example:**

```
Original buttons:
1. "Shop Now" → https://shop.com/product
2. "Buy Here" → https://shop.com/product  (duplicate URL)
3. "View Product" → https://shop.com/item  (different URL)

After deduplication:
1. "Shop Now" → https://shop.com/product  (kept)
3. "View Product" → https://shop.com/item  (kept)
```

***

#### Pattern Matching Deep Dive

**Wildcard rules:**

`*` matches any characters:

* `t.me/*` matches anything starting with `t.me/`
* `*.example.com/*` matches any subdomain of example.com

**Exact matching:**

* No wildcard = must match exactly
* `example.com` matches only `example.com`, not `www.example.com`

**Common mistakes:**

❌ `example.com` (too strict - misses `https://example.com/page`)\
✅ `example.com/*` (correct - matches all pages)

❌ `t.me` (too strict - misses `https://t.me/channel`)\
✅ `t.me/*` (correct - matches all Telegram links)

**Testing your patterns:**

1. Use Preview or test with a few messages first
2. Check which buttons appear/don't appear
3. Adjust patterns if needed

***

#### Merge Mode In-Depth

**Scenario comparison:**

**Setup**: You manually added a "Subscribe to Our Channel" button to your task.

**Append Mode:**

* Your custom button appears first
* Source buttons appear after
* Total: Your button + all cloned buttons

**Replace Mode:**

* Your custom button is removed
* Only source buttons appear
* Total: Only cloned buttons

**Best practice**: Use Append unless you specifically want source buttons only.

***

### Troubleshooting

#### Issue: No Buttons Appearing

**Checklist:**

* [ ] Auto Clone Button is enabled in task settings
* [ ] Addon hasn't expired (check My Addons)
* [ ] Source message actually contains buttons
* [ ] In URL Only mode, check whitelist/blacklist aren't too restrictive
* [ ] Max Buttons isn't set to 0

**Fix:**

1. Switch to "All Buttons" mode temporarily to test
2. If buttons appear now, your filters are too strict
3. Review whitelist/blacklist patterns
4. Test with more permissive patterns

***

#### Issue: Wrong Buttons Are Cloned

**Cause**: Whitelist/Blacklist patterns are too broad or too narrow.

**Fix:**

* **Too many buttons**: Add blacklist patterns to filter unwanted ones
* **Too few buttons**: Broaden whitelist or check blacklist isn't blocking good buttons

**Debug method:**

1. Temporarily use "All Buttons" mode
2. Note which buttons appear
3. Switch back to URL Only
4. Craft patterns to match desired buttons

***

#### Issue: URL Replacement Not Working

**Common causes:**

**1. "From" string doesn't match exactly**

```
❌ From: amazon.com (missing protocol/path)
✅ From: amazon.com/

Button URL: https://amazon.com/dp/B08XYZ
```

**2. Case sensitivity**

```
❌ From: Amazon.com (wrong case)
✅ From: amazon.com

Button URL: https://amazon.com/...
```

**3. Not a substring of URL**

```
❌ From: shop.com
Button URL: https://greatshop.com (doesn't contain "shop.com")
```

**Fix**: Use the exact substring that appears in button URLs.

**Testing tip**: Check source button URLs first, then craft your "From" pattern to match.

***

#### Issue: Pattern Syntax Errors

**Invalid patterns:**

❌ `*.com` (too broad - matches everything)\
❌ `t.me` (missing path - should be `t.me/*`)\
❌ `example.com, www.example.com` (space after comma - should be no space)

**Valid patterns:**

✅ `*.example.com/*`\
✅ `t.me/*,telegram.me/*` (no spaces)\
✅ `amazon.com/*,amazon.co.uk/*`

**Validation**: App will warn you if pattern syntax is invalid when you save.

***

#### Issue: Too Many Buttons (Cluttered)

**Solutions:**

**Option 1: Reduce Max Buttons**

* Set Max Buttons to 3-5 for cleaner appearance
* First few buttons are usually most important

**Option 2: Use URL Only Mode**

* Whitelist only critical button URLs
* Filter out secondary/less important buttons

**Option 3: Reduce Max Rows**

* Set Max Rows to 2-3
* Limits vertical space used by buttons

***

#### Issue: Buttons Showing in Wrong Order

**Explanation**: Auto Clone Button preserves source button order. It doesn't reorder.

**If you need custom order:**

* This isn't possible with Auto Clone Button
* Consider manually creating buttons in task settings
* Or request priority button feature from support

***

#### Issue: Some Button Text Looks Strange

**Explanation**: The addon clones button text exactly as source sends it.

**Common issues:**

* **Emoji issues**: Some emojis may not display correctly
* **Language encoding**: Rare character encoding problems
* **Long text**: Button text might be truncated by Telegram

**These are Telegram limitations**, not addon issues. The addon preserves whatever the source sends.

***

### Best Practices

#### Start with All Buttons Mode

Use this for most cases. Only switch to URL Only mode if you need filtering or URL replacement.

#### Test Before Production

Create a test task, send 5-10 test messages, verify buttons appear correctly, then apply to main task.

#### Pattern Tips

* Use wildcards: `t.me/*`, `*.example.com/*`
* Test patterns with actual source messages first
* Document your working patterns for future reference

#### URL Replacement Tips

* Match exact substrings from button URLs
* Case-sensitive matching
* Test with actual buttons to verify replacement works

#### Use Responsibly

* Don't mislead users with replaced links
* Follow Telegram Terms of Service
* Be transparent about affiliate links
* Respect content creators' rights

#### Combine with Other Addons

* **Crypto**: Auto Clone Button + AlphaGardeners Extract
* **Marketing**: Auto Clone Button + Smart Image Crop + Dialog Broadcast
* **News**: Auto Clone Button + Caption filters

***

### Performance Considerations

#### Processing Speed

* **All Buttons mode**: <0.5s per message (instant)
* **URL Only mode**: \~1s per message (pattern matching)
* **URL Replacement**: +0.5s per replacement rule

**Total**: Usually 1-2s - negligible delay users won't notice.

#### High-Volume Usage

If forwarding 100+ messages/hour:

* **All Buttons** is faster than URL Only
* Keep replacement rules minimal (3-5 max)
* Monitor task performance in Statistics

#### Button Limits

**Telegram's limits** (not addon limits):

* Max \~100 buttons per message (theoretical)
* Practical limit: 10-20 buttons for good UX
* Max text length per button: \~64 characters

**Recommendation**: Set Max Buttons to 5-10 for best user experience.

***

### Frequently Asked Questions

#### Can I clone buttons and modify button text?

**No**. The addon clones buttons exactly as they appear (text and URL). You can replace URLs but not button text.

**Workaround**: Manually create custom buttons in task settings with your preferred text.

#### Do callback buttons work?

**Limited support**. URL buttons (most common) work perfectly. Callback buttons (buttons that trigger bot commands) may not work as expected.

**Why**: Callback buttons are tied to the source bot. When cloned to your message, they won't function (no bot to handle the callback).

**Best for**: URL buttons, which work everywhere.

#### Can I add my own buttons in addition to cloned ones?

**Yes!** Use **Merge Mode: Append**.

1. Add your custom buttons in task settings
2. Enable Auto Clone Button with Append mode
3. Your buttons appear first, cloned buttons appear after

#### Does it work with media groups (albums)?

**Yes**, but buttons apply to the whole group, not individual photos. Telegram limitation.

#### Can I clone buttons from one source to multiple targets?

**Yes!** Configure the addon once in your task. All targets in that task receive the same cloned buttons.

#### What if source changes their button URLs?

**URL Replacement rules still apply** - they replace whatever substring matches, regardless of full URL.

**Example**:

* Rule: From `shop.com/` To `shop.com/?ref=123`
* Works for: `shop.com/productA`, `shop.com/productB`, `shop.com/any-page`

No need to update rules unless domain completely changes.

#### Can I temporarily disable without losing configuration?

**Yes**! Toggle "Auto Clone Button" OFF. All your patterns, replacements, and settings are saved. Toggle back ON anytime to resume with same settings.

#### How do I know which buttons were cloned vs filtered?

**Testing method**:

1. Forward message to a test channel
2. Check which buttons appear
3. Compare with source message
4. Adjust filters if needed

No built-in log, but easy to verify visually.

***

### Getting Help

If you're stuck after reading this guide:

1. **Review Addons FAQ** - More Q\&A
2. **Check Quick Reference** - Pattern examples
3. **Test in isolation** - Create test task, send test messages
4. **Contact support** with:
   * Your whitelist/blacklist patterns
   * Example source message/buttons
   * What you expected vs. what happened
   * Screenshots

**Support channels**:

* In-app: Menu → Help & Support
* Email: <support@autoforwardtelegram.com>
* Community: Telegram group for user tips

***

### Summary

Auto Clone Button gives you powerful control over button forwarding:

✅ **Preserve engagement** - Keep CTAs and interactive elements\
✅ **Flexible filtering** - Whitelist/blacklist patterns for precision\
✅ **URL replacement** - Automatically insert your affiliate links\
✅ **Smart deduplication** - Clean, non-repetitive button layouts\
✅ **Combine modes** - Use with other addons for powerful workflows

**Key decision**: Start with **All Buttons** mode (simple). Upgrade to **URL Only** mode when you need advanced filtering and replacement.

**Next steps:**

1. Purchase the addon from My Addons
2. Enable in task settings
3. Start with All Buttons mode
4. Test with a few messages
5. Upgrade to URL Only if you need filtering/replacement

**Related documentation:**

* All Addons Overview
* Addons Quick Reference
* Addons FAQ

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# AlphaGardeners Extract

### Overview

AlphaGardeners Extract automatically extracts cryptocurrency contract addresses from alphagardeners.xyz URLs in forwarded messages. Perfect for crypto signal channels that share token launches via AlphaGardeners links.

#### What It Does

* Detects alphagardeners.xyz links in messages
* Visits the link and extracts the contract address
* Adds extracted data to your forwarded message
* Optionally formats as full DEXScreener URL
* Works automatically with every message

#### Key Benefits

✅ **Automatic extraction** - No manual copy/paste\
✅ **Fast processing** - Configurable timeout (5-30s)\
✅ **Two output modes** - Contract only or full DEX URL\
✅ **Seamless integration** - Works with forwarding workflow\
✅ **Time-saving** - Process 100s of signals automatically

***

### Getting Started

#### Prerequisites

1. ✅ **Crypto Filter must be enabled** in your task (required)
2. ✅ Purchase AlphaGardeners Extract addon
3. ✅ Source messages contain alphagardeners.xyz links

#### Quick Setup

**Step 1: Enable Crypto Filter**

1. Open your task settings
2. Find **Crypto Filter** section
3. Toggle **Enable Crypto Filter** to ON
4. Save task

**Important**: AlphaGardeners Extract will NOT work without Crypto Filter enabled.

**Step 2: Purchase & Enable Addon**

1. Menu → My Addons → AlphaGardeners Extract → Unlock
2. Return to task settings
3. Find **AlphaGardeners Extract Settings**
4. Toggle **Enable** to ON

**Step 3: Configure Extract Mode**

Choose your preferred output:

**Contract Only** (recommended for advanced users):

* Returns just the contract address
* Example: `0x1234abcd5678ef90...`
* Clean, minimal output

**Full DEX URL** (recommended for most users):

* Returns clickable DEXScreener link
* Example: `https://dexscreener.com/ethereum/0x1234abcd...`
* Users can click directly to chart

**Step 4: Set Timeout**

**Timeout** (seconds): How long to wait for extraction

* Range: 5-30 seconds
* Default: 10 seconds
* **Recommended**: 10s for normal speed, 15-20s if often timing out

**Step 5: Save & Test**

Save settings and forward a test message with alphagardeners.xyz link. Extracted data appears in forwarded message.

***

### Configuration Details

#### Extract Modes

**Contract Only Mode**

**Output format**:

```
Contract Address: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb2
```

**Best for**:

* Advanced crypto users who know what to do with addresses
* Integration with trading bots
* Clean, data-focused output
* Users who manually go to DEXScreener/DEXTools

**Full URL Mode**

**Output format**:

```
📊 DEXScreener: https://dexscreener.com/ethereum/0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb2
```

**Best for**:

* General audience (easy one-click access)
* Users unfamiliar with contract addresses
* Maximum convenience
* Higher engagement (clickable links)

**Recommendation**: Use **Full URL mode** unless you have specific reason to use Contract Only.

#### Timeout Configuration

**What it does**: Maximum time bot waits for alphagardeners.xyz page to load and extract address.

**Timing guidance**:

* **5s**: Very fast, may timeout on slow connections
* **10s**: Default, works 95% of the time
* **15s**: Safer for slower sources or networks
* **20-30s**: Very safe but slows message forwarding

**If you get frequent timeouts**: Increase by 5s increments until successful.

***

### How It Works

#### Processing Flow

1. **Message arrives** with alphagardeners.xyz link
2. **Bot detects** the AlphaGardeners URL
3. **Bot visits** the URL in background
4. **Page loads** and bot extracts contract address from the page
5. **Format output** based on your Extract Mode setting
6. **Add to message** - extracted data appended to forwarded message
7. **Forward** complete message with contract address/link

**Processing time**: 3-10 seconds typically (depends on timeout and AlphaGardeners site speed)

#### Requirements Check

Before extraction, bot verifies:

* ✅ Crypto Filter is enabled
* ✅ AlphaGardeners Extract is enabled
* ✅ Message contains alphagardeners.xyz URL
* ✅ Addon hasn't expired

If any check fails, message forwards normally without extraction.

***

### Common Use Cases

#### Crypto Signal Channel

**Setup**:

```
Extract Mode: Full DEX URL
Timeout: 10s
```

**Result**: Followers get one-click access to token charts.

#### Trading Bot Integration

**Setup**:

```
Extract Mode: Contract Only
Timeout: 10s
```

**Result**: Clean contract addresses for bot processing.

#### Multi-Chain Support

**Note**: AlphaGardeners Extract works for any chain AlphaGardeners supports (Ethereum, BSC, etc.). DEXScreener link automatically includes correct chain.

***

### Troubleshooting

#### Issue: Extraction Not Working

**Check**:

* [ ] Crypto Filter is enabled (required)
* [ ] AlphaGardeners Extract is enabled
* [ ] Message contains alphagardeners.xyz URL (not other sites)
* [ ] Addon hasn't expired

**Fix**: Enable both Crypto Filter and addon. Test with known AlphaGardeners link.

***

#### Issue: Timeout Errors

**Symptoms**: Message forwards without extracted address, or you see timeout error.

**Causes**:

* AlphaGardeners site is slow
* Network connection issues
* Timeout setting too low

**Fix**:

* Increase timeout to 15-20s
* Check your internet connection
* Try again later if AlphaGardeners site is having issues

***

#### Issue: Wrong/Invalid Address

**Rare but possible causes**:

* AlphaGardeners page structure changed
* Link leads to invalid/deleted token page
* Extraction parsing error

**Fix**:

* Verify the AlphaGardeners link works in browser
* Contact support if issue persists with valid links
* Check for app updates (extraction logic may be updated)

***

#### Issue: Slowing Down Forwarding

**Explanation**: Extraction adds 3-10s per message (normal behavior).

**If too slow**:

* Reduce timeout to 5-8s (accept more timeouts)
* Or accept the delay (ensures successful extraction)

**Trade-off**: Speed vs. reliability. Most users prefer reliability (10s timeout).

***

### Best Practices

#### Always Enable Crypto Filter First

AlphaGardeners Extract will not work without Crypto Filter. Enable it before purchasing the addon.

#### Use Full URL Mode for Better Engagement

Clickable DEX links get more user engagement than raw contract addresses.

#### Set Realistic Timeouts

10s is optimal for most cases. Only reduce if speed is critical and you can tolerate occasional timeouts.

#### Test with Real Links

Before going live, test with actual alphagardeners.xyz links from your sources to verify extraction works.

#### Monitor Extraction Success Rate

Check forwarded messages occasionally to ensure addresses are extracting correctly.

#### Combine with Button Clone

Extract contract address + Clone "Buy" buttons = complete trading info for your audience.

***

### Limitations

#### Only AlphaGardeners Links

Currently supports **alphagardeners.xyz only**. Other crypto sites:

* DEXScreener - not supported
* DEXTools - not supported
* Poocoin - not supported
* Others - not supported

**Future**: More sites may be added based on user demand.

#### Requires Internet Access

Bot must load AlphaGardeners page, so it requires active internet connection.

#### Subject to AlphaGardeners Changes

If AlphaGardeners changes their page structure, extraction may break temporarily until addon is updated.

***

### Frequently Asked Questions

#### Does it work for all blockchains?

Yes, as long as AlphaGardeners supports that blockchain. DEXScreener link includes correct chain automatically (Ethereum, BSC, Polygon, etc.).

#### What if AlphaGardeners link is broken/deleted?

Extraction fails and message forwards without extracted address. No error message shown to avoid confusion.

#### Can I extract from multiple links in one message?

Yes! If message has multiple alphagardeners.xyz links, bot extracts all of them.

#### Does it slow down forwarding significantly?

Adds 3-10s per message. For high-volume forwarding (100+ msg/hour), this is noticeable but usually acceptable.

#### Can I disable temporarily without losing settings?

Yes, toggle "Enable" to OFF. All settings preserved. Toggle back ON anytime.

#### What happens when addon expires?

Extraction stops. Messages forward normally without extraction. Your settings are saved for when you renew.

***

### Getting Help

If extraction isn't working:

1. Verify Crypto Filter is enabled (most common issue)
2. Test timeout at 15s or 20s
3. Try with a known-working AlphaGardeners link
4. Check Addons FAQ
5. Contact support with:
   * The AlphaGardeners link you're testing
   * Your current settings (Extract Mode, Timeout)
   * What happens vs. what you expect

**Support**: Menu → Help & Support or <support@autoforwardtelegram.com>

***

### Summary

AlphaGardeners Extract automates contract address extraction:

✅ **Requirement**: Crypto Filter must be enabled first\
✅ **Two modes**: Contract Only or Full DEXScreener URL\
✅ **Configurable timeout**: Balance speed and reliability\
✅ **Automatic**: Works on every message with AlphaGardeners links\
✅ **Perfect for**: Crypto signal channels, trading groups, token launch alerts

**Next steps**:

1. Enable Crypto Filter
2. Purchase AlphaGardeners Extract
3. Choose Full URL mode (recommended)
4. Set 10s timeout
5. Test with real AlphaGardeners links

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# Bypass Anti-Repasse Bot

### Overview

Bypass Anti-Repasse Bot bypasses anti-forwarding protections that some channels use to prevent message redistribution. Perfect for forwarding from channels that block standard forwarding or use anti-forward bots like @antirepasse.

#### What Problem Does It Solve?

Some channels implement forward restrictions:

* Messages can't be forwarded normally
* Right-click forward is disabled
* Anti-forward bots (like @antirepasse) add restrictions
* Content protection mechanisms block redistribution

This addon bypasses those restrictions automatically.

#### Key Benefits

✅ **Transparent operation** - Works in background\
✅ **No configuration needed** - Simple toggle\
✅ **Works with popular anti-forward bots** - @antirepasse and similar\
✅ **Preserves content** - Forwards complete messages\
✅ **Fast processing** - No delay added

***

### How It Works

#### Technical Overview

When enabled, the bot:

1. Detects messages with forward restrictions
2. Uses alternative methods to copy content
3. Recreates message in target without "forwarded from" attribution
4. Bypasses anti-forward bot protections
5. Sends to targets seamlessly

**Processing time**: < 1 second (instant for users)

#### What Gets Bypassed

✅ **Standard forward blocks** - Messages marked as "unforwardable"\
✅ **Bot detection** - Anti-forward bots like @antirepasse\
✅ **Channel restrictions** - Forward-disabled channels\
✅ **Content protection** - Basic protection mechanisms

#### What Doesn't Get Bypassed

❌ **Copyright protection** - Legal restrictions (respect these!)\
❌ **Telegram server-level blocks** - Rare, system-wide restrictions\
❌ **Account-level bans** - If your bot account is banned from source

***

### Getting Started

#### Prerequisites

1. ✅ Purchase Bypass Anti-Repasse Bot addon
2. ✅ Have an active forwarding task
3. ✅ Source channel has forward restrictions

#### Quick Setup

**Step 1: Purchase Addon**

1. Menu → My Addons
2. Find **Bypass Anti-Repasse Bot**
3. Tap **Unlock** and purchase with credits

**Step 2: Enable in Task**

1. Open your task settings
2. Find **Bypass Anti-Repasse Bot** toggle (usually in Advanced Settings)
3. Toggle to **ON**
4. Save task

**Step 3: Test**

Forward a message from the restricted source. It should forward successfully despite restrictions.

***

### Configuration

#### No Configuration Required!

This addon is a simple ON/OFF toggle. When enabled, it automatically bypasses restrictions.

**Per-task control**: Enable in tasks that need it, disable in others.

***

### Common Use Cases

#### Forward from Protected News Channels

**Scenario**: News channel uses anti-forward bot to prevent redistribution.

**Setup**: Enable Bypass Anti-Repasse in your news aggregation task.

**Result**: News forwards successfully despite protection.

#### Content Curation from Multiple Restricted Sources

**Scenario**: You curate content from 5 channels, 3 of which have forward restrictions.

**Setup**: Enable bypass in all tasks. No harm enabling even for unrestricted channels.

**Result**: All content forwards seamlessly.

#### Competitor Analysis

**Scenario**: Monitor competitor channels that block forwarding.

**Setup**: Enable bypass to capture their content for analysis.

**Note**: Use responsibly and ethically. Respect copyright and intellectual property.

***

### Ethical Considerations

#### Use Responsibly

**Good uses**:

* Aggregating public news from protected sources
* Curating publicly available content
* Personal archiving of content you have access to
* Monitoring competitors (non-commercial use)

**Bad uses**:

* Stealing copyrighted content for profit
* Redistributing paid exclusive content
* Violating creator's explicit terms
* Commercial exploitation without permission

#### Legal Compliance

* **Respect copyright laws** in your jurisdiction
* **Follow Telegram Terms of Service**
* **Honor creator rights** when possible
* **Use for legitimate purposes** only

**This tool doesn't make illegal forwarding legal**. It's a technical bypass, but you're still responsible for how you use content.

#### Best Practices

* Give credit to original sources when possible
* Don't use to harm content creators financially
* Respect takedown requests
* Use primarily for aggregation/curation with proper attribution

***

### Troubleshooting

#### Issue: Still Can't Forward

**Check**:

* [ ] Bypass Anti-Repasse is enabled in task
* [ ] Addon hasn't expired
* [ ] Bot has access to source channel
* [ ] Bot isn't banned from source

**Fix**: Verify all checkboxes. If still failing, may be a restriction type not supported.

***

#### Issue: Some Messages Forward, Others Don't

**Explanation**: Different messages may have different restriction types. Some may bypass successfully, others may not.

**Not all restrictions are bypassable**. This addon handles common anti-forward bots and basic restrictions.

***

#### Issue: Attribution Shows Despite Bypass

**Note**: Depending on how bypass works technically, some attribution may still appear. This is normal behavior.

**The goal** is forwarding the content, not necessarily hiding origin (which would be unethical in many cases).

***

### Frequently Asked Questions

#### Is this legal?

**Technical answer**: This is a feature that bypasses technical restrictions.

**Legal answer**: Legality depends on:

* Your jurisdiction's copyright laws
* How you use the content
* Whether content is protected by copyright
* Your intent (personal vs. commercial)

**Recommendation**: Consult legal counsel if using commercially. Generally safe for personal use and aggregation with attribution.

#### Will my account get banned?

**Risk is low** if you:

* Don't abuse the feature
* Don't forward massive amounts
* Respect rate limits
* Don't violate Telegram ToS in other ways

**Risk increases** if you:

* Forward thousands of messages daily
* Get reported by content creators
* Use for spam or illegal purposes

#### Can source channels detect I'm bypassing?

**Generally no**. The bypass happens on your bot's end. Source channel sees normal bot activity.

**However**: If you forward their content publicly, they'll see their content in your channel (regardless of bypass detection).

#### Does it work on all anti-forward bots?

**Most common ones**: Yes, including @antirepasse and similar.

**All bots**: No guarantee. New anti-forward mechanisms may not be supported immediately.

**Updates**: Addon may be updated to support new anti-forward systems.

#### Can I disable for specific messages?

**No**. It's all-or-nothing per task. Enable/disable at task level only.

**Workaround**: Create two tasks - one with bypass, one without.

#### What happens when addon expires?

Messages from restricted sources will fail to forward. Your bot respects restrictions again.

#### Does it slow down forwarding?

**No**. Processing is instant. No noticeable delay.

***

### Limitations

#### Not a Universal Bypass

Cannot bypass:

* Telegram system-level restrictions
* Server-enforced blocks
* Account bans
* Legal injunctions
* Copyright protection systems

#### Ethical Use Only

This tool is provided for legitimate use cases. Abuse may result in:

* Account suspension
* Legal action from content creators
* Violation of Telegram ToS
* Loss of addon access

#### Updates Required

As anti-forward techniques evolve, addon may need updates to remain effective.

***

### Getting Help

If bypass isn't working:

1. Verify addon is enabled and active
2. Test with known restricted source
3. Check bot has access to source
4. Review Addons FAQ
5. Contact support with:
   * Source channel (if safe to share)
   * Type of restriction they use
   * Error message if any

**Support**: Menu → Help & Support or <support@autoforwardtelegram.com>

***

### Summary

Bypass Anti-Repasse Bot removes forward restrictions:

✅ **Simple**: One-toggle operation\
✅ **Effective**: Works with common anti-forward systems\
✅ **Fast**: No processing delay\
✅ **Flexible**: Enable per-task as needed\
✅ **Transparent**: Works automatically in background

**Use responsibly**: Respect copyright, creator rights, and legal requirements.

**Perfect for**: News aggregation, content curation, monitoring restricted sources, legitimate forwarding needs.

**Next steps**:

1. Purchase addon
2. Enable in relevant tasks
3. Test with restricted source
4. Use ethically and legally

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+

**Disclaimer**: This tool is provided for legitimate use. Users are responsible for complying with all applicable laws and Telegram Terms of Service.


# Telegram Spammer

### Overview

Telegram Spammer automatically sends messages from a source chat to multiple target chats on a customized schedule. Perfect for daily announcements, scheduled content distribution, and automated campaigns.

#### What It Does

* Pulls messages from a designated source chat
* Broadcasts to multiple targets (groups, channels, contacts, custom selections)
* Sends on your specified days and times
* Handles rate limiting and errors automatically
* Supports specific message IDs or always uses latest message

#### Key Benefits

✅ **Scheduled distribution** - Set it and forget it\
✅ **Multiple targets** - Reach all your audiences at once\
✅ **Rate limiting protection** - Auto-retry on Telegram limits\
✅ **Flexible timing** - Multiple broadcasts per day\
✅ **Error handling** - Skip failed targets, continue broadcasting

***

### Getting Started

#### Prerequisites

1. ✅ Purchase Telegram Spammer addon
2. ✅ Have an active forwarding task with targets
3. ✅ Know which chat to use as message source

#### Quick Setup

**Step 1: Purchase & Enable**

1. Menu → My Addons → Telegram Spammer → Unlock
2. Open your task settings
3. Find Telegram Spammer **Settings** section
4. Toggle **Enable** Telegram Spammer to ON

**Step 2: Configure Source**

**Message Source**: Select the chat where messages originate

**Message IDs** (optional):

* Leave empty to always broadcast the latest message
* Or enter specific message IDs: `123,124,125`

**Step 3: Select Targets**

Choose **Target Types**:

* ☑️ **Groups** - Broadcast to group chats
* ☑️ **Channels** - Broadcast to channels
* ☑️ **Contacts** - Broadcast to individual users (high spam risk)
* ☑️ **Custom Targets** - Pick specific chats from task targets

**Exclude Targets**: Optionally blacklist specific chats

**Step 4: Set Schedule**

**Schedule Days**: Select days of the week (Mon-Sun)

**Schedule Times**: Add specific times

* Example: `09:00`, `14:00`, `20:00`
* Tap **Add Time** for multiple times per day

**Step 5: Configure Options**

**Delay Between Sends**: 5-600 seconds (recommended: 10-30s)\
**Max Targets Per Run**: 1-5000 (test with low numbers first)\
**Show Forward Header**: ON = shows "Forwarded from...", OFF = sends as new message\
**Retry on Flood**: ON (recommended) - auto-retry if rate limited\
**Skip on Error**: ON (recommended) - continue if some targets fail

**Step 6: Save & Monitor**

Tap **Save** and check your first scheduled broadcast time. Monitor results and adjust as needed.

***

### Configuration Details

#### Message Selection

**Latest Message Mode** (Message IDs empty):

* Bot checks source chat at scheduled time
* Broadcasts the most recent message
* Perfect for daily updates, news digests

**Specific Message IDs**:

* Enter IDs separated by commas: `100,101,102`
* Bot broadcasts these exact messages
* Perfect for fixed announcements, evergreen content

**Finding message IDs**:

* Desktop Telegram: Right-click message → Copy Message Link → ID is in the URL
* Mobile: Long press → Forward → See message ID in preview

#### Target Selection

**Groups**: All group chats in your task targets\
**Channels**: All channels (where you're admin)\
**Contacts**: Individual users (⚠️ minimum 30s delay enforced due to spam risk)\
**Custom Targets**: Hand-pick specific chats from task target list

**Exclude Targets**: Blacklist specific chats that shouldn't receive broadcasts

#### Schedule Configuration

**Days**: Select one or more days. Broadcasts only happen on selected days.

**Times**: Add multiple broadcast times:

* System uses your server timezone (UTC typically)
* Format: HH:MM (24-hour format)
* Example: `09:00` = 9:00 AM, `21:30` = 9:30 PM
* Add as many times as you need per day

**How it works**: Each selected day at each scheduled time, the bot triggers a broadcast run.

#### Advanced Options

**Delay Between Sends**:

* Pause in seconds between each target
* Range: 5-600 seconds
* **Recommended**: 10-30s (balances speed and safety)
* **Contacts**: Minimum 30s enforced automatically

**Max Targets Per Run**:

* Limits how many targets receive broadcast per trigger
* Range: 1-5000
* Use for testing (set to 5-10) or gradual rollout
* Prevents overwhelming your bot

**Retry on Flood**:

* When ON: Bot auto-retries if Telegram rate limits hit
* **Recommended**: Always ON for reliability

**Skip on Error**:

* When ON: If one target fails, bot continues to next target
* When OFF: Stops broadcast on first error
* **Recommended**: ON for maximum delivery

***

### Common Use Cases

#### Daily News Digest

**Setup**:

```
Source: Your news aggregation private channel
Message IDs: Empty (use latest)
Target Types: Channels, Groups
Schedule: Mon-Fri at 08:00
Delay: 15s, Max Targets: 100
```

Every weekday at 8 AM, broadcasts latest compiled news.

#### Weekly Announcement

**Setup**:

```
Source: Admin announcements channel
Message IDs: Specific message ID (doesn't change)
Target Types: Groups only
Schedule: Monday at 09:00
Delay: 20s
```

Same announcement every Monday to all groups.

#### Multi-Time Campaign

**Setup**:

```
Source: Marketing channel
Message IDs: Three campaign message IDs
Target Types: Custom targets (selected premium groups)
Schedule: Mon-Fri at 10:00, 14:00, 18:00
Delay: 30s, Max Targets: 50
```

Broadcasts 3 marketing messages, 3 times per day to selected audiences.

***

### Troubleshooting

#### Issue: Nothing Broadcasting

**Check**:

* [ ] Telegram Spammer is enabled in task settings
* [ ] At least one schedule day selected
* [ ] At least one time added
* [ ] Source chat selected
* [ ] Target types selected
* [ ] Current time matches your bot's timezone

**Fix**: Verify each checkbox above. Test with a time 5 minutes from now.

***

#### Issue: Some Targets Not Receiving

**Possible causes**:

* Max Targets Per Run is too low
* Target excluded in Exclude Targets list
* Bot doesn't have permission in that target
* Target blocked your bot

**Fix**:

* Increase Max Targets
* Review Exclude list
* Verify bot permissions in target chats

***

#### Issue: Delay/Timing Issues

**Problem**: Broadcasts taking too long or hitting rate limits

**Solution**:

* Increase delay between sends (try 30s)
* Reduce max targets per run (try 50)
* Enable Retry on Flood
* For contacts, remember 30s minimum is enforced

***

#### Issue: Wrong Message Broadcast

**Check**:

* Are Message IDs correct?
* If using "latest", is correct message the latest in source?

**Fix**:

* Double-check message IDs (copy from Telegram)
* Test with specific message IDs first
* Verify source chat is correct

***

### Best Practices

#### Start Small

Test with 5-10 targets and one time first. Scale up after confirming it works.

#### Optimal Timing

* **News**: Early morning (7-9 AM)
* **Marketing**: Mid-day (12-2 PM) and evening (6-8 PM)
* **Announcements**: Start of business day (9-10 AM)

#### Safe Delays

* **Groups/Channels**: 10-30 seconds
* **Contacts**: 30-60 seconds minimum
* **High volume (100+ targets)**: 20-30 seconds

#### Use Latest Message for Dynamic Content

Leave Message IDs empty when broadcasting daily-changing content like news, updates, digests.

#### Use Specific IDs for Fixed Content

Enter Message IDs when broadcasting recurring announcements, promotions, evergreen content.

#### Monitor First Runs

Check your first few broadcasts manually to ensure:

* Correct message is sent
* All targets receive it
* Timing is correct
* No spam complaints

#### Combine with Other Addons

* **With Image Crop**: Broadcast clean images
* **With Button Clone**: Preserve CTAs in broadcasts
* **With content filters**: Clean and broadcast

***

### Frequently Asked Questions

#### Can I broadcast to unlimited targets?

Yes, but set reasonable Max Targets (50-100) and Delay (20-30s) to avoid rate limits.

#### What timezone are scheduled times in?

Server timezone (typically UTC). Test with a time 5 minutes from now to verify.

#### Can I broadcast different messages to different groups?

Not directly. Create separate tasks with different sources and target selections.

#### Does it work with media (photos, videos)?

Yes! Broadcasts whatever message type is in the source (text, photo, video, file, etc.).

#### What if source message is deleted?

If using specific message IDs and message is deleted, broadcast fails. If using latest message, bot broadcasts current latest message.

#### How do I stop broadcasts temporarily?

Toggle "Enable Telegram Spammer" to OFF. Schedule and settings are preserved.

#### Can I test before going live?

Yes! Set Max Targets to 1-2, select your private channel as custom target, and test.

***

### Getting Help

If issues persist:

1. Check Addons FAQ for more Q\&A
2. Test in isolation (new task, 1 target, near-future time)
3. Contact support with:
   * Your schedule configuration
   * Expected vs actual behavior
   * Screenshots of settings

**Support**: Menu → Help & Support or <support@autoforwardtelegram.com>

***

### Summary

Telegram Spammer automates scheduled message distribution:

✅ Set source + targets + schedule = automated broadcasts\
✅ Handles rate limiting and errors gracefully\
✅ Flexible timing with multiple times per day\
✅ Safe delays and limits to prevent spam flags\
✅ Test with small targets before scaling up

**Perfect for**: Daily digests, recurring announcements, marketing campaigns, scheduled updates.

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# Paid Media Auto-Purchase

### Overview

Paid Media Auto-Purchase automatically purchases and forwards paid media content from channels that require payment to view locked photos or videos. Perfect for aggregating premium content without manual intervention.

#### What It Does

* Detects paid/locked media in source messages
* Automatically purchases using Telegram Stars or subscription
* Forwards the unlocked content to your targets
* Tracks transactions automatically
* Works seamlessly in background

#### Key Benefits

✅ **Hands-free operation** - No manual purchases needed\
✅ **Complete automation** - Set and forget\
✅ **Transaction tracking** - See all purchases in history\
✅ **Works globally** - All your tasks automatically\
✅ **Respects limits** - Uses your Telegram spending settings

***

### How It Works

#### Processing Flow

1. **Message arrives** with paid/locked media
2. **Bot detects** content requires payment
3. **Auto-purchase** using your Telegram Stars balance
4. **Unlock content** and download media
5. **Forward** the unlocked media to targets
6. **Log transaction** in your credit history

**Processing time**: 2-5 seconds per paid media message

#### Payment Methods

Paid Media uses your **Telegram Stars** balance or channel subscriptions:

* **Telegram Stars**: Bot spends Stars from your account
* **Channel subscriptions**: If you're subscribed, content is included

**Important**: Ensure you have sufficient Telegram Stars balance before enabling.

***

### Getting Started

#### Prerequisites

1. ✅ Have Telegram Stars in your account (purchase via Telegram app)
2. ✅ Purchase Paid Media addon
3. ✅ Source channels use Telegram's paid media feature

#### Quick Setup

**Step 1: Purchase Addon**

1. Menu → My Addons
2. Find **Paid Media Auto-Purchase**
3. Tap **Unlock** and purchase with credits

**Step 2: Enable in Task**

1. Open your task settings
2. Find **Paid Media** toggle (usually in Advanced Settings)
3. Toggle **Paid Media** to ON
4. Save task

**That's it!**

The addon works automatically whenever paid media is encountered.

***

### Configuration

#### No Configuration Needed!

Paid Media is a simple toggle - ON or OFF. No additional settings required.

**Per-task control**: Enable/disable for each task independently.

**Global addon**: Once purchased, available to enable in any task.

***

### Understanding Costs

#### Who Pays?

**You pay** for the paid media using your Telegram Stars balance.

**Cost per message**: Varies by channel (typically 5-50 Stars per photo/video)

**Addon cost**: Credits to unlock the addon (one-time per duration)

**Telegram Stars**: Purchased separately via Telegram app

#### Cost Example

```
Addon cost: 100 credits (for 30 days)
Per media cost: 10 Stars (set by channel)
100 paid photos forwarded = 1000 Stars spent

Total: 100 credits + 1000 Stars
```

#### Managing Spending

**Set limits in Telegram**:

1. Open Telegram Settings
2. Privacy & Security → Stars
3. Set spending limits

**Bot respects** your Telegram spending limits automatically.

***

### Common Use Cases

#### Premium Content Aggregation

**Scenario**: You curate exclusive content from premium channels selling unique photos/videos.

**Setup**: Enable Paid Media in curation task. Bot auto-purchases and forwards content.

**Result**: Your audience gets premium content without individual purchases.

#### Adult Content Forwarding

**Note**: Many adult/NSFW channels use paid media. Paid Media addon handles purchases automatically.

#### Exclusive News/Photos

**Scenario**: News channels selling exclusive photos (celebrity, paparazzi, etc.)

**Setup**: Enable Paid Media. Bot purchases and shares with your audience.

***

### Troubleshooting

#### Issue: Paid Media Not Purchasing

**Check**:

* [ ] Paid Media addon is active (not expired)
* [ ] Paid Media toggle is ON in task
* [ ] You have Telegram Stars balance
* [ ] Source actually uses Telegram's paid media feature (not external payment)

**Fix**: Verify each item above, especially Stars balance.

***

#### Issue: Running Out of Stars

**Symptoms**: Bot stops purchasing after some messages

**Cause**: Telegram Stars balance depleted

**Fix**:

1. Open Telegram app
2. Go to Settings → Stars
3. Purchase more Stars
4. Bot resumes auto-purchasing

***

#### Issue: Spending Too Much

**Problem**: Addon purchasing more than you want

**Solutions**:

* **Set Telegram spending limits** (recommended)
* **Disable addon** in specific tasks
* **Monitor your Stars balance** regularly
* **Calculate expected costs** before enabling

**Prevention**: Test on one task with spending limit first, then expand.

***

#### Issue: Some Media Not Unlocking

**Possible causes**:

* Not paid media (bot can't unlock manually-restricted content)
* Channel uses external payment system (not Telegram Stars)
* Insufficient Stars at time of purchase
* Channel changed pricing after first detection

**Fix**: Verify channel uses Telegram's native paid media feature.

***

### Best Practices

#### Monitor Your Stars Balance

Check balance regularly, especially when forwarding from multiple premium sources.

#### Set Spending Limits

Use Telegram's built-in spending limits to prevent overspending:

* Settings → Stars → Spending Limit

#### Calculate Expected Costs

Before enabling:

1. Note channel's price per media (e.g., 10 Stars)
2. Estimate posts per day (e.g., 5 posts)
3. Calculate daily cost: 10 × 5 = 50 Stars/day
4. Monthly cost: 50 × 30 = 1500 Stars

#### Test on Limited Task First

Enable on one task with low volume to understand costs before scaling.

#### Track Transactions

Check your credit transaction history to monitor spending:

* Menu → Credit Transactions → Filter by "Paid Media"

#### Combine with Content Filters

Use Paid Media with media filters to only process specific content types (photos vs videos).

***

### Frequently Asked Questions

#### Do I need a subscription to premium channels?

No, Paid Media works without subscriptions. It purchases individual posts using Stars.

**However**: If you DO have a subscription, bot uses that (no Stars spent).

#### Can I set a per-message spending limit?

Not directly in addon. Use Telegram's global spending limits instead.

#### What happens if I run out of Stars mid-forward?

Bot stops purchasing. Message forwards without media (or skips message entirely, depending on task settings).

#### Does it auto-refill my Stars?

No. You must manually purchase more Stars through Telegram app.

#### Can I get refunds on purchases?

No. Telegram Stars purchases are final. Bot spends as if you manually purchased.

#### Does it work with all paid media?

Only works with **Telegram's native paid media feature**. External payment systems (PayPal, credit cards) are not supported.

#### Can I review purchases before bot makes them?

No, that defeats automation purpose. Bot purchases immediately when paid media detected.

**Recommendation**: Use spending limits and test with small scale first.

#### What if channel changes pricing?

Bot pays new price automatically. Monitor your costs if channel changes pricing frequently.

***

### Limitations

#### Only Telegram Stars

Doesn't work with:

* External payment systems
* Credit cards
* PayPal
* Crypto payments
* Other payment methods

**Only**: Telegram Stars-based paid media

#### No Refunds

Once bot purchases, payment is final (same as manual purchase).

#### Respects Telegram Limits

Subject to Telegram's rate limits and spending restrictions.

***

### Getting Help

If Paid Media addon isn't working:

1. Verify Telegram Stars balance is sufficient
2. Confirm channel uses Telegram's paid media (test manual purchase)
3. Check addon is active and enabled in task
4. Check Addons FAQ
5. Contact support with:
   * Your Stars balance screenshot
   * Channel name (where paid media is)
   * Expected vs actual behavior

**Support**: Menu → Help & Support or <support@autoforwardtelegram.com>

***

### Summary

Paid Media Auto-Purchase simplifies premium content forwarding:

✅ **Simple**: One-toggle operation, no complex configuration\
✅ **Automatic**: Purchases and forwards paid media seamlessly\
✅ **Transparent**: All purchases logged in transaction history\
✅ **Flexible**: Enable per-task based on your needs\
✅ **Cost-effective**: Pay only for what you forward

**Perfect for**: Premium content aggregation, exclusive media sharing, automated content curation from paid channels.

**Next steps**:

1. Purchase Telegram Stars (via Telegram app)
2. Set spending limit (Telegram Settings)
3. Purchase Paid Media addon
4. Enable in your task
5. Monitor first few purchases

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# Forward Rate Limit

### Overview

Forward Rate Limit controls the number of messages your task forwards within a specific time window. When the limit is exceeded, the task automatically pauses to prevent spam flags, respect channel rules, or manage your forwarding volume.

#### What It Does

* Sets maximum forwards per time period (hourly, daily, or custom)
* Automatically pauses task when limit is reached
* Sends warning notification before reaching limit
* Resumes automatically when time window resets
* Prevents spam flags and rate limit issues

#### Key Benefits

✅ **Prevent spam flags** - Stay under Telegram's radar\
✅ **Respect channel rules** - Honor posting limits\
✅ **Control volume** - Manage output quantity\
✅ **Auto-pause** - No manual monitoring needed\
✅ **Warning system** - Get notified before limit hits\
✅ **Flexible windows** - Hourly, daily, or custom periods

***

### Getting Started

#### Prerequisites

1. ✅ Purchase Forward Rate Limit addon
2. ✅ Have an active forwarding task
3. ✅ Know your desired forwarding limits

#### Quick Setup

**Step 1: Purchase & Enable**

1. Menu → My Addons → Forward Rate Limit → Unlock
2. Open your task settings
3. Find **Forward Rate Limit** section
4. Toggle **Enable Rate Limit** to ON

**Step 2: Configure Time Window**

Choose your time period:

* **Hourly**: Limit forwards per hour (e.g., max 50/hour)
* **Daily**: Limit forwards per day (e.g., max 500/day)
* **Custom**: Set custom hours (e.g., max 100 per 6 hours)

**Step 3: Set Maximum Forwards**

Enter the maximum number of forwards allowed within your time window:

* Conservative: 10-50 per hour, 100-500 per day
* Moderate: 50-100 per hour, 500-1000 per day
* Aggressive: 100+ per hour, 1000+ per day (higher spam risk)

**Step 4: Configure Warnings (Optional)**

**Warning Threshold**: Get notified when you've used X% of your limit

* Example: Set 80% to get warning at 80/100 forwards
* Helps you prepare for pause

**Warning Notification**: Choose how to be notified

* In-app notification
* Telegram message to your account

**Step 5: Auto-Resume Settings**

**Auto-resume when window resets**: ON/OFF

* **ON**: Task automatically resumes when new time window starts
* **OFF**: Task stays paused until you manually resume

***

### Configuration Details

#### Time Window Options

**Hourly Window**

**Best for**: High-volume sources with steady flow

```
Max Forwards: 50
Time Window: 1 hour
Result: Up to 50 forwards/hour, then pause for remainder of hour
```

**Use case**: News channels with constant updates, crypto signals

**Daily Window**

**Best for**: Moderate volume, daily quotas

```
Max Forwards: 500
Time Window: 24 hours (1 day)
Result: Up to 500 forwards/day, then pause until midnight
```

**Use case**: Content aggregation, daily digests

**Custom Window**

**Best for**: Specific requirements or testing

```
Max Forwards: 100
Time Window: 6 hours
Result: Up to 100 forwards per 6-hour period
```

**Use case**: Special requirements, gradual rollout, A/B testing

#### Maximum Forwards Guidelines

**Recommended limits by target type**:

| Target Type     | Hourly Limit | Daily Limit | Risk Level |
| --------------- | ------------ | ----------- | ---------- |
| Public Channels | 20-50        | 200-500     | Low-Medium |
| Private Groups  | 50-100       | 500-1000    | Medium     |
| Contacts (DMs)  | 5-10         | 20-50       | High       |
| Mixed           | 30-70        | 300-700     | Medium     |

**Factors affecting limits**:

* **Content type**: Media-heavy content = lower limits safer
* **Target size**: Larger audiences = lower limits recommended
* **Account age**: Older accounts can handle higher limits
* **Previous flags**: If flagged before, use conservative limits

#### Warning System

**How warnings work**:

1. You set threshold (e.g., 80%)
2. When 80% of limit reached (e.g., 80/100 forwards)
3. System sends notification
4. You have time to prepare or manually pause

**Notification options**:

* In-app badge on Tasks screen
* Telegram DM to your account
* Both (recommended)

**Why useful**:

* Prevents surprise pauses during important forwarding
* Lets you manually pause at better time
* Helps monitor your usage patterns

#### Auto-Resume Behavior

**When enabled**:

* Task pauses at limit
* Waits for time window to reset
* Automatically resumes forwarding
* Counter resets to 0

**When disabled**:

* Task pauses at limit
* Stays paused even after window resets
* You must manually resume via Tasks screen
* Useful for manual oversight

**Example (Hourly, Auto-Resume ON)**:

```
10:00 - Task starts, 0/50 forwards
10:45 - Reaches 50/50, auto-pauses
11:00 - New hour begins, auto-resumes, reset to 0/50
```

***

### Common Use Cases

#### Prevent Telegram Spam Flags

**Scenario**: You forward aggressively and got spam warnings before.

**Setup**:

```
Time Window: Hourly
Max Forwards: 30
Warning: 80% (24 forwards)
Auto-Resume: ON
```

**Result**: Stay safely under Telegram's radar with controlled pacing.

***

#### Respect Channel Posting Rules

**Scenario**: Your target channel limits posts to 100/day.

**Setup**:

```
Time Window: Daily
Max Forwards: 95 (buffer)
Warning: 90% (85 forwards)
Auto-Resume: ON
```

**Result**: Never exceed channel rules, avoid admin complaints.

***

#### Test New Source Gradually

**Scenario**: Testing a new source, don't want to flood audience.

**Setup**:

```
Time Window: Custom (6 hours)
Max Forwards: 20
Warning: None
Auto-Resume: OFF (manual review)
```

**Result**: Controlled rollout, manual review between batches.

***

#### High-Volume News Aggregation

**Scenario**: Aggregate from 10 news sources, high message volume.

**Setup**:

```
Time Window: Hourly
Max Forwards: 80
Warning: 75% (60 forwards)
Auto-Resume: ON
```

**Result**: Steady flow without overwhelming targets, auto-recovery.

***

### Troubleshooting

#### Issue: Task Pausing Too Often

**Problem**: Task hits limit and pauses frequently, missing messages.

**Solutions**:

* **Increase max forwards**: Raise limit by 50%
* **Change time window**: Switch from hourly to daily for more flexibility
* **Filter source better**: Use content filters to reduce volume
* **Split into multiple tasks**: Distribute load across tasks

***

#### Issue: Not Receiving Warnings

**Check**:

* [ ] Warning threshold is configured (not 100%)
* [ ] Notification method is selected
* [ ] In-app notifications are enabled (Settings)
* [ ] Telegram DM from bot isn't blocked

**Fix**: Re-configure warning settings, test with low threshold (50%) to verify.

***

#### Issue: Auto-Resume Not Working

**Check**:

* [ ] Auto-Resume is enabled in settings
* [ ] Task isn't manually stopped
* [ ] Addon hasn't expired
* [ ] Time window has actually reset (check timezone)

**Fix**: Check each item. Note: Time window resets based on server timezone (usually UTC).

***

#### Issue: Wrong Time Window

**Problem**: Time window doesn't align with your needs (e.g., resets at odd hours).

**Solution**:

* Use **Daily** window for midnight resets
* Use **Custom** window with precise hours
* Plan around server timezone (UTC typically)

***

#### Issue: Limit Too Conservative

**Problem**: Task pauses but I can forward more without issues.

**Solution**:

* Gradually increase limit by 20-30%
* Monitor for spam flags or complaints
* Find your account's safe threshold through testing
* Remember: Limit can be adjusted anytime

***

### Best Practices

#### Start Conservative, Scale Up

Begin with lower limits and increase gradually:

* Week 1: 30/hour or 300/day
* Week 2: 50/hour or 500/day
* Week 3: 70/hour or 700/day

Monitor for issues at each step.

#### Set Warnings at 75-90%

Gives you buffer time to:

* Check if important messages are pending
* Manually pause at better moment
* Adjust limit if needed
* Monitor usage patterns

#### Use Daily Windows for Simplicity

Unless you have specific needs, daily windows are easiest:

* Predictable reset (midnight)
* Easier to estimate daily quota
* Less frequent pauses

#### Combine with Content Filters

Reduce unnecessary forwards:

* Forward Rate Limit controls quantity
* Content filters control quality
* Together = optimized forwarding

#### Monitor First Week Closely

After enabling, watch for:

* How quickly you hit limits
* Whether limits are too high/low
* Spam flags or user complaints
* Optimal time windows for your sources

#### Account for Time Zones

If targets are in specific timezone:

* Daily window resets at server midnight (UTC)
* May be mid-day for your audience
* Consider Custom window aligned to your audience's timezone

***

### Frequently Asked Questions

#### Does it count only successful forwards?

**Yes**, only successfully forwarded messages count toward your limit. Failed forwards (errors, skipped messages) don't count.

#### Can I have different limits for different tasks?

**Yes!** Configure independently for each task. One task can have 50/hour, another 500/day.

#### What happens to queued messages when paused?

They remain in queue and forward when task resumes (unless they've expired or been deleted from source).

#### Does manual pause count toward time window?

**No**, timer only runs when task is active. Manual pauses don't consume your time window.

#### Can I temporarily disable without losing settings?

**Yes**, toggle "Enable Rate Limit" to OFF. Settings are preserved, toggle back ON anytime.

#### Do media-only vs text messages count the same?

**Yes**, each forward counts as 1 regardless of content type (text, photo, video, file, etc.).

#### What if I need more than the limit occasionally?

* Temporarily disable rate limit
* Or increase limit for short period
* Or use manual pause/resume to control when to forward

#### Does it work with scheduled forwarding?

**Yes**, works seamlessly with scheduled tasks. Limit applies to actual forward time, not schedule time.

***

### Performance Tips

#### For High-Volume Tasks

* Use hourly windows for finer control
* Set warnings at 70% for earlier notice
* Enable auto-resume for hands-off operation
* Monitor first few cycles closely

#### For Mixed Content Tasks

* Filter aggressively before rate limiting
* Use moderate limits (50/hour, 500/day)
* Combine with other content filters
* Prioritize quality over quantity

#### For Multiple Target Tasks

* Lower limits if broadcasting to many targets
* Each target counts as one forward
* Consider Dialog Broadcast addon for better control

***

### Getting Help

If rate limiting isn't working as expected:

1. Verify addon is active and enabled in task
2. Check your time window settings match expectations
3. Review warning threshold and notifications
4. Test with very low limit (5) to verify functionality
5. Check Addons FAQ
6. Contact support with:
   * Your rate limit configuration
   * Expected vs actual behavior
   * How many forwards you're seeing per window

**Support**: Menu → Help & Support or <support@autoforwardtelegram.com>

***

### Summary

Forward Rate Limit gives you precise control over forwarding volume:

✅ **Prevent spam** - Stay under Telegram's radar with safe limits\
✅ **Auto-management** - Set it and forget it, auto-pause/resume\
✅ **Flexible windows** - Hourly, daily, or custom periods\
✅ **Warning system** - Get notified before hitting limits\
✅ **Per-task control** - Different limits for different tasks\
✅ **Compliance** - Respect channel rules and rate limits

**Perfect for**: High-volume forwarding, spam prevention, channel rule compliance, controlled rollouts, testing new sources.

**Quick start**:

1. Enable addon in task
2. Choose daily window (simplest)
3. Set conservative limit (300/day)
4. Enable warnings at 80%
5. Turn on auto-resume
6. Monitor and adjust

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# Header/Footer Keyword Filter

### Overview

Header/Footer Keyword Filter lets you forward or block messages based on keywords found at the beginning (header) or end (footer) of messages. This is perfect for filtering spam signatures, forwarding only priority messages, or blocking content from specific sources.

#### What It Does

* **Header filtering**: Check first few lines of message for keywords
* **Footer filtering**: Check last few lines of message for keywords
* **Blacklist mode**: Block messages containing specific keywords
* **Whitelist mode**: Only forward messages containing specific keywords
* **Regex support**: Use advanced patterns for complex matching
* **Case options**: Case-sensitive or case-insensitive matching

#### Key Benefits

✅ **Block spam signatures** - Filter out messages with known spam footers\
✅ **Priority forwarding** - Only forward messages with specific headers ("URGENT:", "PREMIUM:")\
✅ **Source filtering** - Block/allow based on source signatures in footers\
✅ **Pattern matching** - Use regex for flexible filtering rules\
✅ **Separate control** - Different rules for headers vs footers\
✅ **Flexible logic** - Blacklist to block, whitelist to allow only

***

### Getting Started

#### Prerequisites

1. ✅ Purchase Header/Footer Keyword Filter addon
2. ✅ Have an active forwarding task
3. ✅ Know what keywords/patterns you want to filter

#### Quick Setup

**Step 1: Purchase & Enable**

1. Menu → My Addons → Header/Footer Keyword Filter → Unlock
2. Open your task settings
3. Find **Header/Footer Filter** section
4. Configure your filtering rules

**Step 2: Choose Header or Footer**

**Header Filter**: Scans the **first 2-3 lines** of message\
**Footer Filter**: Scans the **last 2-3 lines** of message

Or use **both** for comprehensive filtering.

**Step 3: Choose Blacklist or Whitelist**

**Blacklist (Block Mode)**:

* Enter keywords to BLOCK
* Messages containing these keywords will NOT be forwarded
* Use when you know what to block

**Whitelist (Allow-Only Mode)**:

* Enter keywords to ALLOW
* ONLY messages containing these keywords will be forwarded
* Use when you know what to forward

**Step 4: Enter Keywords**

Enter one keyword per line:

```
SPAM
Promotion
Join our channel
Click here
```

Or use **regex** for advanced patterns (enable "Use Regex" option):

```
promo.*discount
\d{10,}  (10+ digit numbers)
http[s]?://bit\.ly
```

**Step 5: Configure Options**

**Use Regex**: ON/OFF

* **OFF**: Plain text matching (simpler, faster)
* **ON**: Regex pattern matching (flexible, powerful)

**Ignore Case**: ON/OFF

* **ON**: "SPAM" matches "spam", "Spam", "SPAM"
* **OFF**: Must match exact case

***

### Configuration Details

#### Header vs Footer

**Header** (beginning of message):

* First 2-3 lines
* Typically contains: titles, labels, priorities, source identifiers
* Examples:
  * "🚨 URGENT SIGNAL"
  * "Premium Members Only"
  * "\[Verified Source]"

**Footer** (end of message):

* Last 2-3 lines
* Typically contains: signatures, credits, promotional links, channel tags
* Examples:
  * "Join @ChannelName for more"
  * "Powered by XYZ"
  * "👉 <https://promo-link.com>"

**Lines considered**: \~2-3 lines (implementation may vary), enough to catch typical headers/footers.

#### Blacklist Mode (Block)

**How it works**:

1. Check if header/footer contains any blacklisted keyword
2. If YES → Block (don't forward)
3. If NO → Forward normally

**When to use**:

* Block spam patterns: "Join our channel", "Free premium"
* Block specific sources: "\[SourceName]", "via @SpamChannel"
* Block promotional content: "discount", "click here", urls

**Example - Block spam footers**:

```
Footer Blacklist:
- Join @
- Subscribe to
- Click here
- http://bit.ly
```

Result: Any message ending with these patterns is blocked.

#### Whitelist Mode (Allow-Only)

**How it works**:

1. Check if header/footer contains any whitelisted keyword
2. If YES → Forward
3. If NO → Block (don't forward)

**When to use**:

* Forward only priority: "URGENT", "PREMIUM", "VIP"
* Forward only verified sources: "\[Verified]", "Official"
* Forward only specific categories: "NEWS", "ANALYSIS"

**Example - Only forward premium signals**:

```
Header Whitelist:
- PREMIUM
- VIP SIGNAL
- URGENT
- 🔥 HOT
```

Result: Only messages starting with these keywords are forwarded.

#### Combining Header & Footer Filters

You can use both simultaneously:

**Example - Premium signals without spam**:

```
Header Whitelist:
- PREMIUM
- VIP

Footer Blacklist:
- Join @
- Subscribe
```

Result: Forward only messages with premium headers AND without spam footers.

**Logic**: ALL conditions must be met:

* Header must match whitelist (if configured)
* Footer must match whitelist (if configured)
* Header must NOT match blacklist (if configured)
* Footer must NOT match blacklist (if configured)

#### Plain Text vs Regex

**Plain Text Matching** (Regex OFF):

* Simple substring search
* "spam" matches "This is spam message"
* Fast, easy to configure
* Recommended for simple keywords

**Regex Matching** (Regex ON):

* Advanced pattern matching
* `promo.*discount` matches "promo code discount", "promotional discount"
* `\d{10,}` matches any 10+ digit number
* `http[s]?://` matches URLs
* Flexible but complex
* Recommended for advanced users

**Common regex patterns**:

```
\b(spam|scam|fraud)\b     → Whole word match
\d{10,}                    → 10+ digit numbers (phone numbers)
http[s]?://bit\.ly         → bit.ly URLs
^\[.*\]                    → Messages starting with [brackets]
.*join.*channel.*          → "join...channel" in any order
```

#### Case Sensitivity

**Ignore Case ON** (recommended):

* "SPAM" matches "spam", "Spam", "SPAM", "SpAm"
* Easier to configure
* Catches more variations

**Ignore Case OFF**:

* "SPAM" only matches "SPAM"
* Useful for exact matching
* Stricter filtering

***

### Common Use Cases

#### Block Spam Signatures

**Scenario**: Source channels add promotional links at the end of every message.

**Setup**:

```
Footer Blacklist (plain text, ignore case ON):
- Join @channelname
- Subscribe to
- Click here
- t.me/
- bit.ly
```

**Result**: Messages with these spam signatures in footer are blocked.

***

#### Forward Only Premium Signals

**Scenario**: Mixed channel with free and premium content, only want premium.

**Setup**:

```
Header Whitelist (plain text, ignore case ON):
- PREMIUM
- VIP
- 💎
- PAID SIGNAL
```

**Result**: Only messages starting with premium indicators are forwarded.

***

#### Filter by Source Identifier

**Scenario**: Aggregator channel mixes multiple sources, only want specific ones.

**Setup (allow specific sources)**:

```
Footer Whitelist (plain text, ignore case ON):
- Source: TrustedChannel
- [Verified]
- Official Source
```

**Setup (block specific sources)**:

```
Footer Blacklist (plain text, ignore case ON):
- Source: SpamChannel
- [Unverified]
- Reposted from
```

**Result**: Control which sources get forwarded based on footer tags.

***

#### Block URL Spam (Regex)

**Scenario**: Block messages with shortened URLs in footer.

**Setup**:

```
Footer Blacklist (regex ON, ignore case ON):
- http[s]?://bit\.ly
- http[s]?://tinyurl\.com
- http[s]?://t\.me/\+
```

**Result**: Messages with these URL patterns in footer are blocked.

***

#### Priority-Only Forwarding

**Scenario**: Forward only urgent/important messages from busy source.

**Setup**:

```
Header Whitelist (plain text, ignore case ON):
- URGENT
- IMPORTANT
- CRITICAL
- 🚨
- ⚠️
```

**Result**: Only messages marked as priority are forwarded, noise is filtered.

***

### Troubleshooting

#### Issue: Not Blocking Expected Messages

**Check**:

* [ ] Addon is enabled in task settings
* [ ] Keywords are in correct section (header vs footer)
* [ ] Using blacklist (not whitelist)
* [ ] "Ignore Case" is ON if case varies
* [ ] Keywords match actual content (check source messages)

**Test**: Use very simple keyword you know exists (e.g., "test") to verify filtering works.

***

#### Issue: Blocking Too Many Messages

**Problem**: Whitelist is too strict, most messages blocked.

**Solutions**:

* Add more whitelist keywords
* Switch to blacklist mode (block only known bad patterns)
* Use regex for flexible matching (e.g., `.*premium.*` to catch variations)
* Check if keywords really appear in header/footer (not in middle of message)

***

#### Issue: Regex Not Working

**Check**:

* [ ] "Use Regex" option is enabled
* [ ] Regex syntax is correct (test with online regex tester)
* [ ] Special characters are escaped: `.` → `\.`, `?` → `\?`
* [ ] Regex matches content in header/footer (not full message)

**Common mistakes**:

* Forgetting to escape special chars: `http://` should be `http[s]?://`
* Regex too broad: `.*` matches everything
* Regex too specific: won't catch variations

**Test regex**: Use online tools like regex101.com before adding to addon.

***

#### Issue: Same Keyword in Header and Footer

**Problem**: Need different rules for header vs footer but keyword appears in both.

**Solution**:

* Use more specific keywords/patterns
* Add context: "Footer: keyword" vs just "keyword"
* Use regex anchors: `^keyword` (start), `keyword$` (end)
* Combine with other filters (content filter, sender filter)

***

#### Issue: Unclear What Counts as Header/Footer

**Header**: Approximately first 2-3 lines of message\
**Footer**: Approximately last 2-3 lines of message

**Tips**:

* Single-line messages: Entire message is both header and footer
* Long messages: Only edges are checked, middle is ignored
* Media captions: Caption text is checked (if present)

**Test**: Forward sample messages and check which get through to understand line boundaries.

***

### Best Practices

#### Start with Blacklist Mode

Easier to start with:

1. Forward everything initially
2. Notice spam patterns in footer
3. Add to blacklist incrementally
4. Monitor and adjust

Whitelist mode requires knowing ALL valid patterns upfront (harder).

#### Use Plain Text First

* Start with simple keyword lists
* Only use regex if plain text doesn't work
* Regex is powerful but complex and error-prone

#### Ignore Case by Default

Unless you have specific reason:

* Turn "Ignore Case" ON
* Catches more variations
* Easier to configure

#### One Keyword Per Line

Format:

```
spam
promotion
click here
```

NOT:

```
spam, promotion, click here
```

#### Test with Known Messages

Before going live:

1. Find sample messages you want to block/allow
2. Configure filter
3. Test with those specific messages
4. Adjust until correct

#### Combine with Other Filters

Header/Footer filter works best with:

* **Keyword filter**: Filter message body content
* **Sender filter**: Filter by source channel
* **Media filter**: Filter by media type Together = comprehensive filtering

#### Document Your Rules

Keep notes on why each keyword was added:

* "Join @" - blocks spam channel promotions
* "PREMIUM" - whitelist for paid signals Helps when revisiting settings months later.

***

### Frequently Asked Questions

#### What counts as header vs footer?

**Header**: First \~2-3 lines of message text\
**Footer**: Last \~2-3 lines of message text

Exact line count may vary by implementation. For single-line messages, the entire message is both header and footer.

#### Does it check media captions?

**Yes**, if message has media with caption, the caption text is checked for header/footer keywords.

#### Can I use multiple keywords?

**Yes**, enter one keyword per line. If ANY keyword matches, the rule triggers.

#### Does it work with forwarded message credits?

**Depends**. If forwarded message retains source credit as text (e.g., "Forwarded from ChannelName"), that text may be part of header/footer. Test to verify.

#### Blacklist vs whitelist - which is better?

**Blacklist** (block mode):

* Better when you know what to block
* Easier to start with
* Forwards everything except blacklist

**Whitelist** (allow-only mode):

* Better when you know exactly what to forward
* More restrictive
* Blocks everything except whitelist

**Recommend**: Start with blacklist, switch to whitelist if you have clear "allow only" criteria.

#### Can I use both blacklist and whitelist?

**Yes**, both header and footer can have separate blacklist and whitelist rules. All conditions must be met for message to forward.

#### Does order of keywords matter?

**No**, all keywords are checked equally. First match triggers the rule.

#### How do I match exact phrases?

**Plain text mode**: Enter the exact phrase, enable "Ignore Case" if needed

```
Join our channel
```

**Regex mode**: Use word boundaries for exact match

```
\bJoin our channel\b
```

#### Can it filter emojis?

**Yes**, emojis are treated as text. Copy-paste the emoji into keyword field:

```
🚫
💎
🚨
```

#### Does it slow down forwarding?

**Minimal impact**. Header/footer checking is very fast since only edges of message are scanned (not full message body).

***

### Performance Tips

#### Keep Keyword Lists Short

* 5-10 keywords per list is ideal
* 20+ keywords may slow down processing
* Use regex to consolidate similar patterns

#### Use Specific Keywords

More specific = fewer false positives:

* ✅ "Join @ChannelName for exclusive"
* ❌ "join" (too broad, matches "join the discussion")

#### Combine with Sender Filter

Don't rely on header/footer filter alone:

* Filter by sender first (faster)
* Then apply header/footer filter (precise)

#### Test Regex Performance

Complex regex can be slow:

* Test with online regex tools
* Avoid catastrophic backtracking patterns (e.g., `(.*)*`)
* Keep patterns simple

***

### Getting Help

If header/footer filtering isn't working as expected:

1. Verify addon is active and enabled in task
2. Check your keywords actually appear in header/footer (not middle of message)
3. Test with very simple keyword you know exists
4. Review blacklist vs whitelist logic
5. Check Addons FAQ
6. Contact support with:
   * Your filter configuration (keywords, regex, options)
   * Sample message that should be filtered but isn't (or vice versa)
   * Expected vs actual behavior

**Support**: Menu → Help & Support or <support@autoforwardtelegram.com>

***

### Summary

Header/Footer Keyword Filter provides precision filtering based on message edges:

✅ **Block spam** - Filter out promotional footers and signatures\
✅ **Priority forwarding** - Only forward messages with specific headers\
✅ **Source control** - Filter by source tags in headers/footers\
✅ **Flexible matching** - Plain text or regex patterns\
✅ **Dual modes** - Blacklist to block, whitelist to allow\
✅ **Case options** - Case-sensitive or insensitive matching

**Perfect for**: Spam filtering, priority message forwarding, source-based filtering, signature detection, promotional content blocking.

**Quick start**:

1. Enable addon in task
2. Decide header or footer filtering
3. Choose blacklist (block) or whitelist (allow-only)
4. Enter keywords (one per line)
5. Enable "Ignore Case"
6. Keep regex OFF (unless needed)
7. Test and refine

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# Cross-Group CA Matching

### Overview

Cross-Group CA Matching (Contract Address Matching) is a specialized addon for crypto signal aggregators. It forwards messages only when the same contract address (CA) appears in multiple source groups within a time window, indicating genuine projects with cross-community validation.

#### What It Does

* **Detects contract addresses** - Automatically extracts CAs from messages
* **Cross-group validation** - Checks if CA appears in multiple source groups
* **Time window** - CA must appear in X groups within Y hours
* **Duplicate prevention** - Blocks repeated CA forwards from same group
* **Cooldown period** - Prevents spam after initial forward
* **Quality signals** - Only forwards CAs validated by multiple communities

#### Key Benefits

✅ **Reduce noise** - Only forward CAs mentioned by multiple groups\
✅ **Validation signal** - Multiple mentions = stronger signal\
✅ **Prevent spam** - Block duplicate CA posts from same source\
✅ **Trend detection** - Catch tokens gaining multi-group attention\
✅ **Auto-aggregation** - No manual cross-checking needed\
✅ **Scam reduction** - Less likely scam if multiple groups mention it

***

### Getting Started

#### Prerequisites

1. ✅ Purchase Cross-Group CA Matching addon
2. ✅ Have a forwarding task with **multiple source groups** (2+ groups)
3. ✅ Sources discuss crypto tokens with contract addresses
4. ✅ Understand basic crypto concepts (CA, tokens, chains)

**Important**: This addon requires **2 or more source groups** to work. Single-source tasks won't benefit from cross-group matching.

#### Quick Setup

**Step 1: Purchase & Enable**

1. Menu → My Addons → Cross-Group CA Matching → Unlock
2. Open your task settings (must have multiple source groups)
3. Find **Cross-Group CA Matching** section
4. Toggle **Enable CA Matching** to ON

**Step 2: Configure Minimum Groups**

**Min Groups**: How many different groups must mention the CA

* **2 groups** (default): CA must appear in at least 2 different sources
* **3-5 groups**: Higher validation, fewer but higher quality signals
* **6-10 groups**: Very strict, only widely-discussed tokens

**Recommended**: Start with 2-3 groups, increase if too many signals.

**Step 3: Set Time Window**

**Time Window**: How long to wait for CA to appear in required groups

* **1-6 hours**: Fast-moving markets, trending tokens
* **12-24 hours**: Moderate pace, daily trending topics
* **48-168 hours** (2-7 days): Long-term validation, slower markets

**Recommended**: 12-24 hours for balanced signal quality.

**Step 4: Configure Cooldown**

**Cooldown Period**: After forwarding a CA, how long to block additional forwards of same CA

* **30 minutes - 2 hours**: Allow multiple mentions if news develops
* **6-12 hours**: Standard, prevents spam but allows significant updates
* **24+ hours**: Strict, only one mention per day per CA

**Recommended**: 12 hours for good spam prevention.

**Step 5: Duplicate Prevention**

**Auto Duplicate Prevention**: ON (recommended)

* Blocks repeated CA posts from the **same source group**
* Prevents single group from spamming same CA
* Cross-group mentions still counted

***

### Configuration Details

#### How CA Detection Works

The addon automatically detects contract addresses in messages:

**Ethereum-like CAs** (Ethereum, BSC, Polygon, etc.):

```
0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb
0xdAC17F958D2ee523a2206206994597C13D831ec7
```

Format: `0x` followed by 40 hexadecimal characters

**Solana CAs**:

```
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
```

Format: Base58 string, typically 32-44 characters

**Bitcoin/Other**: May vary by implementation

**Auto-extraction**: No manual configuration needed. Addon scans all incoming messages for CA patterns.

#### Minimum Groups Logic

**How it works**:

1. Message arrives with CA `0xABC...`
2. Addon checks: "Has `0xABC...` appeared in other source groups?"
3. Counts unique groups that mentioned this CA within time window
4. If count >= minimum groups → Forward
5. If count < minimum groups → Hold (wait for more mentions)

**Example (Min Groups = 2)**:

```
10:00 - Group A mentions CA 0xABC... → Count: 1 → Hold
10:30 - Group B mentions CA 0xABC... → Count: 2 → FORWARD ✅
11:00 - Group C mentions CA 0xABC... → Count: 3 → Already forwarded (cooldown)
```

**Example (Min Groups = 3)**:

```
10:00 - Group A mentions CA 0xABC... → Count: 1 → Hold
10:30 - Group B mentions CA 0xABC... → Count: 2 → Hold
11:00 - Group C mentions CA 0xABC... → Count: 3 → FORWARD ✅
```

**Key point**: The message forwarded is typically the **first message** where threshold is reached (from the group that pushed count to minimum).

#### Time Window

**Definition**: How long to track CA mentions across groups.

**Short window (1-6 hours)**:

* **Use case**: Fast-moving markets, trending tokens, pumps
* **Pro**: Catch quick trends, timely signals
* **Con**: May miss slower consensus-building

**Medium window (12-24 hours)**:

* **Use case**: Daily crypto discussion, balanced pace
* **Pro**: Captures most legitimate multi-group interest
* **Con**: Slightly delayed for very fast trends

**Long window (48-168 hours)**:

* **Use case**: Long-term holds, project research phase
* **Pro**: High confidence (sustained multi-day interest)
* **Con**: Very delayed, may miss entry opportunities

**Recommendation**:

* Day trading / scalping: 3-6 hours
* Swing trading: 12-24 hours
* Research / investing: 48+ hours

#### Cooldown Period

**Purpose**: After forwarding a CA once, prevent forwarding it again for X time.

**Why needed**:

* Same CA can be mentioned many times
* Without cooldown, you'd forward duplicates
* Creates spam in target

**How it works**:

```
10:00 - CA 0xABC forwarded after meeting min groups
10:00-22:00 - Cooldown active (12 hours)
       - Any mention of 0xABC from ANY group is blocked
22:00 - Cooldown expires
22:01 - If 0xABC mentioned again and meets min groups → Can forward again
```

**Setting guidelines**:

* **Short (1-2 hours)**: If you want updates on developing news for same CA
* **Medium (6-12 hours)**: Standard spam prevention
* **Long (24+ hours)**: Strict "once per day" rule

**Interaction with duplicate prevention**:

* Cooldown is **global** (all groups)
* Duplicate prevention is **per source group**
* Both work together to reduce spam

#### Duplicate Prevention

**Auto Duplicate Prevention** (per source group):

**Scenario without prevention**:

```
10:00 - Group A mentions CA 0xABC → Count toward threshold
10:15 - Group A mentions CA 0xABC again → Count again? ❌
10:30 - Group B mentions CA 0xABC → Count toward threshold
```

**With prevention enabled** (recommended):

* Each source group can only contribute **once** per CA per time window
* Prevents single spammy group from triggering threshold alone
* Ensures genuine **cross-group** validation

**Example**:

```
Min Groups: 2
Duplicate Prevention: ON

10:00 - Group A posts CA 0xABC (3 times in 5 minutes) → Counted as 1
10:30 - Group B posts CA 0xABC (once) → Counted as 1
Total unique groups: 2 → FORWARD ✅
```

Without prevention, Group A's 3 mentions might be miscounted.

***

### Common Use Cases

#### Crypto Signal Aggregation

**Scenario**: Aggregate signals from 5 crypto alpha groups, only want tokens mentioned by multiple groups.

**Setup**:

```
Min Groups: 2-3
Time Window: 12 hours
Cooldown: 12 hours
Duplicate Prevention: ON
```

**Result**: Forward only CAs gaining multi-group attention = stronger signals.

***

#### Scam Reduction

**Scenario**: Many groups post scam CAs, but legit projects get multi-group coverage.

**Setup**:

```
Min Groups: 3-4 (higher threshold)
Time Window: 24 hours
Cooldown: 24 hours
Duplicate Prevention: ON
```

**Result**: Scams typically only in 1-2 groups, legit projects in many groups. Higher threshold filters scams.

***

#### Trending Token Detection

**Scenario**: Catch tokens starting to trend across crypto community.

**Setup**:

```
Min Groups: 2
Time Window: 6 hours (short, catch trends early)
Cooldown: 6 hours
Duplicate Prevention: ON
```

**Result**: Quickly detect CAs getting multi-group traction, potentially before major pumps.

***

#### Long-Term Project Research

**Scenario**: Research phase, only interested in CAs with sustained multi-day interest.

**Setup**:

```
Min Groups: 3-5 (high confidence)
Time Window: 72 hours (3 days)
Cooldown: 72 hours (once per 3 days)
Duplicate Prevention: ON
```

**Result**: Only forward CAs discussed across multiple groups over multiple days = high-quality project leads.

***

#### Pump Group Coordination Detection

**Scenario**: Detect when multiple pump groups coordinate on same CA.

**Setup**:

```
Min Groups: 3+ (pump groups)
Time Window: 1-3 hours (pumps happen fast)
Cooldown: 6 hours
Duplicate Prevention: ON
```

**Result**: Catch coordinated pump activity early (can be entry signal or warning depending on your strategy).

***

### Troubleshooting

#### Issue: No Messages Being Forwarded

**Check**:

* [ ] You have **multiple source groups** (2+) in task
* [ ] Min groups threshold isn't too high (try 2 first)
* [ ] Time window isn't too short (try 12-24 hours)
* [ ] Source groups actually discuss CAs in compatible format
* [ ] Addon is enabled and active

**Test**: Look at source groups manually, verify CAs appear in multiple groups within time window.

***

#### Issue: Too Many Signals (Too Noisy)

**Problem**: Forwarding too many CAs, hard to keep up.

**Solutions**:

* **Increase min groups**: 2 → 3 → 4 (more validation)
* **Shorten time window**: Only recent trending CAs
* **Increase cooldown**: Prevent rapid re-mentions
* **Combine with other filters**: Use keyword filter to only track specific chains (e.g., "Solana", "SOL")

***

#### Issue: Missing Good CAs

**Problem**: Known good CAs mentioned in multiple groups but not forwarded.

**Check**:

* [ ] CA format is recognized (ETH: 0x..., Solana: Base58)
* [ ] Messages arrived within time window
* [ ] Not blocked by cooldown from previous forward
* [ ] Duplicate prevention not miscounting groups

**Test**: Reduce min groups to 2, expand time window to 24 hours, verify CA forwarding works at all.

***

#### Issue: Same CA Forwarded Multiple Times

**Check**:

* [ ] Cooldown period is set (not 0)
* [ ] Cooldown is long enough (try 12+ hours)
* [ ] Messages aren't coming after cooldown expires

**If issue persists**: May be different messages with same CA after cooldown. This is expected behavior if cooldown expired.

***

#### Issue: Can't Detect Certain CA Formats

**Problem**: CAs from less common chains not detected.

**Limitation**: Addon primarily supports:

* Ethereum-like (0x... format)
* Solana (Base58 format)

**Workaround**: Contact support to request additional chain support, or use standard keyword filter instead.

***

#### Issue: Single Group Triggering Threshold

**Problem**: One spammy group posting same CA multiple times triggers threshold alone.

**Solution**: Ensure **Duplicate Prevention is ON**. This prevents single group from counting multiple times.

***

### Best Practices

#### Start with Conservative Settings

Initial setup:

```
Min Groups: 2
Time Window: 24 hours
Cooldown: 12 hours
Duplicate Prevention: ON
```

Adjust over 1-2 weeks based on signal quality.

#### Use Multiple Source Groups (5-10+)

More sources = better validation:

* 2-3 sources: Limited validation (addon still useful but less powerful)
* 5-10 sources: Good validation, diverse perspectives
* 10+ sources: Excellent validation, very strong signals

#### Balance Min Groups with Source Count

**Rule**: Min Groups should be 20-40% of total sources

* 5 sources → Min Groups: 2
* 10 sources → Min Groups: 3-4
* 20 sources → Min Groups: 5-8

Too high = miss good signals. Too low = too noisy.

#### Adjust Time Window to Market Pace

* **Bull market / High volatility**: Shorter windows (3-12 hours)
* **Bear market / Low volatility**: Longer windows (24-72 hours)
* **Trending news**: Shorter windows
* **Research phase**: Longer windows

#### Combine with Sender Filters

Improve signal quality:

1. Use sender filter to block known spam groups
2. Then apply CA matching on remaining quality sources
3. \= Higher quality cross-group validation

#### Monitor and Tune

After 1 week of use:

* Count signals received per day
* Check signal quality (how many were good trades/leads)
* Adjust min groups / time window / cooldown accordingly
* Too many signals → Increase min groups, shorten window
* Too few signals → Decrease min groups, lengthen window

#### Use with Keyword Filters

Combine for chain-specific tracking:

* **Keyword filter**: "Solana" OR "SOL"
* **CA Matching**: Min 3 groups, 12 hours
* \= Only Solana CAs with 3+ group mentions

#### Document Your Sources

Keep list of source groups and their quality:

* Premium alpha groups: High weight
* Public aggregators: Medium weight
* Meme groups: Lower weight Helps you understand why certain CAs meet threshold.

***

### Frequently Asked Questions

#### What chains are supported?

**Confirmed**:

* Ethereum (0x... format)
* Binance Smart Chain (0x... format)
* Polygon (0x... format)
* Other EVM chains (0x... format)
* Solana (Base58 format)

**Potentially supported**: Other chains with standard CA formats. Contact support to verify.

#### Does it check CA legitimacy (scam detection)?

**No**, addon only checks if CA appears in multiple groups. It does NOT verify if CA is legitimate, safe, or scam-free. Always DYOR (do your own research) before trading.

#### What if same CA has different formats?

Example: `0xABC...` vs `0xabc...` (case difference)

**Usually normalized**: Most implementations treat CAs case-insensitively for matching. But verify by testing.

#### Can it track CA across different messages about same project?

**Yes**, addon extracts CA from message content. Doesn't matter if messages have different text, as long as they contain same CA.

Example:

* Group A: "Token ABC launching! CA: 0x123..."
* Group B: "New gem found, 0x123... check it out" Both counted toward same CA: `0x123...`

#### Does it work with media messages?

**Yes**, if message contains CA in caption text. CAs in images/screenshots may not be detected (depends on implementation).

#### Can I whitelist/blacklist specific CAs?

**Not directly in this addon**, but you can combine with keyword filter:

* **Blacklist CA**: Use keyword filter to block specific 0x... addresses
* **Whitelist CA**: Harder, but you can block all CAs using keyword filter, then manually allow specific ones

#### What happens if CA appears in 2 groups simultaneously?

If two groups post same CA at exactly same time (within seconds/minutes):

* Both counted toward threshold
* First message reaching threshold triggers forward
* Other message blocked by duplicate prevention and cooldown

#### Does cooldown reset if CA mentioned again after expiry?

**Yes**, if cooldown expires and CA meets threshold again (X groups within time window), it can be forwarded again and cooldown resets.

#### Can I use with single source group?

**Technically yes, but pointless**. Cross-group matching requires multiple source groups to provide value. Single source = no cross-validation.

#### How is time window calculated?

**Rolling window**: If time window is 12 hours, at any given moment, addon looks back 12 hours to count group mentions.

Example (12-hour window, current time: 10:00):

* Checks mentions from 22:00 (previous day) to 10:00 (now)
* Rolling basis, not fixed daily/hourly reset

***

### Performance Tips

#### Optimize Source Group Count

* **Too few** (<3): Limited validation, addon underutilized
* **Optimal** (5-15): Good balance, meaningful cross-group signals
* **Too many** (20+): May slow processing, increases false positives if many low-quality sources

#### Use Quality Sources

One high-quality alpha group > Five meme/spam groups

* Select reputable source groups
* Avoid spam-heavy sources
* Better sources = better cross-group validation = better signals

#### Balance Time Window

* **Too short**: Miss legitimate multi-group consensus (**false negatives**)
* **Too long**: Stale signals, less actionable (**delayed signals**)
* **Sweet spot**: 12-24 hours for most crypto use cases

#### Set Reasonable Min Groups

* **Too low** (1): No cross-validation, just spam (**false positives**)
* **Too high** (≥50% of sources): Miss good signals (**false negatives**)
* **Sweet spot**: 20-40% of total source groups

***

### Getting Help

If CA matching isn't working as expected:

1. Verify you have **multiple source groups** (2+)
2. Check source groups actually post CAs in supported formats
3. Test with very low threshold (min groups: 2, time window: 24 hours)
4. Verify addon is enabled and active
5. Check Addons FAQ
6. Contact support with:
   * Your CA matching configuration
   * Source group count and names
   * Example CA that should be forwarded but wasn't
   * Expected vs actual behavior

**Support**: Menu → Help & Support or <support@autoforwardtelegram.com>

***

### Summary

Cross-Group CA Matching provides intelligent crypto signal aggregation:

✅ **Multi-group validation** - Only forward CAs mentioned by X groups\
✅ **Time-based tracking** - CA must appear within time window\
✅ **Spam prevention** - Cooldown and duplicate blocking\
✅ **Auto-detection** - Automatically extracts CAs from messages\
✅ **Quality signals** - Multiple mentions = stronger validation\
✅ **Scam reduction** - Less likely to forward single-group spam

**Perfect for**: Crypto signal aggregation, alpha group consolidation, scam reduction, trend detection, multi-source validation, project research.

**Quick start**:

1. Enable addon in task with **multiple source groups**
2. Set min groups: 2-3
3. Set time window: 12-24 hours
4. Set cooldown: 12 hours
5. Enable duplicate prevention: ON
6. Monitor for 1 week and adjust

**Pro tip**: Combine with keyword filters (chain names, "CA:", "Contract:") and sender filters (block spam groups) for best results.

***

**Last Updated**: March 2026\
**Addon Version**: 1.0\
**App Version**: 1.0.44+


# Recover Token from Linked Post

### 🚀 Overview

Recover Token from Linked Post solves a common issue in Crypto Mode:

❌ The current message does not contain a token\
✅ But the token exists in a linked post

This addon automatically:

* Detects links inside the message (text, caption, URL, text-link)
* Finds the linked post within the same Telegram channel
* Extracts the token from that post
* Continues forwarding using the recovered token

👉 This ensures you don’t miss signals just because the token isn’t in the current message

***

### ⚙️ How It Works

1. Crypto Mode attempts to extract a token from the current message
2. If no token is found → the addon is triggered
3. The system will:
   * Scan all links in the message
   * Identify linked posts in the same channel
   * Retrieve the content of the linked post
   * Extract the token from that content
4. If a token is found → it will be used for forwarding

***

### ✅ Key Features

* 🔗 Recover tokens from linked posts within the same channel
* 🧠 Automatic fallback when the current message has no token
* 📄 Supports multiple link sources:
  * Message text
  * Captions
  * URL entities
  * Text-link entities

***

### ⚠️ Requirements

This addon only works if:

* ✅ Contract Address Mode is enabled (`crypto_contract = true`)

If not enabled, the addon will not function.

### 💡 Use Cases

#### 1. Split signal content

* Message A: “Check this 👇” + link
* Message B (linked): contains the token\
  👉 The addon extracts the token from Message B

***

#### 2. Teaser-style posts

* Current message has no token
* Token is hidden in a previous/linked post\
  👉 No missed signals

***

#### 3. Clean content channels

* Channels intentionally avoid posting contracts directly\
  👉 Token can still be recovered from linked posts

***

### 🎯 Recommendation

This addon is especially useful if you:

* Follow crypto channels that rely on linked posts
* Want to avoid missing tokens due to incomplete messages
* Need higher accuracy in Crypto Mode


# Auto Join Invite Links

### 🚀 Overview

Auto Join Invite Links allows your system to automatically join private Telegram groups or channels from invite links found in trusted source chats.

Instead of manually opening and joining each link, this addon handles it for you in real time.

👉 Perfect for automation workflows where invite links are frequently shared.

***

### ⚙️ How It Works

1. A new message arrives from a source chat
2. The system scans the message for private invite links
3. If a valid invite link is found:
   * The system checks whether the source chat is trusted
4. If the source is trusted → the bot will automatically join the linked group/channel

***

### ✅ Key Features

* 🔗 Automatically joins private invite links
* 🛡️ Works only with trusted source chats (you control this)
* ⚙️ Can be enabled or disabled per Forward Task
* 🎯 Reduces manual work when handling multiple invite links

### 🛡️ Trusted Sources

This is a key safety mechanism:

* The system will only join links from sources you explicitly allow
* Prevents unwanted joins from unknown or unsafe channels

👉 You stay in full control of where the bot can join.

***

### 📌 Behavior Notes

* Each task can have its own trusted sources
* If `trusted_sources` is empty → no links will be joined
* Works automatically without interrupting your forwarding workflow

***

### 🚫 Limitations

* ❗ Only works with private invite links
* ❗ Will not join links from untrusted sources
* ❗ Requires valid Telegram invite links

***

### 💡 Use Cases

#### 1. Signal / Alpha groups

Automatically join new private groups shared by trusted channels

***

#### 2. Community expansion

Quickly access new communities without manual actions

***

#### 3. Automation pipelines

Combine with auto-forward to build a fully automated content + access system

***

### 🎯 Recommendation

Use this addon if you:

* Follow channels that frequently share invite links
* Want to automate joining private groups
* Need a controlled and safe auto-join system


# Paid Reaction

### 🚀 Overview

Paid Reaction allows your system to automatically send a paid reaction (⭐ stars) when a message is successfully forwarded.

This helps increase engagement, visibility, and perceived value of your content.

👉 Each message will receive a reaction only once, ensuring no duplicate spending.

***

### ⚙️ How It Works

1. A message is successfully forwarded by the task
2. The addon is triggered
3. The system sends a paid reaction (stars) based on your configuration
4. The reaction is applied:
   * To the target message, source message, or both (depending on settings)
5. Each message is processed only once

***

### ✅ Key Features

* ⭐ Automatically sends paid reactions for each forwarded message
* 🔢 Customize how many stars to send (1 → 5)
* 🛡️ Choose reaction privacy (anonymous or default)
* 🎯 Flexible reaction scope:
  * Target message
  * Source message
  * Or both
* ⚙️ Can be enabled per task

### 🎯 Reaction Scope Explained

* target\_only → Reacts to the forwarded message (default)
* source\_only → Reacts to the original source message
* both → Reacts to source first, then target

***

### 🛡️ Privacy Modes

* anonymous → Reaction is always anonymous
* default → Uses your Telegram account’s privacy settings

***

### 📌 Behavior Notes

* Each message gets only one paid reaction per task
* Reactions are sent only after successful forwarding
* Works seamlessly with your existing automation flow

***

### 🚫 Limitations

* ❗ Requires sufficient Telegram stars balance
* ❗ Will not retry if a reaction fails
* ❗ Only applies to messages processed by the task

***

### 💡 Use Cases

#### 1. Boost engagement

Make your forwarded posts look more active and valuable

***

#### 2. Social proof

Increase trust by showing reactions on messages

***

#### 3. Growth strategy

Combine with auto-forward to amplify content reach + interaction

***

### 🎯 Recommendation

Use this addon if you:

* Want to increase engagement automatically
* Run marketing or growth campaigns
* Need consistent interaction signals on your content


# Final Redirect Link

### Overview

Final Redirect Link is an advanced link processing addon designed to automatically resolve shortened or redirected URLs inside forwarded Telegram messages.

When a forwarded message contains shortened links such as Bitly, TinyURL, tracking links, or redirect-based URLs, the system will detect and resolve them to their actual final destination before forwarding the message.

This helps users:

* View the real destination URL
* Remove tracking or redirect layers
* Increase transparency and trust
* Improve link readability
* Avoid hidden or unsafe redirects

***

## Core Features

### 1. Resolve Final Destination URLs

The addon automatically follows redirect chains and retrieves the final destination URL from:

* Shortened links
* Tracking links
* Redirect-based URLs

#### Example

Original forwarded message:

```
https://bit.ly/example-link
```

Resolved result:

```
https://example.com/product-page
```

***

### 2. Replace or Append Final URLs

Users can choose how resolved links are handled.

#### Replace Mode

Replace the original shortened link completely.

Example:

```
Before:
https://bit.ly/example

After:
https://example.com/page
```

#### Append Mode

Keep the original link and append the final destination.

Example:

```
https://bit.ly/example
→ https://example.com/page
```

***

## Telegram Message Support

The addon supports processing links inside:

* Forwarded message text
* Message captions
* Media captions
* Auto-forwarded Telegram content

This allows seamless integration with Telegram forwarding and automation systems.

***

## Domain Filtering System

Users can configure:

* Include domains
* Exclude domains

per forwarding task.

### Include Domains

Only resolve links from specified domains.

Example:

```
bit.ly
t.co
tinyurl.com
```

### Exclude Domains

Skip resolving links from selected domains.

Example:

```
youtube.com
google.com
```

This helps optimize performance and avoid unnecessary processing.

***

## Link Processing Limits

To improve performance and reduce API load, users can configure:

* Maximum number of links to resolve per message

Example:

* Resolve only first 3 links
* Skip remaining links automatically

***

## Smart Redirect Resolver

The system uses:

* HTTP HEAD requests for fast redirect detection
* Automatic GET fallback for websites that block HEAD requests

This improves compatibility with:

* Cloudflare-protected sites
* Anti-bot systems
* Websites with strict HTTP rules

***

## Security Protection

The addon automatically blocks unsafe redirect targets including:

* Localhost addresses
* Private IP addresses
* Reserved network ranges
* Potentially unsafe redirect destinations

This helps prevent:

* Internal network abuse
* SSRF-related attacks
* Unsafe redirect chains

***

## Fail-Safe Processing

If:

* Timeout occurs
* Resolver fails
* Target website is unavailable

the forwarding process will continue normally.

This ensures:

* Forwarding tasks are never blocked
* Better system stability
* Reliable automation performance

***

## Use Cases

### Affiliate Marketing

Convert shortened affiliate links into visible destination URLs.

### Content Transparency

Allow users to see the real destination before clicking.

### Anti-Tracking

Remove unnecessary redirect and tracking layers.

### Telegram Automation

Automatically clean and normalize links during auto-forwarding workflows.

### Security Review

Inspect hidden redirect destinations before sharing content.

***

## Summary

Final Redirect Link provides a secure and intelligent way to resolve redirected URLs inside Telegram forwarded content.

Key advantages:

* Automatic redirect resolution
* Flexible link replacement modes
* Advanced filtering system
* Safe redirect validation
* Non-blocking forwarding workflow
* Optimized for Telegram automation systems


# Auto Delete Messages

Automatically delete forwarded target messages after a configurable delay

Automatically delete forwarded target messages after a configurable delay. This addon helps keep destination chats clean, remove outdated content automatically, and manage temporary announcements, countdowns, promotions, and event notifications without manual intervention.

### How It Works

When a message is successfully forwarded, Auto Delete Messages can schedule it for automatic removal after a specified delay.

The addon only affects messages sent to destination chats. Original source messages are never modified or deleted.

### Features

#### Automatic Message Deletion

Configure a default delay and all forwarded messages will be automatically deleted after the specified time.

Examples:

* Delete after 5 minutes
* Delete after 1 hour
* Delete after 24 hours
* Delete after 7 days

Supported delay range:

* Minimum: 60 seconds
* Maximum: 30 days

***

#### Keyword-Based Delete Rules

Create custom keyword rules that apply different deletion timers to specific messages.

The system checks the forwarded message text or media caption and applies the first enabled matching rule.

Examples:

| Keywords  | Delete After |
| --------- | ------------ |
| countdown | 10 minutes   |
| sale      | 30 minutes   |
| event     | 1 hour       |
| giveaway  | 6 hours      |

This is especially useful for:

* Countdown messages
* Flash sales
* Promotions
* Temporary announcements
* Event reminders
* Limited-time offers

***

#### Flexible Keyword Matching

Each rule supports two matching modes:

**Any Match**

The rule is triggered when at least one keyword is found.

Example:

Keywords:

* sale
* discount
* promo

Message:

Massive discount available today!

Result:

* Rule matches

**All Match**

The rule is triggered only when every configured keyword is present.

Example:

Keywords:

* bitcoin
* signal

Message:

New bitcoin signal available

Result:

* Rule matches

Message:

New bitcoin update

Result:

* Rule does not match

***

#### Case Sensitive Matching

Enable case-sensitive matching when exact capitalization matters.

Example:

Keyword:

* VIP

Message:

* VIP Access → Match
* vip access → No Match

When disabled, matching ignores letter casing.

***

#### Default Behavior for Unmatched Messages

Choose how messages should be handled when they do not match any keyword rule.

**Delete Unmatched Messages (Recommended)**

Messages that do not match any keyword rule will be deleted using the default delay.

Example:

Default Delay:

* 24 hours

Message:

Daily market update

Result:

* Deleted after 24 hours

**Keep Unmatched Messages**

Only messages matching a keyword rule are deleted.

All other messages remain permanently in destination chats.

***

#### Content Type Filtering

Choose which message types should be processed by the addon.

Supported content types:

* Text
* Photo
* Video
* Document
* Audio
* Voice
* Animation
* Sticker
* Album / Media Groups
* Other Message Types

You can also select All Content Types to apply deletion rules to every supported message.

Examples:

* Delete only promotional photos
* Delete only video announcements
* Delete only text countdown messages
* Apply to all forwarded content

***

#### Automatic Mapping Cleanup

After a message is successfully deleted, the addon can automatically remove its stored forwarding record.

Benefits:

* Reduced database storage
* Improved long-term performance
* Cleaner message mapping data

This option is enabled by default.

***

#### Target-Only Deletion

Auto Delete Messages only deletes messages that were sent to destination chats.

The original source message remains untouched.

This ensures:

* Source channels stay intact
* Source groups remain unchanged
* No accidental source-message deletion
* Safe operation across all forwarding tasks

### Typical Use Cases

#### Temporary Promotions

Forward promotional campaigns and automatically remove them when the offer expires.

#### Countdown Messages

Send countdown updates and automatically remove outdated countdown posts.

#### Event Notifications

Forward event announcements and clean them up after the event has finished.

#### Trading Signals

Automatically delete expired signals after a configured period.

#### Auto-Clean Destination Channels

Keep destination channels organized by removing old content automatically.

### Benefits

* Keep destination chats clean and organized
* Automatically remove expired content
* Support advanced keyword-based retention policies
* Different deletion timers for different message types
* Reduce manual moderation work
* Safe source-message protection
* Fully configurable on a per-task basis

### Configuration Limits

| Setting                | Limit          |
| ---------------------- | -------------- |
| Maximum Keyword Rules  | 20             |
| Keywords Per Rule      | 20             |
| Maximum Keyword Length | 120 Characters |
| Minimum Delete Delay   | 60 Seconds     |
| Maximum Delete Delay   | 30 Days        |

### Example Configuration

Default Delay:

* 24 Hours

Delete Unmatched:

* Enabled

Rule 1:

* Keywords: sale, promo
* Match Mode: Any
* Delete After: 30 Minutes

Rule 2:

* Keywords: event, countdown
* Match Mode: All
* Delete After: 10 Minutes

Results:

Message:

Flash sale starts now

→ Deleted after 30 minutes

Message:

Event countdown begins

→ Deleted after 10 minutes

Message:

Daily market update

→ Deleted after 24 hours

Short Marketplace Description

Automatically delete forwarded messages after a configurable delay. Create keyword-based retention rules, target specific content types, and keep destination chats clean without affecting source messages.


# Outbound Webhooks

Send real-time webhook notifications to your external systems whenever Auto Forward Telegram successfully forwards, edits, or deletes messages.

This addon allows you to integrate forwarding activities with your own applications, CRM systems, analytics platforms, automation workflows, monitoring tools, or custom business processes.

### How It Works

When a configured task successfully performs an action, Auto Forward Telegram sends an HTTPS POST request to your configured webhook endpoint.

Supported lifecycle events:

* New Message Forwarded
* Message Edited
* Message Deleted

Each webhook can be independently configured to receive only the events you need.

### Features

#### Real-Time Message Notifications

Receive webhook notifications immediately after messages are successfully forwarded.

Typical use cases:

* Store forwarded messages in your database
* Trigger automation workflows
* Update dashboards
* Send alerts to internal systems
* Synchronize content across platforms

***

#### Message Edit Events

Track when previously forwarded messages are updated.

When enabled, your webhook endpoint receives notifications whenever Auto Forward Telegram successfully edits a target message.

Examples:

* Maintain synchronized archives
* Update external content feeds
* Track message revision history
* Refresh cached content

***

#### Message Delete Events

Receive notifications when forwarded messages are deleted.

This is especially useful when combined with:

* Auto Delete Messages
* Manual deletion workflows
* Content expiration systems

Examples:

* Remove content from external databases
* Trigger cleanup workflows
* Update reporting systems
* Archive deleted message information

***

#### Multiple Webhook Endpoints

Each task can deliver events to multiple destinations.

Supported:

* Up to 3 webhook endpoints per task

Examples:

Endpoint 1:

* Internal CRM

Endpoint 2:

* Analytics Platform

Endpoint 3:

* Monitoring System

Each endpoint can have its own:

* Events
* Secret key
* Retry settings
* Timeout settings
* Payload configuration

***

#### Event Filtering

Choose which events each endpoint should receive.

Available events:

| Event           | Description                                   |
| --------------- | --------------------------------------------- |
| new\_message    | Triggered after a successful forward          |
| edit\_message   | Triggered after a successful message edit     |
| delete\_message | Triggered after a successful message deletion |

Example:

Webhook A:

* new\_message only

Webhook B:

* edit\_message + delete\_message

Webhook C:

* all events

***

#### Signed Webhook Requests

Protect your integrations using webhook signatures.

Each endpoint can define its own signing secret.

When configured:

* Every webhook request is cryptographically signed
* Your server can verify authenticity
* Prevents spoofed requests
* Improves security for production integrations

This is strongly recommended for all public-facing endpoints.

***

#### Selective Payload Data

Control which information is included in webhook payloads.

**Include Message Text**

Include forwarded message text or captions.

Useful for:

* Content synchronization
* Search indexing
* Analytics
* Archiving

**Include Source Information**

Include source chat information.

Useful for:

* Channel tracking
* Reporting
* Source attribution

**Include Target Information**

Include destination chat information.

Useful for:

* Delivery monitoring
* Multi-channel analytics
* Distribution reporting

***

#### Configurable Timeouts

Specify how long the system waits for your server to respond.

Supported range:

* Minimum: 1 second
* Maximum: 10 seconds

Recommended:

* 3–5 seconds

If your endpoint does not respond within the configured timeout, the request is considered failed.

***

#### Automatic Retry Handling

Failed webhook deliveries can be retried automatically.

Supported range:

* 0 to 3 retries

Example:

Max Retries:

* 2

Result:

* Initial attempt
* Retry #1
* Retry #2

This improves reliability during temporary outages or network issues.

### Typical Use Cases

#### CRM Integration

Send forwarding activity directly into your CRM system.

Examples:

* Lead tracking
* Customer communication logs
* Sales notifications

***

#### Analytics & Reporting

Track message delivery events inside your analytics platform.

Examples:

* Message volume reporting
* Source performance metrics
* Destination engagement tracking

***

#### Automation Platforms

Trigger workflows in:

* Zapier
* Make (Integromat)
* n8n
* Pipedream
* Custom automation systems

Examples:

* Create records automatically
* Send notifications
* Launch follow-up workflows

***

#### External Databases

Store forwarding activity in:

* MySQL
* PostgreSQL
* MongoDB
* Firebase
* Supabase

Examples:

* Message archiving
* Compliance logging
* Historical reporting

***

#### Monitoring & Alerting

Receive notifications whenever important forwarding activity occurs.

Examples:

* Slack alerts
* Discord notifications
* Internal monitoring systems
* Operations dashboards

### Security Recommendations

For production environments:

✓ Use HTTPS endpoints only

✓ Configure a signing secret

✓ Verify signatures before processing requests

✓ Keep timeout values reasonable

✓ Use retries for temporary failures

✓ Restrict endpoint access where possible

### Configuration Limits

| Setting                    | Limit        |
| -------------------------- | ------------ |
| Maximum Endpoints Per Task | 3            |
| Supported Events           | 3            |
| Timeout Range              | 1–10 Seconds |
| Maximum Retries            | 3            |
| Signing Secret             | Optional     |

### Example Configuration

Endpoint:

* <https://api.example.com/webhooks/telegram>

Events:

* new\_message
* edit\_message

Include Text:

* Enabled

Include Source:

* Enabled

Include Target:

* Enabled

Timeout:

* 5 seconds

Retries:

* 2

Signing Secret:

* configured

Result:

Whenever the task forwards or edits a message, a signed webhook request is sent to your endpoint with the selected event data.

### Benefits

* Integrate Auto Forward Telegram with any system
* Build real-time automations
* Receive message lifecycle notifications
* Synchronize external databases
* Improve monitoring and reporting
* Secure integrations with signed requests
* Configure independently for each forwarding task

Short Marketplace Description

Send signed HTTPS webhooks to your systems whenever messages are forwarded, edited, or deleted. Integrate Auto Forward Telegram with CRMs, databases, analytics platforms, and automation tools in real time.


# Config Backup & Restore

Protect your Auto Forward Telegram setup with automatic backups and one-click recovery.

Config Backup & Restore securely stores snapshots of your account configuration, allowing you to quickly recover from mistakes, device loss, account migration, accidental deletions, or failed configuration changes.

Your backups are stored securely on our servers with encrypted sensitive credentials.

### Why Use Config Backup & Restore?

Many users spend weeks or months building complex forwarding systems.

A single mistake can result in:

* Lost tasks
* Deleted filters
* Missing API keys
* Broken forwarding workflows
* Lost platform integrations
* Hours of manual reconfiguration

Config Backup & Restore provides a safety net that allows you to restore your setup within minutes.

### Features

#### Automatic Daily Backups

The system automatically creates configuration snapshots every day.

This ensures you always have recent recovery points available without any manual action.

Backups run automatically in the background and include your latest configuration changes.

Benefits:

* No manual exports required
* Continuous protection
* Always have recent restore points available

***

#### On-Change Protection Snapshots

Before potentially risky configuration changes, the system can automatically create a snapshot of your current setup.

Examples:

* Large task modifications
* Bulk task imports
* Filter restructuring
* Account changes
* Platform configuration updates

If something goes wrong, you can quickly roll back to the previous working configuration.

***

#### Preview Before Restore

Review backup details before restoring.

Preview information may include:

* Backup creation date
* Number of tasks
* Configured filters
* Connected accounts
* System settings
* Backup notes and metadata

This helps ensure you restore the correct version.

***

#### One-Click Restore

Restore a previous configuration snapshot with minimal effort.

Typical recovery scenarios:

* Accidental task deletion
* Misconfigured filters
* Broken automation workflows
* Lost settings after device changes
* Recovery from user mistakes

Instead of rebuilding everything manually, simply restore a previous snapshot.

***

#### Cross-Account Recovery

In special situations, administrators can assist with restoring backups to another account using a verified User ID.

Useful when:

* Migrating to a new account
* Recovering access after account loss
* Moving configurations between business accounts
* Disaster recovery situations

For security reasons, recovery requests may require account ownership verification.

***

#### Secure Credential Storage

Sensitive credentials are protected using encrypted server-side storage.

Protected data may include:

* API Keys
* Bot Tokens
* Platform Credentials
* Integration Secrets
* Automation Settings

Your backup data is never stored as plain text.

***

#### Server-Side Snapshots

Backups are stored securely on our infrastructure.

Benefits:

* No local storage required
* Accessible from any device
* Safe from device failures
* Available even after reinstalling the application

### What Gets Backed Up?

#### Forwarding Tasks

Includes:

* Task configurations
* Source chats
* Target chats
* Scheduling settings
* Filters
* Replace rules
* Delay settings
* Advanced task options

***

#### Filters & Rules

Includes:

* Keyword filters
* Blacklists
* Whitelists
* Message processing rules
* Content filtering settings

***

#### API Keys & Integrations

Includes:

* Connected service credentials
* External API configurations
* Integration settings
* Authentication parameters

Sensitive information is stored securely using encryption.

***

#### Platform Accounts

Includes:

* Connected Telegram accounts
* Platform configuration data
* Associated automation settings

***

#### Bot & Application Settings

Includes:

* Global settings
* User preferences
* Notification settings
* Feature configurations
* Addon configurations

### Typical Use Cases

#### Accidental Task Deletion

A forwarding task was deleted by mistake.

Solution:

Restore the latest backup and recover the deleted configuration.

***

#### Failed Configuration Changes

A large configuration update causes forwarding issues.

Solution:

Restore the last known working snapshot.

***

#### Device Replacement

You move to a new device and want all settings restored.

Solution:

Restore your backup and continue working immediately.

***

#### Business Continuity

Protect important client automation setups.

Solution:

Maintain automated backups and restore quickly if problems occur.

***

#### Account Migration

Move your configuration to another account with administrator assistance.

Solution:

Request a verified cross-account recovery.

### Security

Config Backup & Restore is designed with security in mind.

Security measures include:

✓ Encrypted storage for sensitive credentials

✓ Secure server-side backup management

✓ Restricted recovery procedures

✓ Account ownership verification for assisted migrations

✓ Protection against accidental configuration loss

### Benefits

* Never lose your configuration again
* Automatic daily protection
* Fast recovery after mistakes
* Safe rollback for risky changes
* Secure storage of sensitive settings
* Restore complex setups in minutes
* Cross-account recovery support
* Peace of mind for business-critical automations

### Frequently Asked Questions

#### Do I need to create backups manually?

No. Backups are created automatically.

***

#### Are my API keys included?

Yes. Sensitive credentials are backed up securely using encrypted storage.

***

#### Can I restore an older version?

Yes. Available snapshots can be reviewed and restored individually.

***

#### Can I move my configuration to another account?

Yes. Administrator-assisted recovery is available for verified account owners.

***

#### Does restoring overwrite my current configuration?

Yes. Restoring a backup replaces the current configuration with the selected snapshot. We recommend reviewing the backup preview before proceeding.

### Summary

Config Backup & Restore protects your Auto Forward Telegram environment by automatically creating secure configuration snapshots and providing fast recovery when problems occur.

Whether you’re running a few forwarding tasks or a large-scale automation setup, this addon ensures your work is always protected.

Short Marketplace Description

Automatically back up and restore your Auto Forward Telegram configuration. Protect tasks, filters, API keys, platform accounts, and settings with secure encrypted snapshots and one-click recovery.


# Keyword Reply Threads

Keyword Reply Threads keeps forwarded trading signals and their updates organized in one Telegram reply thread.

When a new trade signal is detected, it is forwarded normally to your target chat. Later updates for that trade are forwarded as replies to the original signal, making them easy to follow.

### Example

Your source channel sends:

> Gold Sell Now 3994

This message is forwarded to your target chat as a normal message and becomes the main message for this trade.

Later, the source sends:

> Stop loss moved to entry\
> Running profit: 30 pips

These updates are forwarded as replies to the original “Gold Sell Now 3994” message.

When the source sends:

> All target complete done

This message is also forwarded as a reply, then the trade thread is closed.

### How to set it up

1. Open the Auto Forward app.
2. Select the forwarding task you want to set up.
3. At section **Addons**.
4. Choose **Keyword Reply Threads**.
5. Follow the setup questions.

### Settings explained

#### Start keywords

These words or phrases identify a new trade signal and open a reply thread.

Example:

`sell now|buy now`

Any source message containing “sell now” or “buy now” can start a new thread.

#### Close keywords

These words or phrases close the current trade thread after the message is forwarded.

Example:

`done|target complete|all target complete`

#### Max reply messages

This sets how many later messages can be attached to a trade thread.

* Enter `10` to allow up to 10 updates.
* Enter `0` for no message limit.

#### Time limit

This sets how long a thread stays active before it closes automatically.

Recommended setting:

`24`

This means the thread remains active for 24 hours.

#### Max active trades

This controls how many trade threads can be open at the same time.

For most users, use:

`1`

Use `2` or more only when your source provider sends updates as replies to the original trade signal, or to a message already inside that trade’s reply chain.

### Recommended first setup

* Start keywords: `sell now|buy now`
* Close keywords: `done|target complete|all target complete`
* Max reply messages: `10`
* Time limit: `24` hours
* Max active trades: `1`

### Important note for multiple trades

If more than one trade is active, the system needs the source reply structure to identify which update belongs to which trade.

For example:

1. Source sends: `Gold Sell Now 3994`
2. Source sends: `Gold Buy Now 3996`
3. An update replying to the Sell signal will be forwarded as a reply to the Sell thread.
4. An update replying to the Buy signal will be forwarded as a reply to the Buy thread.

If the source sends a normal message that does not reply to either trade, the system will not guess which thread it belongs to. This prevents updates from being attached to the wrong trade.

### Before and after

Before using Keyword Reply Threads, forwarded updates appear as separate messages and can be difficult to follow.

After configuring the addon, updates are grouped as replies under the correct forwarded trade signal—when the source reply chain identifies that trade.


# Replace Content

Automatically modify message content before it’s forwarded using text or regex-based replacements.

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

### **Overview**

The Replace feature allows you to automatically modify the content of forwarded messages before they are sent to the target.

This is useful when you want to:

* Remove or change sensitive words
* Replace referral links
* Customize hashtags, usernames, or any patterns

With the replace feature, you can define rules to substitute specific text within messages.

{% hint style="warning" %}
This feature will not work if you enable "**Show Header Forwarder**" in task list
{% endhint %}

## **1. Accessing the Replace Feature**

#### **On Mobile App**

1. Open the [Auto Forward mobile app](/mobile-app/how-to-download-app-for-mobile).
2. Go to the **Dashboard**.
3. Tap on the **Replace** icon (highlighted below).

<div align="left"><figure><img src="/files/lq77AwZDU35VpQfRqxfp" alt="" width="375"><figcaption></figcaption></figure></div>

**On Web Dashboard**

1. Log in to the [Auto Forward Web](https://web.autoforwardtelegram.com/) Dashboard.
2. In the left-hand menu under **Features**, click on **Replace**.

<div align="left"><figure><img src="/files/LMDzE1xxD90WttP11M1f" alt="" width="375"><figcaption></figcaption></figure></div>

Next Tap on the **Add New** button (as shown in the image below):

<div align="left"><figure><img src="/files/F0LVUiE9zHJpJoNS2ua5" alt="" width="375"><figcaption></figcaption></figure></div>

## **2. Create Replace Rule**

The **Create Replace** feature allows you to define rules to modify message content before forwarding. It supports various replace types, including **Basic**, **Regex**, and advanced options for removing or keeping specific lines.

<figure><img src="/files/bQnHpVRwlt1rMdxYobM2" alt=""><figcaption></figcaption></figure>

***

### **1. Replace Options**

When creating a replace rule, you can choose a **Replace Type** from the dropdown menu:

| Replace Type                             | Description                                                                                          |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Basic**                                | Replace specific words or phrases.                                                                   |
| **Use Regex**                            | Use Regular Expressions (Regex) for advanced replacements.                                           |
| **Remove Empty Lines**                   | Automatically remove all empty lines.                                                                |
| **Remove Lines By Keywords**             | Remove lines containing specific keywords.                                                           |
| **Remove Lines By Line Number**          | Remove lines based on their line numbers.                                                            |
| **Replace Power**                        | A powerful feature that combines multiple syntaxes and supports Regex to remove or replace keywords. |
| **Keep The Line Containing The Keyword** | Only keep lines containing specific keywords.                                                        |

***

### **2. Creating a Replace Rule**

Follow these steps to create a replace rule:

#### **Step 1: Choose Replace Type**

1. In the **Replace Type** dropdown, select the desired type (e.g., Basic, Use Regex, Remove Empty Lines).

**Example**:

* For simple word replacement, select **Basic**.
* For advanced patterns, select **Use Regex**.

***

#### **Step 2: Fill in Replace Details**

1. **Label** (*Required*):

   * Enter a name for your replace rule. The label must meet the following guidelines:
     * <mark style="color:orange;">**Length**</mark><mark style="color:orange;">: Less than</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**20 characters**</mark><mark style="color:orange;">.</mark>
     * <mark style="color:orange;">**Characters**</mark><mark style="color:orange;">: Only letters (</mark><mark style="color:orange;">**a-z**</mark><mark style="color:orange;">), numbers (</mark><mark style="color:orange;">**0-9**</mark><mark style="color:orange;">), hyphens (</mark><mark style="color:orange;">**-**</mark><mark style="color:orange;">), and underscores (</mark><mark style="color:orange;">**\_**</mark><mark style="color:orange;">).</mark>
     * <mark style="color:orange;">**Case-Insensitive**</mark><mark style="color:orange;">:</mark> <mark style="color:orange;"></mark><mark style="color:orange;">`example`</mark> <mark style="color:orange;"></mark><mark style="color:orange;">and</mark> <mark style="color:orange;"></mark><mark style="color:orange;">`Example`</mark> <mark style="color:orange;"></mark><mark style="color:orange;">are treated the same.</mark>
     * <mark style="color:orange;">**No Whitespace**</mark><mark style="color:orange;">: Spaces are not allowed.</mark>

   **Examples of valid labels**:

   * <mark style="color:green;">`replace_rule_1`</mark>
   * <mark style="color:green;">`clean-text`</mark>
   * <mark style="color:green;">`filter2024`</mark>
2. **Full Content Original** (*Optional*):
   * Paste the full message content to preview or test matches.
3. **Original Words** (*Required*):
   * Insert the exact word, phrase, or regex pattern you want to replace.
4. **New Words Replace** (*Required*):
   * Insert the new text to replace the original content.
5. **(Optional) Apply For Task**:
   * Specify the task or forward rule this replace rule will apply to (leave blank for all tasks).

***

#### **Step 3: Save the Rule**

1. Click **Create Replace** to save the rule.
2. The rule will now be listed under the **Replace** section.

***

## **3. Replace Type**

### **Basic Replace**

Replace simple words or phrases with new content.

| **Use Case**                 | **Original Text** | **New Text**    | **Result**                    |
| ---------------------------- | ----------------- | --------------- | ----------------------------- |
| Replace "black" with "white" | `black`           | `white`         | `I like white.`               |
| Remove the word "do not"     | `do not`          | *(Leave blank)* | `I like black.`               |
| Replace "under the moon"     | `under the moon`  | `on the sun`    | `Sometimes I lay on the sun.` |

**Steps to Use in App**:

<figure><img src="/files/RThZBFb9gkHk8lIFn1cJ" alt=""><figcaption></figcaption></figure>

1. Select **Basic** as the Replace Type.
2. Enter:
   * **Original Words**: Text to be replaced (e.g., "black").
   * **New Words Replace**: Replacement text (e.g., "white").
3. Save the rule.

{% embed url="<https://youtu.be/xTfVslgt3Ig>" %}

### **Regex Replace**

The **Regex Replace** feature allows you to perform advanced message replacements using **Regular Expressions (Regex)**. Regex is a powerful tool for matching and manipulating text patterns in messages, making it ideal for complex tasks like removing URLs, mentions, or specific patterns.

Using **Regex Replace** requires a basic understanding of **Regular Expressions (Regex)**. If you are not familiar with Regex, it’s recommended to:

* Start with simpler replacements using **Basic Replace**.
* Learn basic Regex patterns for common use cases.

***

<figure><img src="/files/g7CLsle164Ka2bP5B5uC" alt=""><figcaption></figcaption></figure>

***

#### **Tips for Users**

* Use **Basic Replace** for simple word or phrase replacements.
* Use **Regex Replace** for advanced patterns like URLs, mentions, or multi-line formatting.
* Test your Regex rules on sample messages to ensure accuracy.
* To **remove content**, leave the "New Words Replace" field blank.

***

### **Replace Power**

The **Replace Power** feature is an advanced tool that allows you to apply **multiple replacement rules** at once. You can combine both **Simple Replace** and **Regex Replace** to remove or replace complex patterns in a single operation.

#### **Key Features of Replace Power**

1. Apply multiple replacement rules simultaneously.
2. Support for **Simple Replace** (basic words/phrases).
3. Use **Regex** for advanced text modifications.
4. Each syntax rule corresponds to one line.

Replace Power allows you to add **multiple replacement rules**.&#x20;

**For example:**

1. **Rule 1** (Simple Mode):
   * **Original Words** = `2+1=3` → **Replace Words** = 2+2=4
2. **Rule 2** (Regex Mode):
   * **Original Words** = `(@|www|https?)\S+` → **Replace Words** = `@Auto_Forward_Messages_Bot`
3. **Rule 3** (Simple Mode):
   * **Original Words** = `url:tag` → **Replace Words** = `customer`

<figure><img src="/files/EOGjLbkRw42uaZPAAWEP" alt=""><figcaption></figcaption></figure>

***

### **Using Shortcodes in Replace Features**

Shortcodes allow you to dynamically insert message details like sender names, message IDs, and original text when creating replacement rules. These shortcodes can be used across all **Replace Types**, including **Basic**, **Regex**, and **Replace Power**.

Shortcodes can be used in the following **Replace Types**:

| **Replace Type**  | **Description**                                                               |
| ----------------- | ----------------------------------------------------------------------------- |
| **Basic**         | Replace simple words or phrases with static or shortcode values.              |
| **Use Regex**     | Use Regular Expressions (Regex) combined with shortcodes for dynamic results. |
| **Replace Power** | Apply multiple replacement rules with shortcodes in a single operation.       |

***

### ShortCode Guide

✅ **`Original_WORD`** is the word or phrase in the source message that you want to replace.\
You can use the following ShortCodes:

* `[[FULL_MESSAGE]]`: Extracts the full content of the message, including text, media, and other types
* `[[FULL_TEXT]]`: Extracts only the text content from the original message

***

✅ **`NEW_WORD`** is the value that will replace the original word. You can combine it with these ShortCodes:

🔹 Message & Sender Info

| ShortCode                | Description                                                           |
| ------------------------ | --------------------------------------------------------------------- |
| `[[ORIGIN_USERNAME]]`    | Username of the original sender                                       |
| `[[ORIGIN_USERID]]`      | Telegram user ID of the original sender                               |
| `[[ORIGIN_TEXT]]`        | The original message text                                             |
| `[[ORIGIN_NAME]]`        | Full name of the original sender or name of the original channel      |
| `[[ORIGIN_POST_ID]]`     | Post ID of the original message                                       |
| `[[ORIGIN_CHAT_ID]]`     | Chat ID of the original message                                       |
| `[[ORIGIN_QUOTED_TEXT]]` | Quoted text from the original post                                    |
| `[[ORIGIN_NAME_URL]]`    | A clickable link to the original sender or channel                    |
| `[[FROM_USER]]`          | Username of the user who forwarded the message                        |
| `[[SOURCE_NAME]]`        | Name of the original source or channel the message was forwarded from |
| `[[SENDER_CHAT]]`        | Display name of the sender                                            |
| `[[FORWARD_FROM_CHAT]]`  | Original chat or channel name if the message was forwarded            |

🔹 Current Time Info

| ShortCode               | Description                |
| ----------------------- | -------------------------- |
| `[[CURRENT_TIME]]`      | Current time (HH:MM:SS)    |
| `[[CURRENT_DATE]]`      | Current date (DD/MM/YYYY)  |
| `[[CURRENT_DATETIME]]`  | Full current date and time |
| `[[CURRENT_TIMESTAMP]]` | Current Unix timestamp     |

🔹 Original Post Timestamps

| ShortCode                        | Description                             |
| -------------------------------- | --------------------------------------- |
| `[[ORIGIN_POST_TIME]]`           | Time (only) of the original post        |
| `[[ORIGIN_POST_DATE_FORMATTED]]` | Formatted date of the original post     |
| `[[ORIGIN_POST_DATETIME]]`       | Full date and time of the original post |

🔹 Sender Personal Info

| ShortCode               | Description                         |
| ----------------------- | ----------------------------------- |
| `[[ORIGIN_FIRST_NAME]]` | First name of the original sender   |
| `[[ORIGIN_LAST_NAME]]`  | Last name of the original sender    |
| `[[ORIGIN_PHONE]]`      | Phone number of the sender (if any) |

🔹 Media & File Info

| ShortCode        | Description                            |
| ---------------- | -------------------------------------- |
| `[[MEDIA_TYPE]]` | Media type (photo, video, document...) |
| `[[FILE_SIZE]]`  | Formatted file size                    |
| `[[FILE_NAME]]`  | Name of the attached file              |

🔹 Chat Info

| ShortCode                | Description                              |
| ------------------------ | ---------------------------------------- |
| `[[CHAT_TYPE]]`          | Type of chat: PRIVATE, GROUP, CHANNEL... |
| `[[MESSAGE_LINK]]`       | Direct link to the message               |
| `[[CHAT_USERNAME]]`      | Username of the chat                     |
| `[[CHAT_MEMBERS_COUNT]]` | Number of members in the chat            |

🔹 Message Content Metadata

| ShortCode         | Description                     |
| ----------------- | ------------------------------- |
| `[[WORD_COUNT]]`  | Total word count in the message |
| `[[CHAR_COUNT]]`  | Total character count           |
| `[[LINE_COUNT]]`  | Total line count                |
| `[[TEXT_LENGTH]]` | Length of the text              |
| `[[HASHTAGS]]`    | All hashtags in the message     |
| `[[MENTIONS]]`    | All mentions (@username)        |
| `[[URLS]]`        | All URLs in the message         |

🔹 Engagement Stats

| ShortCode             | Description                               |
| --------------------- | ----------------------------------------- |
| `[[VIEW_COUNT]]`      | Number of views (for channel posts)       |
| `[[FORWARD_COUNT]]`   | Number of times the message was forwarded |
| `[[REACTIONS_COUNT]]` | Number of emoji reactions                 |

🔹 Other Utilities

| ShortCode                 | Description                                   |
| ------------------------- | --------------------------------------------- |
| `[[RANDOM_EMOJI]]`        | A random emoji from the system collection     |
| `[[RANDOM_NUMBER]]`       | Random number between 1 and 1000              |
| `[[MESSAGE_ID]]`          | ID of the current message                     |
| `[[REPLY_TO_MESSAGE_ID]]` | ID of the replied message                     |
| `[[IS_FORWARD]]`          | Whether the message is a forward (true/false) |
| `[[IS_REPLY]]`            | Whether the message is a reply (true/false)   |
| `[[HAS_MEDIA]]`           | Whether the message contains media            |

***

📌 **Note**: ShortCodes will be dynamically replaced during processing.\
You can mix multiple ShortCodes in `NEW_WORD` for advanced customization.

#### **Examples for Using Shortcodes**

#### **Example 1: Replace Full Message Content**

**Replace Type**: **Basic**

* **Original Words**: `[[FULL_TEXT]]`
* **New Words Replace**: `Hello! This message was forwarded by [[SOURCE_NAME]].`

**Original Message**:

```yaml
Important announcement: Meeting tomorrow at 10 AM.
```

**Result**:

```csharp
Hello! This message was forwarded by Channel_Name.
```

***

#### **Example 2: Add Sender Information Using Shortcodes**

**Replace Type**: **Basic**

* **Original Words**: `Hi`
* **New Words Replace**: `Hi - Sent by [[ORIGIN_NAME]] ([[ORIGIN_USERID]])`

**Original Message**:

**Original Message**:

```yaml
Hi
```

**Result**:

```csharp
Hi - Sent by John Doe (12345678)
```

***

### **Remove Lines Without Keywords Using Replace**

The **Remove Lines Without Keywords** feature allows you to keep specific lines from a message that contain certain **keywords**. Any line **without the keywords** will be removed from the final result. This feature is especially useful for filtering message content to keep only relevant information.

#### **How It Works**

* You specify one or more **keywords**.
* The feature will **scan each line** of the message.
* **Only lines containing the keywords** will be kept.

#### **Steps to Use the Feature in the App**

1. Choose  **Keep Lines with Keywords** as your Replace Type.
2. Configure the rule:
   * **Enter Keyword**
   * Tap **+ New Keyword** to add multiple keywords.
   * **Example Keywords**:
     * `BUY`
     * `Take`
     * `Profit`
     * `risk size`
3. Tap **Save** to apply the rule.

#### **Example Scenario**

<figure><img src="/files/BVSkpoVHT3KpwmcU8Zp0" alt=""><figcaption></figcaption></figure>

#### **Original Message**

```yaml
24/11/23 | Market Execution  

Notes:  

📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit  3 at 2026  
•APPROPRIATE risk size 1%  
```

***

#### **Replace Configuration**

* **Keywords**: `BUY,Take Profit,risk size`
* **New Words Replace**: `KEEP`

***

#### **Final Result**

Only lines containing the specified keywords (`BUY`, `Take Profit`, or `risk size`) will be kept:

```yaml
📉BUY limit XAUUSD at 1994  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

***

### **Remove Lines by Keyword Using Replace**

The **Remove Lines by Keyword** feature allows you to **remove lines** from a message if they contain one or more specific **keywords**. This feature helps you filter out irrelevant or unwanted lines while keeping the rest of the content intact.

#### **How It Works**

* You provide **keywords** to match lines in the message.
* If a line contains any of the specified keywords, it will be **removed** from the final output.

**Steps to Use the Feature**

* Enter the keywords that will be used to identify and remove lines containing them.
* Tap **+ New Keyword** to add multiple keywords.
* **Example Keywords**:
  * `Market`
  * `Notes`
  * `risk size`

#### **Example Scenario**

<figure><img src="/files/5ANlugbesbJ6wpTsE6iM" alt=""><figcaption></figcaption></figure>

#### **Original Message**

```yaml
24/11/23 | Market Execution  

Notes:  

📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

#### **Keywords**:

* `Market`
* `Notes`
* `risk size`

#### **Result After Applying the Rule**

Lines containing the keywords **"Market"**, **"Notes"**, and **"risk size"** will be removed:

```yaml
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit  3 at 2026  
```

***

### **Remove Empty Lines Using Replace**

The **Remove Empty Lines** feature allows you to clean up messages by removing all blank or empty lines. This ensures your forwarded content is clean and well-formatted.

<figure><img src="/files/2gPD8CuwW6cNNLCPiFV6" alt=""><figcaption></figcaption></figure>

#### **Example Scenario**

#### **Original Message**

```yaml
24/11/23 | Market Execution  

Notes:  

📉BUY limit XAUUSD at 1994  

Stop Loss 1990  

Take Profit 1 at 2000  

Take Profit 2 at 2006  

Take Profit 3 at 2026  

•APPROPRIATE risk size 1%  
```

#### **After Applying the Rule**

All empty lines are removed, and the content becomes:

```yaml
24/11/23 | Market Execution  
Notes:  
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

***

### **Remove Lines By Line Number Using Replace**

The **Remove Lines By Line Number** feature allows you to specify which lines in a message should be removed based on their line order. This is particularly useful when you need to clean up messages by eliminating unnecessary lines.

In the **Replace Type** dropdown menu, select **Remove Lines By Line Number**.

<figure><img src="/files/vJexhAsfqNAoHNuCcTYr" alt=""><figcaption></figcaption></figure>

**Configure the Rule**

* **Label**:
  * Enter a descriptive name for your rule.
  * Example: `remove_line_2_5`.
* **Line Order**:
  * Enter the specific line numbers you want to remove.
  * Use commas (`,`) to separate multiple line numbers.
  * Example: `1,3,5` (to remove lines 1, 3, and 5).
* **Optional: Apply For Task**:
  * Select a specific task to apply this rule.

#### **Example Scenario**

#### **Original Message**

```yaml
24/11/23 | Market Execution  
Notes:  
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

#### **Remove Lines**: 2, 5

* **Label**: `remove_line_2_5`
* **Line Order**: `2,5`

***

#### **Result After Applying the Rule**

Lines 2 and 5 are removed from the message:

```yaml
24/11/23 | Market Execution  
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

## **4.** Apply/Disable Replace For a Task

The **Replace** feature allows you to apply or disable specific replacement rules for tasks. This guide will show you how to manage Replace rules, enabling them for individual tasks or across all tasks.

#### **Step 1: Access the Replace List**

1. From the **Dashboard**, select the **Replace** feature.
2. You will see a list of all previously created **Replace rules**.

<figure><img src="/files/LhQa0mCW5KVuJv3ud4oT" alt=""><figcaption></figcaption></figure>

***

#### **Step 2: Select a Replace Rule**

1. Locate the Replace rule you want to manage.
2. Tap or click on the rule.

   A **popup window** will appear, showing details of the selected Replace rule (as seen in the second image).

<figure><img src="/files/5HV0vISAAA2qkkQ3AR1o" alt=""><figcaption></figcaption></figure>

***

#### **Step 3: Manage the Replace Rule for Tasks**

In the popup window, you will see the following options:

1. **Activate/Deactivate For Task** (Green Button)
   * Use this option to enable or disable the Replace rule for a specific task.
   * If the Replace rule is already active for the task, clicking this will **deactivate** it.
   * If the Replace rule is inactive, clicking this will **activate** it.

***

2. **Apply For All Tasks** (Blue Button)
   * This option allows you to apply the Replace rule to **all existing tasks**.
   * Use this feature when you want the Replace rule to take effect globally across all your tasks.

***

3. **Edit Replace** (Orange Button)
   * Tap this option to **edit the Replace rule**.
   * You can update the label, Replace syntax, or any other details of the rule as needed.

***

4. **Delete** (Red Button)
   * Use this option to **delete** the Replace rule permanently.
   * Be cautious, as this action cannot be undone.

## 5. Example

### **1. Replace "good" or "perfect" with "bad" use Regex**

**Use Case**: Replace the words "good" or "perfect" with "bad".

**Input**:

* **Original Words**: `(good|perfect)`
* **New Words Replace**: `bad`

**Example Message**:

```
This is a good day, everything is perfect.
```

**Result**:

```
This is a bad day, everything is bad.
```

***

### **2. Replace URLs or mentions with a fixed text use Regex**

**Use Case**: Replace all URLs or mentions (e.g., `@username` or `https://example.com`) with "@Auto\_Forward\_Messages\_Bot".

**Input**:

* **Original Words**: `(@|www|https?)\S+`
* **New Words Replace**: @Auto\_Forward\_Messages\_Bot

**Example Message**:

```
Visit https://example.com or contact @username for more info.
```

**Result**:

```
Visit @Auto_Forward_Messages_Bot or contact @Auto_Forward_Messages_Bot for more info.
```

***

### **3. Remove unnecessary phrases and keep core content use Regex**

**Use Case**: Remove unwanted phrases like "✉️TPA trading report" and "The monitoring will be continued".

**Input**:

* **Original Words**: `(?:.*)(BUY|SELL)(.*)\n(?:.*)`
* **New Words Replace**: `\1\2`

**Example Message**:

```
✉️TPA trading report:
TPA: Entry BUY  UUDCHF M30 at 2023.06.16 15:30
The monitoring will be continued.
```

**Result**:

```
BUY  UUDCHF M30 at 2023.06.16 15:30
```

***

### **4. Replace "Take profit" with "TP" Use Regex**

**Use Case**: Replace "Take profit (1|2|3) at" with "TP".

**Input**:

* **Original Words**: ^(Take\&#x73;*profit\s*\d(?:➡️|👉)at)
* **New Words Replace**: `TP`

**Example Message**:

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
Take profit 1👉at 1955.35 
Take profit 2👉at 1938.94 
Take profit 3👉at 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

**Result**:

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
TP 1955.35 
TP 1938.94 
TP 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

***

### **5. Reformat content for better readability Use Regex**

**Use Case**: Reformat reports with a new structure.

**Input**:

* **Original Words**: (?:.*#)(.*)\s+(?:.*Long.*,\s+(\w+)(?:.*))\n+(?:Entry.*)\s+(\d+.?\d+)\s+(?:SL.*-)(?:.*)\s+(\d+-\d+)(?:%)\n+(?:.*:)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.\*)
* **New Words Replace**: \1 Binance futures\nLEVERAGE CROSS \2\nBUY \3\nSELL: \5 \6 \7 \8\nSTOP: \4%

**Example Message**:

```
🔥 #RDNT/USDT (Long📈, x20) 🔥

Entry - 0.2483
SL - 25-30%

Take-Profit:
🥇 0.2534 (40% of profit)
🥈 0.256 (60% of profit)
🥉 0.2586 (80% of profit)
🚀 0.2614 (100% of profit)
```

**Result**:

```
RDNTUSDT Binance futures
LEVERAGE CROSS 20X
BUY   0.2483
SELL: 0.2534 0.256 0.2586 0.2614
STOP: 25%
```

### How to Replace Premium Telegram Icons (Custom Emoji ID)

Some messages use Telegram Premium emojis (custom icons), which can’t be replaced by typing the emoji directly (e.g., 💎 or 🔥).

To replace them, you need to use their internal emoji ID.

🧭 Step-by-Step Guide

**✅ Step 1: Forward the Message to**&#x20;

[**@FindMyIDs\_Bot**](https://t.me/FindMyIDs_Bot)

1. Go to the message that contains the premium emoji/icon.
2. Tap Forward → Send it to [@FindMyIDs\_Bot](https://t.me/FindMyIDs_Bot)
3. The bot will return the raw HTML content, including emoji codes.

📸 Example:

<figure><img src="/files/Ejzq74i4H3HP3J4qSG9O" alt=""><figcaption></figcaption></figure>

**✅ Step 2: Copy the**&#x20;

**\<emoji id="...">**

&#x20;**Code**

* Look for the \<emoji id="XXXXXXXXXXXX"> tag in the HTML.
* This ID is unique to each premium icon.

📌 Example:

{% code overflow="wrap" %}

```
<emoji id="5023937015519904880">🟣</emoji>
```

{% endcode %}

**✅ Step 3: Add to Replace Rules**

In your task settings:

1. Go to Replace
2. In the Original Words field, paste the emoji ID in this format:

{% code overflow="wrap" %}

```
<emoji id="5023937015519904880">🟣</emoji>
```

{% endcode %}

3. In the New Words field, enter:
   * A new emoji (e.g., 🔥)

     To get emoji. Pls forward content contain new emoji to bot  [**@FindMyIDs\_Bot**](https://t.me/FindMyIDs_Bot)&#x20;

     **Example:**

     <figure><img src="/files/6ik6EZhQ7NfnuVK1ubg0" alt=""><figcaption></figcaption></figure>
   * Text (\[REPLACED])
   * Leave empty to remove the icon entirely
4. Next please complete the replace information and click **Save**

<figure><img src="/files/Pq6q791c7ajTNLMG0Lrk" alt="Example"><figcaption></figcaption></figure>

### How to Detect & Remove Hidden Links, Tags, and Mentions in Forwarded Messages

Forwarded Telegram messages often include **@mentions** and **clickable links** that appear as plain text — but are actually embedded with hidden tags.

These tags can direct users to other channels, bots, or promotional links — without being visibly obvious.

To remove them safely, you need to inspect the message’s HTML content and set up a Replace rule.

#### 🧭 Step-by-Step Guide

**✅ Step 1: Forward the Message to**&#x20;

[**@FindMyIDs\_Bot**](https://t.me/FindMyIDs_Bot)

1. Go to the message you suspect contains hidden content.
2. Tap Forward → Send it to [@FindMyIDs\_Bot](https://t.me/FindMyIDs_Bot)
3. The bot will return the full HTML structure of the message.

📸 Example Response:

<figure><img src="/files/U4HqdeplT4rjjIAM1OKz" alt=""><figcaption></figcaption></figure>

#### 📌 Example

Here’s what looks like a normal message:

> @Zen\_call made a x5+ call on bichi.

But in reality, the word bichi is a clickable link, and @Zen\_call is a mention tag.

📸 HTML Extracted via Bot:

{% code overflow="wrap" %}

```
@Zen_call made a x5+ call on <a href="https://t.me/spydefi_bot?...">bichi</a>
```

{% endcode %}

4. Copy the full HTML that includes all \<a href> tags and mentions

**A.  Change Mentions (e.g. @Zen\_call)**

* Original Words: @Zen\_call
* New Words: @Auto\_Forward\_Messages\_Bot

**B. Remove All Mentions (e.g. @Zen\_call)**

* Original Words: @Zen\_call
* New Words: EMPTY

<figure><img src="/files/fHYufyjV3dSIQt4WpnuG" alt=""><figcaption></figcaption></figure>

**C. Change a Specific Hidden Link (e.g. bichi)**

* **Original Words:**

{% code overflow="wrap" %}

```
<a href="https://t.me/spydefi_bot?start=AkuXKTbE8rnYCdpnW8eE1xtKfKfQ3uhwXS3dk9cbpum">bichi</a>
```

{% endcode %}

* **New Words:**&#x20;

{% code overflow="wrap" %}

```
<a href="https://t.me/Auto_Forward_Messages_Bot">Auto Forward Messages</a>
```

{% endcode %}

**D. Remove a Specific Hidden Link (e.g. bichi)**

* **Original Words:**

{% code overflow="wrap" %}

```
<a href="https://t.me/spydefi_bot?start=AkuXKTbE8rnYCdpnW8eE1xtKfKfQ3uhwXS3dk9cbpum">bichi</a>
```

{% endcode %}

* **New Words:** EMPTY

<figure><img src="/files/gFYAyZzTWKJfTcFVdMG5" alt=""><figcaption></figcaption></figure>

Next please complete the replace information and click **Save**


# Setup Sender For Task

The Sender Type defines which Telegram account or bot will be used to send messages for a specific task. You can choose between using your personal Telegram account or one or more Telegram bots.

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% embed url="<https://youtu.be/LP0ess1ddc4>" %}

#### 🧭 Sender Type Interface

When configuring the sender, you’ll be asked to choose:

* **Personal Telegram Account**

  Use your own Telegram account to send messages
* **Telegram Bot**

  Use a bot created via [@BotFather](https://t.me/BotFather) to send messages on your behalf.

***

## 🤖 Telegram Bot Options

### How to Create a Telegram Bot with BotFather

To use bots in your forwarding tasks, you must first create them through BotFather, the official Telegram bot management tool.

**📌 Steps to Create a Bot**

1. **Open BotFather**

   Visit [@BotFather](https://t.me/BotFather) on Telegram.

<figure><img src="/files/3icVq0PIQTabvSSWg0IA" alt="" width="238"><figcaption></figcaption></figure>

1. **Start the Bot**

   Click Start or type /start.
2. **Create a New Bot**

   Send the command:

```
/newbot
```

<figure><img src="/files/Q0WNKDphNUB5kX7ZhbUg" alt="" width="238"><figcaption></figcaption></figure>

3. Choose a Bot Name

   BotFather will ask you to enter a display name (e.g., My AutoForward Bot).
4. Set a Username

   Choose a unique username that ends with bot (e.g., my\_autoforward\_bot).\
   After that, choose a **unique username** that ends with **“bot”** (e.g., `myautofw1_bot`). Make sure the username isn’t already taken and doesn’t include any special characters.

<figure><img src="/files/EniLoAyyC7XZW33LHb6N" alt="" width="238"><figcaption></figcaption></figure>

3. Copy the Bot Token

After creation, BotFather will generate an API token.\
Copy it for the next step.

Once the bot is created, you’ll receive a token like this:

```
123456789:AAHkLmNnOOpPqQxYzZ_ExampleToken
```

<figure><img src="/files/qsZIudFQB36SP7cao8Is" alt="" width="238"><figcaption></figcaption></figure>

6. Save this token securely — you’ll need it to connect the bot in your system.

***

**✅ Next Steps**

<figure><img src="/files/jG0Bt3Xt9FsqsnZg0wN9" alt="" width="375"><figcaption></figcaption></figure>

* Go to **Settings** at Home App -> **Bot Management** in your app
* Click “+ Add New Bot”

<figure><img src="/files/CvWO4IOCtiz9zYLlcyAe" alt="" width="375"><figcaption></figcaption></figure>

* Paste the token
* **Save and verify the connection**

***

### ⚡ Config Sender Type

<figure><img src="/files/Rv4lK0jDyLqiC37Y3bal" alt="" width="375"><figcaption></figcaption></figure>

**The Sender Type determines which Telegram identity will be used to forward messages in this task.**

You can choose between two options:

#### 1️⃣ Personal Telegram Account

Use your own Telegram account (already logged in) to send messages.

✅ Best for:

* Fast and direct forwarding
* Tasks requiring access to private or restricted chats

⚠️ Note:

Your account must remain logged in and not restricted by Telegram. Avoid using this mode if you plan to automate at large scale, as Telegram limits user accounts more strictly than bots.

***

**2️⃣ Telegram Bot**

Use one or more Telegram bots to send messages instead of your personal account.

✅ Best for:

* High-volume or automated tasks
* Running multiple tasks in parallel

There are two modes for using bots:

* **Single Bot**: Use a single bot for all messages
* **Bot by Strategy**: Let the system choose from multiple bots based on strategy (e.g., Last Used, Round Robin, Random, Weighted)
  * **Last Used:** The same bot that sent the most recent message will be reused for the next one. Messages are grouped under a single bot until you manually reset or change tasks.
  * **Round Robin:** Bots take turns in a fixed sequence. The system cycles through the list, assigning the next message to the next bot. This ensures even usage across all bots over time.
  * **Random:** For each message sent to the target chat, the system randomly picks one bot from your list to send that individual message. This means each message may be sent by a different bot, offering highly distributed traffic with no fixed order.
  * **Weighted:** Bots are assigned weights (e.g., 50%, 30%, 20%), and the system distributes messages based on those percentages. Bots with higher weights are used more often, giving you flexible control over load distribution.

👉 You can configure bots in Bot Management

⚠️ Important:

All bots must:

* Be connected via token
* Be added to target groups/channels
* Be promoted to Admin with Send Messages permission

***

**📝 How to Switch Sender Type**

<figure><img src="/files/WFT1H2U3Fw52GY3EZIpY" alt="" width="357"><figcaption></figcaption></figure>

1. Tap on Sender Type
2. Select either Personal Telegram Account or Telegram Bot
3. Choose the specific bot or bot strategy (if applicable)
4. **Tap Save**

***

#### Final Thoughts

The **Sender Type** feature in Auto Forward for Telegram is at the heart of how your messages are delivered — offering you flexibility, control, and reliability.

* **Use Personal Telegram Account** if you’re managing a small number of tasks, want a hassle-free setup, or are sending to chats that don’t require admin rights. It’s quick, simple, and effective for lightweight use.
* **Choose Telegram Bot** if you’re aiming for long-term automation, higher reliability, or more privacy in how messages are sent. Bots can handle larger volumes, reduce the risk of restrictions, and help you stay anonymous — perfect when forwarding VIP, premium, etc. Whether you’re managing multiple chats or distributing tasks across teams, bots offer the control and scalability personal accounts can’t.
* **Choose Bot by Strategy** when you need all the benefits of Telegram bots — flexibility, scalability, anonymity, and risk reduction — plus intelligent rotation across multiple bots to balance message load and ensure smooth delivery under pressure. This advanced option is ideal for large-scale automation or high-traffic environments where performance and reliability are critical.


# AI Mode

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

AI Mode is a powerful feature in AutoForward that brings artificial intelligence into your message forwarding workflows. It allows you to enhance, modify, or extract useful content from messages using advanced AI models — before those messages are automatically forwarded to your target channels, groups, or chats.<br>

This mode introduces automation supercharged with intelligence:

* Rewriting messages for clarity, tone, or style
* Extracting text from images with OCR
* Configuring creativity and output length to match your needs<br>

AI Mode gives users more control and flexibility, helping to maintain message quality, relevance, and impact — especially when dealing with large-scale forwarding, marketing, or content repurposing.

### 🧠 When to Use AI Mode

AI Mode is best suited for users who need more than just raw message forwarding — it’s designed to *refine, enhance, or extract* valuable content automatically. Here are some ideal use cases:

#### ✅ Content Enhancement (Smart AI Rewrite)

* You want to rephrase or rewrite messages before forwarding them to make them more appealing or clearer.
* You’re forwarding content from external sources and want to remove branding or adjust the tone.
* You need to correct grammar or improve sentence structure for marketing, announcements, or auto-replies.

#### ✅ Extracting Text from Images (OCR Image AI)

* You’re forwarding screenshots, flyers, or visual content, and want to extract the text to reuse it or summarize it.
* You need searchable and editable text from images shared in Telegram groups or channels.
* You’re building an automated pipeline that reacts to text inside images (e.g., for alerts, data capture, summaries).

#### ✅ Maintaining Consistency

* You manage multiple channels and want to standardize message formats automatically.
* You want to filter or reword messages so they stay in line with your brand voice.

{% embed url="<https://www.youtube.com/watch?v=fs2mAcRsCBg>" %}


# AI Custom Server

### Overview

AI Custom Server allows users to connect their own AI providers, self-hosted AI servers, or API-compatible AI platforms directly into the system.

Instead of being limited to built-in AI services, users can:

* Add custom AI endpoints
* Connect personal API keys
* Use private or local AI models
* Select custom AI models
* Manage multiple AI providers in one place

This feature is designed for advanced users, automation systems, businesses, and AI power users who want full control over their AI infrastructure.

***

## Supported AI Providers

The system supports popular AI providers including:

* OpenAI
* Google
* DeepSeek
* Perplexity
* Groq

Users can also connect:

* OpenAI-compatible APIs
* Self-hosted LLM servers
* Local AI gateways
* Custom AI infrastructures

***

## Core Features

### 1. Connect Your Own AI API Key

Users can securely connect personal AI API keys directly to the platform.

#### Benefits

* Use your own AI quota
* Full control over billing
* Better privacy
* Access premium models
* Avoid shared rate limits

API keys are securely encrypted on the server side. &#x20;

***

### 2. Custom AI Endpoint Support

AI Custom Server supports custom API endpoints.

Users can connect:

* Self-hosted AI servers
* Local LLM deployments
* Reverse proxy AI endpoints
* OpenAI-compatible APIs

#### Example

```
https://your-ai-server.com/v1
```

This makes the system flexible for:

* Companies
* Developers
* AI enthusiasts
* Private infrastructures

***

## Multi-Model Support

Users can browse and select available AI models from connected servers.

#### Examples

* GPT-4o
* Llama 3
* DeepSeek
* Custom fine-tuned models
* OCR models

The system automatically syncs supported models from the connected endpoint when available. &#x20;

***

## AI Task Integration

AI Custom Server can be connected directly to automation tasks.

Supported capabilities include:

* AI message rewriting
* Summarization
* Translation
* OCR processing
* AI filtering
* AI formatting
* Caption generation

Each task can use:

* Different AI providers
* Different models
* Different prompts
* Different OCR settings

***

## OCR AI Support

The system also supports OCR-enabled AI workflows.

Users can:

* Extract text from images
* Process screenshots
* Read media captions
* Append OCR results automatically

OCR output modes include:

* Prepend to caption
* Append to caption
* Replace caption entirely

***

## Smart Model Catalog Sync

The system can automatically:

* Detect available models
* Refresh model catalogs
* Sync supported capabilities
* Update model availability

For unsupported endpoints, users can manually configure custom models. &#x20;

***

## Advanced Security & Validation

AI Custom Server includes:

* API key validation
* Duplicate key detection
* Ownership verification
* Secure encryption
* Unsafe endpoint protection

The platform also validates:

* Connected models
* Provider compatibility
* Endpoint readiness

***

## Flexible Infrastructure

This feature is ideal for users who want:

* Full AI control
* Better scalability
* Private AI infrastructure
* Lower AI costs
* Custom AI workflows
* Advanced automation systems

***

## Use Cases

### Telegram Automation

Use AI to rewrite, clean, translate, or summarize forwarded messages automatically.

### Private AI Infrastructure

Connect self-hosted AI servers for internal usage.

### AI-Powered OCR

Extract and process text from images automatically.

### Multi-Provider AI System

Manage multiple AI providers from one dashboard.

### Enterprise Automation

Integrate AI into advanced workflows and large-scale automation systems.

***

## Summary

AI Custom Server transforms the platform into a fully customizable AI automation ecosystem.

Key advantages:

* Connect your own AI servers
* Use personal API keys
* Support multiple AI providers
* Select custom AI models
* OCR integration
* Advanced task automation
* Secure and scalable infrastructure

This feature is built for users who need flexibility, performance, and complete control over their AI workflows.


# How to Get Your ChatGPT API Key?

To enable AI features like Smart AI Rewrite and OCR Image AI, you need a valid ChatGPT (OpenAI) API key. Follow these steps to get one:

#### ⚠️ You Must Set Up Billing First

Before you can actually use the key, OpenAI requires billing to be added—even if you’re just exploring or using free trial credits. Many users miss this step and wonder why their API key doesn’t work.

But don’t worry—**you can start with as little as $5** to test everything out safely.

#### How to Get ChatGPT API Key (Step-by-Step)

**🧩 Step 1: Create or Sign In to Your OpenAI Account**

1. Go to <https://auth.openai.com/log-in>
2. Click **Sign Up** to create a new account, or **Log In** if you already have one.
3. You can sign in with your Email, Phone, Google, Apple or Microsoft account.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-1-504x1024.webp" alt="how to get ChatGPT API key: Create or Sign In to Your OpenAI Account" width="375"><figcaption></figcaption></figure>

**📁 Step 2: Create a New Project (Organization)**

Before you can create an API key, you need to be inside a valid **Project** (or Organization).

1. After signing in, go to the [Click Here](https://platform.openai.com/settings/organization/projects)
2. If you see an existing project, you can use it. Otherwise, click `+Create`
3. Give it a name (e.g., “**project-1**“)
4. Click the `Create` button to save

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-4-504x1024.webp" alt="how to get ChatGPT API key: Create a New Project (Organization)" width="375"><figcaption></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-5-504x1024.webp" alt="How to get a ChatGPT API key: Step 1 – Create a new project in the OpenAI platform" width="375"><figcaption></figcaption></figure>

> 💡 Each project will have its own API keys and usage settings.

**🔑 Step 3: Access the API Key Dashboard**

After creating a project, navigate to: [Click Here](https://platform.openai.com/settings/organization/api-keys)

This is where all your API keys live. If you don’t have one yet, don’t worry—we’re about to create it.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-3-504x1024.webp" alt="Access the Dashboard" width="375"><figcaption></figcaption></figure>

**➕ Step 4: Create a New API Key**

1. Click the `+ Create new secret key` button in the top-right corner.
2. In the pop-up:

* **Name (Optional)**: Give your key a custom name (e.g., “**aimode-key**“)
* **Project**: Select the **project you just created in the previous step** from the dropdown menu
* **Permissions**: Select **All** to grant full access

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-8-504x1024.webp" alt="Required for API Key Use" width="375"><figcaption></figcaption></figure>

3. Click `Create secret key`
4. Your new API key will appear in a pop-up window

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-9-504x1024.webp" alt="New API key will appear in a pop-up window" width="375"><figcaption></figcaption></figure>

> ⚠️ **Copy it immediately.** You won’t be able to view it again later.

**Recommended storage options:**

* Password manager (e.g., 1Password, Kaspersky Password Manager, etc.)
* Internal secured note system

**💳 Step 5: Add Billing Information (Required for API Key Use) – How to Get ChatGPT API Key**

Even though you now have an API key, it **won’t work** until billing is added and activated.

Follow these steps:

1. Visit the billing page: [Click Here](https://platform.openai.com/account/billing)
2. Click **“**`Add to credit balance`**”**
3. Enter your credit or debit card details
4. Click “`continue`” and “`Confirm payment`“

💵 **Tip:** During this process, you can preload a small amount—**$5 is more than enough** to test the API comfortably.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-11-504x1024.webp" alt="Add Billing Information" width="375"><figcaption></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/12/how-to-get-chatgpt-api-key-12-504x1024.webp" alt="Add Your Billing Information to OpenAI Account" width="375"><figcaption></figcaption></figure>

**🚀 Step 6: Start Using Your API Key**

Now that your billing is active, you can use your GPT API key

#### 🧠 Common Questions – How to Get ChatGPT API Key

**1. Can I use the GPT API Key for free?**

GPT API Key is not free — there are no trial credits. Although you can create an API key, it won’t work until you add billing information

**2. What happens if I lose my key?**

You can’t retrieve a lost GPT API key. Revoke it and create a new one via your dashboard.

**3. Is $5 enough to test it?**

Yes! $5 lets you try out multiple small requests—plenty for experimentation or prototyping.

**4. Does using GPT API Key for OCR on images cost more than processing plain text?**

Yes. OCR on images consumes significantly more tokens because the model needs to analyze and extract text from the visual data, which is more complex than processing plain text input. As a result, OCR requests generally incur higher costs.

**5. Does the length of extracted text affect billing?**

Yes. Billing is generally based on tokens processed, so longer extracted text means more tokens and higher costs.

#### ❣️ Final Thoughts

Just $5 is enough to start using OpenAI comfortably—just make sure you **set up billing first**, then enjoy powerful features when combined with [**Auto Forward For Telegram**](https://t.me/Auto_Forward_Messages_Bot) bot.

<br>


# How to Get Your Gemini API Key?

### 🔑 How to Get Your Gemini API Key (Google AI Studio)

To use AI features powered by Gemini (Google’s Large Language Model) inside AutoForward, you’ll need an API key from Google AI Studio.

**🧩 Step 1: Log in to Your Gemini Account**

* Firstly, start by visiting [**ai.google.dev**](https://ai.google.dev/) and sign in with your **Google Account**—This must be the same account linked to your Gemini profile.
* Once logged in, you’ll land on your account dashboard.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/06/how-to-get-gemini-api-key-1-504x1024.webp" alt="Gemini API key: Login" width="375"><figcaption></figcaption></figure>

**📑 Step 2: Open the API Settings**

* Next, head over to the **API Key** section inside your account dashboard. If this is your first visit, Gemini will ask you to accept the API terms of use.
* After accepting the terms, you’ll reach the API Key dashboard, where all key management happens.

👉 [**Click here to go directly to the API Key page**](https://aistudio.google.com/apikey)

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/06/how-to-get-gemini-api-key-2-504x1024.webp" alt="Gemini API key: Navigate To API" width="375"><figcaption></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/06/how-to-get-gemini-api-key-3-504x1024.webp" alt="Navigate To API Settings" width="375"><figcaption></figcaption></figure>

**🔑 Step 3: Create New Gemini API Key**

* Then, click the **`“Create API Key”`** button to generate a new key instantly.
* This key lets your apps connect with Gemini while respecting the permissions you define.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/06/how-to-get-gemini-api-key-4-504x1024.webp" alt="Create New API Key" width="375"><figcaption></figcaption></figure>

**📦 Step 4: Copy and Store Your API Key**

* Right after creating your API key, a pop-up will appear with your **Secret Key**.
* Click the **`"Copy"`**&#x61;nd store this information in a secure password manager. Although Gemini allows you to revisit this info while the key remains active, it’s best to save it right away.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/06/how-to-get-gemini-api-key-5-505x1024.webp" alt="Copy and Store Your API Key and Secret" width="375"><figcaption></figcaption></figure>

**💵 Step 5: Add Billing Information (Optional but Recommended)**

You **can skip billing** if you only need the free tier. However, it’s strongly advised to add billing in the following situations:

* You’re running high-frequency trading bots
* You plan to use third-party apps at scale
* You want to avoid API rate limits
* Use AI Mode with the [**Auto Forward Messages**](http://t.me/Auto_Forward_Messages_Bot) bot at high and continuous intensity (e.g., for nonstop message rewriting, translation, OCR, cryptocurrency analysis, or large-scale content generation, etc.)

Accordingly, adding billing ensures uninterrupted access and unlocks the full power of Gemini’s infrastructure.

👉 [**Click here to manage billing settings**](https://aistudio.google.com/usage?tab=billing)

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/06/how-to-get-gemini-api-key-add-bill-504x1024.webp" alt="" width="375"><figcaption></figcaption></figure>

#### 🧠 Frequently Asked Questions

**1. Is the Gemini API free to use?**

<mark style="color:yellow;">Yes, Gemini offers a free tier. That said, there are usage limits. Heavy use may require a paid plan.</mark>

**2. Can I use multiple API keys on Gemini?**

<mark style="color:yellow;">You can create multiple API keys to separate tools, environments, or permission scopes.</mark>\
\ <mark style="color:yellow;">However, keep in mind that usage quota is tied to your Google account—not to individual API keys. In other words, no matter how many keys you generate, all usage counts toward the same account-level quota.</mark>

**3. Is there a quota or usage limit with the Gemini API Key?**

<mark style="color:yellow;">Yes. Free-tier users face limits. If you exceed the limits, your access might be temporarily restricted. To avoid that, consider upgrading by adding billing info.</mark>

**4. What happens if I exceed the quota?**

<mark style="color:yellow;">You’ll likely face temporary access blocks. To prevent this, either wait for your quota reset or upgrade your usage level with a billing method.</mark>

**5. Does using Gemini API Key for OCR on images cost more than processing plain text?**

<mark style="color:yellow;">Yes. Unlike text processing, OCR requires analyzing visual data, which consumes significantly more tokens. Therefore, it generally results in higher costs.</mark>

**6. Does the length of the text affect billing?**

<mark style="color:yellow;">Yes, billing is based on the number of tokens processed by the Gemini API.</mark>\
\ <mark style="color:yellow;">Consequently, the longer your input or output text, the more tokens are used — leading to higher costs.</mark>

#### ❣️ Final Thoughts

Getting your **Gemini API key** is straightforward—yet managing it wisely is critical. Whether you’re automating trades or syncing with a portfolio app, always prioritize security.

By following this step-by-step guide, you’ll gain access to your Gemini API key smoothly and safely. Now, you’re ready to connect and create smarter workflows.


# How to Get Your Perplexity API Key?

### 🔑 How to Get Your Perplexity API Key

AutoForward now supports Perplexity AI as an additional model provider for AI tasks like Smart Rewrite and OCR Image AI. To use it, you’ll need a valid API key from Perplexity.

***

#### 🧭 Step-by-Step Guide

1. Visit Perplexity Labs

   Go to: <https://www.perplexity.ai/labs>
2. Log in or Sign Up

   Use your email or an existing OAuth (Google, Apple, etc.) to create an account.
3. Access Developer Settings

   Once signed in:

   * Click your profile icon (top right)
   * Navigate to “API Keys” section
4. Create a New API Key
   * Click “Generate New API Key”
   * Name it (e.g., AutoForwardBot)
   * Copy the key shown (you won’t be able to view it again)
5. Paste the Key into AutoForward
   * Open the AI Mode section in the app.
   * Select Perplexity model from the dropdown.
   * Paste the API key when prompted.

***

#### ⚠️ Important Notes

* Model Access: Ensure your account has access to supported models such as llama-3, sonar-small, or other Perplexity endpoints.
* Usage Policy: Review [Perplexity’s documentation](https://docs.perplexity.ai) for rate limits and terms of use.
* Security: Keep your API key secure and do not expose it in public environments.


# AI Smart Rewrite

### 🧠 Smart AI Rewrite – UI Guide

This section explains how to configure and use the Smart AI Rewrite feature inside the AutoForward app. With this feature, messages can be automatically rewritten by AI before being forwarded.

***

#### 📲 Step-by-Step Walkthrough

1. **Select the Task you want to apply AI MODE to**

<figure><img src="/files/sc0gzaZrJkgmuzOoJuu5" alt=""><figcaption></figcaption></figure>

2. **Select the AI MODE option inside the bot**

<figure><img src="/files/R3b0fT53Gx3lR8OHMJh3" alt=""><figcaption></figcaption></figure>

3. **Select Smart AI Rewrite**

<figure><img src="/files/4KObGv2iT49B3d2gafxN" alt=""><figcaption></figcaption></figure>

**4. Initial Screen (Feature Disabled)**

* Model: You must first select an AI model (e.g., gpt-3.5-turbo, gemini-pro)&#x20;
* Toggle: The “Smart AI Rewrite” toggle is off by default.

***

**② After Enabling Smart AI Rewrite**

Once the feature is toggled ON:

* ✅ Model Selected: Choose your preferred model (e.g., ChatGPT).
* ✅ Rewrite Instructions:

  Enter a prompt to guide the AI on how to rewrite the message.

  *Example:*

  > “Make this more casual and humorous.”

  > “Polish grammar and simplify complex words.”
* 🧠 Predefined Templates:

  Quickly apply common rewrite goals by tapping suggested buttons:

  * Rewrite to sound more friendly and upbeat
  * Rephrase to be professional and formal
  * Highlight key trading signals and market insights

***

#### ⚠️ Notes

* Using AI may introduce slight forwarding delays due to processing time.
* You must have a valid OpenAI API Key and enough quota to use this feature.
* Rewrite instructions are optional but help produce more tailored results.


# OCR Image AI

## 📸 OCR Image AI – UI Guide

The OCR Image AI feature allows AutoForward to automatically extract text from any image and include it as part of the forwarded message. This is ideal for screenshots, flyers, or images containing important written information.

***

### ⚙️ Feature Walkthrough

#### 📲 Step-by-Step Walkthrough

1. **Select the Task you want to apply AI MODE to**

<figure><img src="/files/sc0gzaZrJkgmuzOoJuu5" alt=""><figcaption></figcaption></figure>

2. **Select the AI MODE option inside the bot**

<figure><img src="/files/ak53UW0MOFoeHOx9zABl" alt=""><figcaption></figcaption></figure>

3. **Select OCR Image AI**

<figure><img src="/files/L3kdewje43tABGzq1V5Q" alt=""><figcaption></figcaption></figure>

**4. Initial Screen (Feature Disabled)**

* ✅ Model: You must first select an AI model (e.g., gpt-4o, gemini-pro)&#x20;
* Toggle: The “OCR Image AI” toggle is off by default.

> ⚠️ You must choose a model that supports image input and text extraction.

***

#### 🔘 OCR Image AI Enable

* Toggle the switch to enable/disable OCR functionality.
* When enabled, AutoForward will process incoming images through the selected model and extract text.

> 💡 Note: Using AI may introduce slight delays in forwarding due to image processing time.

***

#### 🧠 Prompt Options

You can choose how the AI interprets and formats the extracted content:

* System Prompt (default)

  A pre-configured prompt optimized for clean and actionable OCR output.
* Custom Prompt

  Define your own instruction, such as:

  > “Extract only numbers and email addresses from the image.”

  > “Summarize the main points in bullet form.”

Use this to tailor the AI’s output to your use case.

***

#### ✍️ Text Output Position

Select where the extracted text will appear in the forwarded message:

* Prepend to Caption

  Adds the OCR result before the existing message content.

  *Example*:

```
[Extracted Text from Image]
---
Original forwarded message content

```

* (Future options may include: *Append to Caption*, *Replace Message Content*, etc.)

***

### 🔒 Requirements

* Must have a valid OpenAI API key with access to vision models.
* Your chosen model must support both image inputs and textual outputs.


# News Digest

### Overview

News Digest automatically collects messages from your source groups during the day, then uses AI to summarize them into a single structured report at your chosen time. Instead of forwarding every individual message, your audience receives one clean, well-organized digest.

#### What It Does

* Accumulates incoming messages from source groups throughout the day
* At your scheduled time, sends all collected messages to an AI model
* AI generates a single summarized digest based on your prompt
* Forwards the finished digest to your target chats

#### Key Benefits

✅ **Reduce noise** — One digest instead of dozens of individual messages\
✅ **Structured output** — AI organizes content into readable sections\
✅ **Flexible scheduling** — Run daily, on specific days, or multiple times per day\
✅ **Custom AI prompt** — Control exactly how the AI formats the summary\
✅ **Your own AI model** — Use your own API key (OpenAI, Claude, etc.)

***

### Getting Started

#### Requirements

* Active **Platinum** (or Platinum Trial) plan
* At least one forwarding task with source groups configured
* An **AI API Key** added to your account (Settings → API Keys)

#### Quick Setup

1. Open a task → **AI Mode** → **News Digest**
2. Toggle **Enable News Digest** to ON
3. Select which **days** to run the digest
4. Add one or more **schedule times** (e.g., 6:00 PM)
5. Choose your **AI model**
6. Choose **System** or **Custom** prompt
7. Tap **Save & Apply**

***

### Configuration

#### Enable / Disable

The main toggle turns News Digest on or off for this task.

* **OFF**: Messages are forwarded individually as usual
* **ON**: Messages are collected silently and summarized at the scheduled time

***

#### Schedule Days

Select which days of the week to generate the digest.

* Tap individual day circles to toggle them (Sun through Sat)
* Select all days for a daily digest
* Select only weekdays (Mon–Fri) to skip weekends
* You must select **at least one day** before saving

***

#### Schedule Times

Set what time(s) each day the digest is generated and sent.

* Tap **Add Time** to open a time picker
* You can add **multiple times** per day (e.g., 12:00 PM and 8:00 PM)
* Added times appear as chips — tap **×** on any chip to remove it
* You must add **at least one time** before saving

**Example schedules:**

| Goal               | Days        | Times             |
| ------------------ | ----------- | ----------------- |
| End-of-day summary | Mon–Fri     | 6:00 PM           |
| Twice-daily digest | Every day   | 12:00 PM, 9:00 PM |
| Weekly roundup     | Sunday only | 10:00 AM          |

***

#### Max Messages to Digest

Controls how many recent messages are sent to the AI for summarization.

* **Range**: 10 – 500 messages
* **Default**: 50
* Tap the field to enter a number

**Guidelines:**

| Volume                             | Recommended Setting |
| ---------------------------------- | ------------------- |
| Low-traffic source (< 20 msgs/day) | 20–30               |
| Medium traffic (20–100 msgs/day)   | 50–100              |
| High traffic (100+ msgs/day)       | 100–300             |

Setting this too low may cause important messages to be left out. Setting it too high may exceed your AI model's context window.

***

#### AI Model

Select which AI model to use for generating the digest.

1. Tap the **Model** selector
2. You are taken to your **API Keys** list
3. Choose the API key / model to use
4. The selected model appears in the field with its provider icon

**Supported providers:** OpenAI (GPT-4, GPT-3.5), Anthropic (Claude), and others you've added to your account.

> If no model is selected, saving will show an error: *"Please select an AI model for News Digest"*

***

#### Digest Prompt Template

The prompt instructs the AI on how to format and style the digest.

**System Prompt (Default)**

The app uses a built-in optimized prompt that summarizes and structures messages automatically. Recommended for most users — no configuration needed.

**Custom Prompt**

Write your own prompt to control the output format, tone, language, and structure.

**How to switch:**

1. Tap the **Custom Prompt** chip
2. A text field appears — enter your instructions
3. Tap a **Quick Suggestion** chip to auto-fill a starting template

**Quick Suggestions available:**

* *Summarize all messages into a structured daily news bulletin with key topics and highlights*
* *Create a brief digest grouping messages by topic, highlighting important updates and action items*
* *Write a concise news summary focusing on the most important announcements and trending discussions*
* *Generate a professional newsletter-style summary with sections for each major topic covered*

Tap any suggestion to paste it into the text field, then customize as needed.

**Custom prompt tips:**

* Specify the **output language** if your audience is not English-speaking (e.g., *"Write the summary in Vietnamese"*)
* Define **sections**: e.g., *"Use sections: Breaking News, Market Updates, Community Highlights"*
* Control **length**: e.g., *"Keep the summary under 300 words"*
* Set **tone**: e.g., *"Write in a professional, neutral tone"*

***

### Saving Settings

Tap **Save & Apply** when you are done configuring. The button is disabled while saving.

If any required field is missing, you will see an error:

* *"Please add at least one schedule time"* — Add a time in Schedule Times
* *"Please select at least one day of the week"* — Select a day in Schedule Days
* *"Please select an AI model for News Digest"* — Choose a model in the AI Model selector

***

### How the Digest Flow Works

```
Source Groups → Messages collected silently
                        ↓
              Scheduled time arrives
                        ↓
     Last N messages sent to AI model (up to Max Messages)
                        ↓
          AI generates summary using your prompt
                        ↓
         Digest forwarded to your target chats
```

Messages collected **before the schedule time** are included. After the digest is sent, the collection resets for the next cycle.

***

### Use Cases

#### Daily News Bulletin

Aggregate news from 5 Telegram news channels. Send a clean bullet-point summary to your channel every evening at 7 PM.

**Settings:**

* Days: Mon–Fri
* Time: 7:00 PM
* Max Messages: 100
* Prompt: *"Summarize all messages into a structured daily news bulletin with key topics and highlights"*

***

#### Crypto Market Summary

Collect signals and analysis from multiple crypto groups. Generate a morning and evening market recap.

**Settings:**

* Days: Every day
* Times: 9:00 AM, 9:00 PM
* Max Messages: 150
* Prompt: *"Create a brief market digest grouping messages by topic: price movements, new launches, community sentiment"*

***

#### Weekly Team Update

Collect messages from team Telegram groups all week and send a Monday morning roundup.

**Settings:**

* Days: Monday only
* Time: 9:00 AM
* Max Messages: 300
* Prompt: *"Generate a professional newsletter-style weekly summary with sections for each major topic discussed"*

***

### Troubleshooting

#### Digest not being sent

**Check:**

* [ ] Enable News Digest toggle is ON
* [ ] At least one day and one time are configured
* [ ] An AI model is selected
* [ ] Your API key is still valid (check Settings → API Keys)
* [ ] Your Platinum plan is still active

***

#### AI output is poor quality

**Solutions:**

* Switch to **Custom Prompt** and write more specific instructions
* Try a different **Quick Suggestion** as a starting point
* Use a more capable model (e.g., GPT-4 instead of GPT-3.5)
* Reduce **Max Messages** — fewer messages can produce cleaner summaries
* Add language instructions if output is in wrong language

***

#### Digest is missing recent messages

Most likely the messages arrived **after** the scheduled time and will be included in the next digest cycle.

If this happens consistently:

* Add a **second schedule time** later in the day
* Increase the **Max Messages** limit
* Adjust schedule times to better match when content peaks

***

#### "Please select an AI model" error when saving

You need to add an API key first:

1. Go to **Settings → API Keys**
2. Add your OpenAI or Claude API key
3. Return to News Digest → tap the Model selector
4. Choose your key and save

***

### Tips & Best Practices

**Match Max Messages to your source volume** — Check how many messages your sources send per day. Set Max Messages slightly higher than that to avoid missing content.

**Use Custom Prompt for non-English output** — The system prompt defaults to English. If your audience reads in another language, specify it in a custom prompt: *"Write the digest in Spanish"*.

**Test with a manual review first** — Enable News Digest, set a time 5–10 minutes from now, and verify the output quality before committing to a daily schedule.

**Avoid very high Max Messages on low-tier models** — Models like GPT-3.5 have smaller context windows. If you need to process 300+ messages, use GPT-4 or Claude.

**Use multiple times for busy sources** — For very active source groups, schedule 2–3 digest times per day to keep summaries manageable in length.

***

### Frequently Asked Questions

#### Does it forward original messages too?

**No.** When News Digest is enabled, original messages are collected silently and not individually forwarded. Only the AI-generated digest is sent at the scheduled time.

#### What happens if the AI fails to respond?

The digest for that cycle is skipped. Your next scheduled cycle will attempt again with messages collected since the last successful digest.

#### Can I use News Digest on multiple tasks?

**Yes**, each task has its own News Digest configuration with independent schedules, models, and prompts.

#### Is my message content sent to the AI provider?

**Yes.** Messages are sent to whichever AI provider's API you configure (e.g., OpenAI, Anthropic). Review that provider's data privacy policy before using with sensitive content.

#### Can I trigger a digest manually?

The **Run Now** button is coming soon. Currently, digests only run on their scheduled times.

#### What's the minimum and maximum for Max Messages?

* **Minimum**: 10 messages
* **Maximum**: 500 messages

#### Does it work with media messages?

News Digest processes **text content**. Media files (images, videos) are typically not sent to the AI — only any caption text or surrounding text messages.

***

**Last Updated**: March 2026\
**App Version**: 1.0.44+\
**Required Plan**: Platinum


# Link Buttons

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

### How to Add and Manage Link Buttons

This feature allows you to create interactive buttons within your Telegram messages, which is not supported by default in Telegram.

{% hint style="warning" %}
**Important: This feature requires** [**Bot Sender**](/modify-content/setup-sender-for-task)**. You must use Bot Sender mode in your task —Telegram does not allow link buttons with personal accounts.**
{% endhint %}

{% embed url="<https://youtu.be/aMM17T86lX4>" %}

#### **Step 1: Access the Link Buttons Feature**

1. Open an existing  Task.
2. Scroll down to the "features" section.
3. Select "Link Buttons".

<figure><img src="/files/iNMbJOOgZONSz6HqfxKw" alt=""><figcaption></figcaption></figure>

#### **Step 2: Adding New Buttons**

1. Click on "Add now" to add a new button.
2. Enter the desired button title (e.g., "Buy Now", "Learn More") in the "Title" field.
3. Enter the URL you want the button to link to in the "URL" field.
4. Click "Add" to save the button.

<figure><img src="/files/P93cKktmYFrek9yUV3Zr" alt=""><figcaption></figcaption></figure>

#### **Step 3: Customizing Button Layout**

You can arrange the buttons in several layout styles:

* Vertical Linear Layout: Buttons will be stacked on top of each other vertically.
* Grid Layout: Display a specific number of buttons per row (e.g., two or three buttons). You can select the number of buttons per row from a dropdown menu.
* Custom Mode: Provides full control. You can set the exact number of buttons per row and arrange them by dragging and dropping. Each row will have an "Add Row" button to create new rows and drag buttons into them.

<figure><img src="/files/rUo9TwvSEGw5EebfYoA8" alt=""><figcaption></figcaption></figure>

#### **Step 4: Editing and Deleting Buttons**

* Edit: Click on a button to edit its title or URL.
* Delete: Click on the trash to delete it. In Custom Mode, you can also delete entire rows using a similar icon next to the row.

<figure><img src="/files/0a4ePPgLAxbDyoY843xH" alt=""><figcaption></figcaption></figure>

#### **Step 5: Customize Display Settings**

* "Hide when replying": By default, the buttons will be hidden if the message is sent as a reply to another message. You can toggle this setting off to keep the buttons visible even in replies. A checkbox controls this option.

<figure><img src="/files/9jr2F2pNGuimg3va7y3I" alt=""><figcaption></figcaption></figure>

#### **Step 6: Message Button Filters**

**Message Button Filters** allow you to control when inline buttons appear on forwarded messages. You can hide buttons based on specific message types, giving you precise control over button visibility.

<figure><img src="/files/2D3JAwJM9s7lINHF5I7u" alt="" width="435"><figcaption></figcaption></figure>

**Key Features**

* **Selective Button Display**: Show/hide buttons based on message content type
* **19 Filter Options**: Comprehensive filters for all Telegram message types
* **Smart Detection**: Automatically detects message characteristics
* **Combine Filters**: Use multiple filters together for complex rules

**Available Filters**

**Media Filters**

| Filter              | Description                  | Example             |
| ------------------- | ---------------------------- | ------------------- |
| **Photo Only**      | Single photo without caption | Product image       |
| **Photo with Text** | Photo with caption           | Image + description |
| **Photos**          | Multiple photos (2-10)       | Photo gallery       |
| **Album**           | Media album (mixed media)    | Photos + videos     |
| **Video**           | Video file                   | Tutorial video      |
| **Animation**       | GIF/animated image           | Funny GIF           |
| **Sticker**         | Telegram sticker             | Emoji sticker       |
| **Audio**           | Audio file                   | Music track         |
| **Document**        | File attachment              | PDF, ZIP file       |
| **Video Note**      | Round video message          | Video message       |

**Message Type Filters**

| Filter         | Description           | Example           |
| -------------- | --------------------- | ----------------- |
| **Text**       | Text-only message     | "Hello world"     |
| **Emoji Only** | Only emoji characters | "🎉😊👍"          |
| **Link**       | Contains URL          | Message with link |
| **Poll**       | Poll/quiz message     | Vote poll         |

**Message Context Filters**

| Filter               | Description              | Example                     |
| -------------------- | ------------------------ | --------------------------- |
| **Forwards**         | Forwarded message        | "Forwarded from X"          |
| **Reply**            | Reply to another message | Reply chain                 |
| **Button**           | Message with buttons     | Message with inline buttons |
| **Without Username** | Anonymous sender         | No sender info              |
| **Outgoing**         | Sent by you              | Your own messages           |

**How It Works**

**Basic Logic**

```
IF message matches ANY selected filter
THEN hide buttons
ELSE show buttons
```

**Example:**

* Enable: "Photo Only" + "Video"
* Result: Buttons hidden on photos and videos, shown on text/other media

**Once you have finished adding and arranging your link buttons, you need to save your changes.**

***

### **Link Button Keyword Visibility**

#### Overview

Use **Only show when post has keyword** to show your Link Buttons only on source posts that contain specific keywords.

If you leave the keyword list empty, Link Buttons work as usual and appear based on your current configuration.

This feature applies only to manually configured Link Buttons. It does not apply to Auto Clone Button.

#### When To Use It

Use this feature when you forward many types of posts from the same source, but only want buttons on selected posts.

Examples:

* Show `Open Trade` only when a post contains `entry`.
* Show `Buy Now` only when a post contains `sale` or `discount`.
* Show `View Chart` only when a post contains both `gold` and `signal`.

#### How To Set It Up

1. Open AutoForward and select your forwarding task.
2. Open **Link Buttons**.
3. Add or edit at least one valid button with a title and URL.
4. Find the section **Only show when post has keyword**.
5. Enter keywords, then press Enter, comma, or the add button to create keyword chips.
6. Choose a match mode:
   * **Match 1 keyword**: show the button if the post contains any keyword.
   * **Match all keywords**: show the button only if the post contains every keyword.
7. Optional: enable **Case sensitive** if uppercase/lowercase must match exactly.
8. Tap **Done** to save.

You can paste multiple keywords at once:

```
gold, entry, signal
```

Or one keyword per line:

```
gold
entry
signal
```

#### Examples

#### Match 1 Keyword

Keywords:

```
entry
signal
```

Mode:

```
Match 1 keyword
```

Results:

* `BTC entry now` -> button is shown.
* `New signal posted` -> button is shown.
* `Market update today` -> button is hidden.

#### Match All Keywords

Keywords:

```
gold
entry
```

Mode:

```
Match all keywords
```

Results:

* `Gold analysis today` -> button is hidden.
* `Entry zone updated` -> button is hidden.
* `Gold entry zone updated` -> button is shown.

#### Case Sensitive

Keyword:

```
VIP
```

If **Case sensitive** is enabled:

* `VIP deal` -> button is shown.
* `vip deal` -> button is hidden.

#### Important Notes

* Keywords are checked against the source post text or caption.
* Posts without text or caption will not match keywords.
* Other Link Button filters still apply. A button can still be hidden by media, reply, or message-type filters.
* To turn this feature off, delete all keyword chips and tap **Done**.

### **Replace Links with Affiliate Links (Crypto)**

This is where the money comes in.

Let’s say the original message contains button link this:

<figure><img src="https://cdn-images-1.medium.com/max/800/1*5LYvgEGuE3r8aC3AXJjAVw.png" alt=""><figcaption></figcaption></figure>

```
https://mevx.io/solana/tokenxyz?ref=NNjWO5SCjGDB
```

With AutoForward, you can **automatically clone these buttons**, and even better — **replace their links with your own affiliate/referral links.**

Here’s how to do it:

#### **Step 1: Access the Link Buttons Feature**

1. Open an existing Task.
2. Scroll down to the “features” section.
3. Select “Link Buttons”.

<figure><img src="https://cdn-images-1.medium.com/max/800/0*QpjMR4japTCcAqIq" alt=""><figcaption></figcaption></figure>

#### **Step 2: Adding New Buttons**

1. Click on “Add now” to add a new button.
2. Enter the desired button title (e.g., “Buy Now”) in the “Title” field.
3. Enter the URL you want the button to link to in the “URL” field (e.g., “<https://mevx.io/solana/tokenxyz?ref=yourusername”>).
4. Click “Add” to save the button.

<figure><img src="https://cdn-images-1.medium.com/max/800/1*HFrV99OCW6UrxNDd7uqLXQ.png" alt=""><figcaption></figcaption></figure>

> *✅ You can use the special shortcode \[\[CONTRACT\_ADDRESS]] to dynamically insert the token address detected from the original message or button.*

> *This saves time and ensures every button always points to the correct token, even if you’re forwarding multiple tokens across different messages.*

#### Finalizing and Saving Your Settings

After you have added your link buttons and customized their layout, be sure to scroll to the bottom of the page and click the "Done" or "Save" button. This action will save all of your changes and apply the button configuration to your auto post task.

Once saved, all new posts created by this task will include the link buttons you just set up.


# Add Header / Footer

Want to customize your Telegram auto-forwarded messages with extra context, branding, or call-to-actions? With the Auto Forward...

{% hint style="info" %}
You can add a header or footer for each post when forward to channels target
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% embed url="<https://youtu.be/9njoEAe5a78>" %}

### How to add Header - Footer use  App/Web

<figure><img src="/files/0hiiareXfd9GQ9X6T7RI" alt=""><figcaption></figcaption></figure>

#### What Are Headers and Footers in Telegram Forwarded Messages?

* **A Header** appears **before** the forwarded message. It’s perfect for labels, sources, or attention-grabbers.
* **A Footer** appears **after** the message. It’s ideal for links, time stamps, disclaimers, or emojis.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-forwarded-messages-header-footer1.webp" alt="Customize Telegram Forwarded Messages Easily" width="375"><figcaption></figcaption></figure>

These two blocks work independently but can be combined to elevate your message presentation.

***

#### 1️⃣ Add a Header to Make Messages More Understandable

A **header** appears **before** your original message. This is perfect for labeling content—like announcements, reminders, or alerts.

**How to Set It:**

1. Open your existing forwarding task
2. Scroll to the **Header** section
3. Type your custom content
4. Tap **Done**

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-forwarded-messages-header-footer2.webp" alt="Customize Telegram Forwarded Messages Easily" width="375"><figcaption></figcaption></figure>

**Example Header:**

```
📢 New Update:
```

When someone sends a message like:

```
We’ll have maintenance at 10PM UTC.
```

Your target chat will receive:

```
📢 New Update:

We’ll have maintenance at 10PM UTC.
```

You just made the message more readable and clearly tagged its purpose.

#### 2️⃣ Add a Footer with Extra Info or Links

A **footer** appears **after** your message. It’s ideal for contact links, disclaimers, or just a nice wrap-up.

**How to Set It:**

1. In your task, go to the **Footer** section
2. Write your content, using line breaks (`\n`) for clarity
3. Tap **Done**

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-forwarded-messages-header-footer3.webp" alt="" width="375"><figcaption></figcaption></figure>

**Example Footer:**

```
Need help? Contact us: t.me/abc
```

Now if someone forwards a message:

```
Here’s the weekly report link.
```

It will show like:

```
Here’s the weekly report link.

Need help? Contact us: t.me/abc
```

Perfect for support teams or help desks.

#### ✨ Use Shortcodes

If you’re running a crypto signals group or sharing on-chain alerts, shortcodes make your formatting dynamic and automatic.

**What Are Shortcodes?**

Shortcodes are special tags that get replaced automatically in forwarded messages.

**How to Use:**

1. Go to Header or Footer section
2. Tap **“Add Shortcode”**
3. Choose what you want
4. Insert into your text and save

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-forwarded-messages-header-footer4.webp" alt="" width="375"><figcaption></figcaption></figure>

{% tabs %}
{% tab title="Shortcode Explained" %}
📖 Some formats you can refer to:

#### 🔧 Formatting Helpers

* **EMPTY** – Use this if you don’t want to show the header.
* **\n** – Line break.
* &#x20;**\t** – Add a tab space (horizontal spacing).

***

#### 🧾 Message Content

* **\[\[ORIGIN\_TEXT]]** – The full content of the original message.
* **\[\[ORIGIN\_QUOTED\_TEXT]]** – A quoted preview or snippet from the original post.
* **\[\[ORIGIN\_DESCRIPTION]]** – Description of the original channel or group.

***

#### 👤 Sender Information

* **\[\[ORIGIN\_USERNAME]]** – Username of the original sender (if available).
* **\[\[ORIGIN\_USERID]]** – Telegram User ID of the original sender.
* **\[\[ORIGIN\_NAME]]** – Full name of the sender or the original channel name.
* **\[\[FROM\_USER]]** – Username of the user who forwarded the message.
* **\[\[SENDER\_CHAT]]** – Display name of the sender (can be user or chat).
* **\[\[FORWARD\_FROM\_CHAT]]** – Name of the original message owner or source channel.

***

#### 🕒 Time & Date

* **\[\[CURRENT\_TIME]]** – Current system time (HH:MM:SS).
* **\[\[CURRENT\_DATE]]** – Current date (DD/MM/YYYY).
* **\[\[CURRENT\_DATETIME]]** – Full current date and time.
* **\[\[CURRENT\_TIMESTAMP]]** – Current Unix timestamp.
* **\[\[ORIGIN\_POST\_TIME]]** – Time the original post was created.
* **\[\[ORIGIN\_POST\_DATE]]** – Original post creation date (raw).
* \[\[ORIGIN\_POST\_DATE\_FORMATTED]] – Formatted post date.
* **\[\[ORIGIN\_POST\_DATETIME]]** – Full date and time of the original post.

***

#### 📎 Post Metadata

* **\[\[ORIGIN\_POST\_ID]]** – Message ID of the original post.
* **\[\[ORIGIN\_CHAT\_ID]]** – Chat ID where the original post came from.
* **\[\[MESSAGE\_ID]]** – ID of the current message.
* **\[\[REPLY\_TO\_MESSAGE\_ID]]** – ID of the message this one is replying to.
* **\[\[IS\_FORWARD]]** – Whether the message is a forward (true / false).
* **\[\[IS\_REPLY]]** – Whether the message is a reply (true / false).
* **\[\[MESSAGE\_LINK]]** – Direct link to the original or forwarded message.

***

#### 📡 Chat Information

* **\[\[CHAT\_TYPE]]** – Type of chat (PRIVATE, GROUP, CHANNEL, etc.).
* **\[\[CHAT\_USERNAME]]** – Username of the chat (if public).
* **\[\[CHAT\_MEMBERS\_COUNT]]** – Number of members in the chat.
* **\[\[SOURCE\_NAME]]** – Name of the forward source (if available).
* **\[\[ORIGIN\_NAME\_URL]]** – Hyperlinked name of the original source.

***

#### 📂 Media Information

* **\[\[MEDIA\_TYPE]]** – Type of attached media (photo, video, document, etc.).
* **\[\[FILE\_SIZE]]** – File size (formatted).
* **\[\[FILE\_NAME]]** – File name.
* **\[\[HAS\_MEDIA]]** – Whether the message contains media (true / false).

***

#### 📊 Message Stats

* **\[\[VIEW\_COUNT]]** – Number of views (for public channel posts).
* **\[\[FORWARD\_COUNT]]** – Number of times the message was forwarded.
* **\[\[REACTIONS\_COUNT]]** – Total number of reactions (if any).

***

#### ✏️ Text Analysis

* **\[\[WORD\_COUNT]]** – Number of words in the message.
* **\[\[CHAR\_COUNT]]** – Number of characters.
* **\[\[LINE\_COUNT]]** – Number of lines.
* **\[\[TEXT\_LENGTH]]** – Length of the text (same as character count in most cases).

***

#### 🔍 Content Extraction

* **\[\[HASHTAGS]]** – All hashtags found in the message.
* **\[\[MENTIONS]]** – All mentioned usernames (@user).
* **\[\[URLS]]** – All URLs found in the message.

***

#### 🎲 Randomization

* **\[\[RANDOM\_EMOJI]]** – A random emoji from a predefined collection.
* **\[\[RANDOM\_NUMBER]]** – A random number between 1–1000.

{% endtab %}
{% endtabs %}

**Example Footer for Traders:**

```
📈 Source: [[SENDER_CHAT]]  
🕒 Time: [[CURRENT_TIME]]
```

So when a message is sent in your source group/channel, like:

```
Long BTC at $29,800  
TP: $31,000 | SL: $29,000
```

Your target group/channel will receive it like this:

```
Long BTC at $29,800  
TP: $31,000 | SL: $29,000  

📈 Source: @VIPTradeSignals  
🕒 Time: 17:07:48
```

No need to manually tag anything—it updates itself every time.

### Auto-Hide Header When Content is Empty

If the forwarded message has no content, the header will now be automatically hidden.

This keeps your messages clean and professional – no more awkward blank blocks!

**How to Set It:**

1. Open your existing forwarding task
2. Scroll to the **Header** section
3. At Add Header/Footer turnon Hide when empty
4. **Click Done**

<figure><img src="/files/WjfXBarLLHI62DKRT28D" alt=""><figcaption></figcaption></figure>

***

### Random Header/Footer

Make your messages more dynamic and natural!\
You can now set multiple header or footer templates, and AutoForward will randomly pick one for each forwarded message.\
Ideal for marketing, engagement, and avoiding repetitive content

**How to Set It:**

1. Open your existing forwarding task
2. Scroll to the **Header** section
3. At Add Header/Footer enter content then click Random

<figure><img src="/files/fTK4SRhQzSra22cFYoyc" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7Yuv41knA8TtBdDR8EGt" alt=""><figcaption></figcaption></figure>

**Finaly Click Done.**

***


# Translate Language

{% hint style="info" %}
This feature is used to set up the translation from source to target for task forward.
{% endhint %}

{% hint style="danger" %}
&#x20;*<mark style="color:red;">**if you turn on the feature**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**Show Header Forwarder**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**then features Reply, Edit, Replace,**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**translate**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**will not work.**</mark>*
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=RKwdhRp-9u8>" %}

{% tabs %}
{% tab title="Options Explained" %}

* **auto =>** Auto Detect Language,
* **af =>** afrikaans,
* **sq =>** albanian,
* **am =>** amharic,
* **ar =>** arabic,
* **hy =>** armenian,
* **az =>** azerbaijani,
* **eu =>** basque,
* **be =>** belarusian,
* **bn =>** bengali,
* **bs =>** bosnian,
* **bg =>** bulgarian,
* **ca =>** catalan,
* **ceb** => cebuano,
* **ny =>** chichewa,
* **zh-cn =>** chinese (simplified),
* **zh-tw =>** chinese (traditional),
* **co =>** corsican,
* **hr =>** croatian,
* **cs =>** czech,
* **da =>** danish,
* **nl =>** dutch,
* **en =>** english,
* **eo =>** esperanto,
* **et =>** estonian,
* **tl =>** filipino,
* **fi =>** finnish,
* **fr =>** french,
* **fy =>** frisian,
* **gl =>** galician,
* **ka =>** georgian,
* **de =>** german,
* **el =>** greek,
* **gu =>** gujarati,
* **ht =>** haitian creole,
* **ha =>** hausa,
* **haw =>** hawaiian,
* **iw =>** hebrew,
* **hi =>** hindi,
* **hmn** => hmong,
* **hu =>** hungarian,
* **is =>** icelandic,
* **ig =>** igbo,
* **id =>** indonesian,
* **ga =>** irish,
* **it =>** italian,
* **ja =>** japanese,
* **jw =>** javanese,
* **kn =>** kannada,
* **kk =>** kazakh,
* **km =>** khmer,
* **ko =>** korean,
* **ku =>** kurdish (kurmanji),
* **ky =>** kyrgyz,
* **lo =>** lao,
* **la =>** latin,
* **lv =>** latvian,
* **lt =>** lithuanian,
* **lb =>** luxembourgish,
* **mk =>** macedonian,
* **mg =>** malagasy,
* **ms =>** malay,
* **ml =>** malayalam,
* **mt =>** maltese,
* **mi =>** maori,
* **mr =>** marathi,
* **mn =>** mongolian,
* **my =>** myanmar (burmese),
* **ne =>** nepali,
* **no =>** norwegian,
* **ps =>** pashto,
* **fa =>** persian,
* **pl =>** polish,
* **pt =>** portuguese,
* **pa =>** punjabi,
* **ro =>** romanian,
* **ru =>** russian,
* **sm =>** samoan,
* **gd =>** scots gaelic,
* **sr =>** serbian,
* **st =>** sesotho,
* **sn =>** shona,
* **sd =>** sindhi,
* **si =>** sinhala,
* **sk =>** slovak,
* **sl =>** slovenian,
* **so =>** somali,
* **es =>** spanish,
* **su =>** sundanese,
* **sw =>** swahili,
* **sv =>** swedish,
* **tg =>** tajik,
* **ta =>** tamil,
* **te =>** telugu,
* **th =>** thai,
* **tr =>** turkish,
* **uk =>** ukrainian,
* **ur =>** urdu,
* **uz =>** uzbek,
* **vi =>** vietnamese,
* **cy =>** welsh,
* **xh =>** xhosa,
* **yi =>** yiddish,
* **yo =>** yoruba,
* **zu =>** zulu,
* **fil =>** Filipino,
* **he =>** Hebrew
  {% endtab %}
  {% endtabs %}


# Add Watermark

You can use this command to add a watermark to every media that Auto Forward Telegram forwards.

{% hint style="warning" %}

* This command can cause redirection to run slower because Auto Forward Telegram will need to generate the watermark before it sends the message
  {% endhint %}

{% hint style="success" %}
🟢 **For Android** : [Click To Download On Google Play](https://bit.ly/autoforward-for-telegram-android)

🟢 **For IOS**: [Click To Download On Apple Store](https://bit.ly/autoforward-for-telegram-ios)

🟢 **For Web**: <https://web.autoforwardtelegram.com/>
{% endhint %}

## How to Create Watermarks for Automatically Forwarded Messages

### Why Use the Watermark Feature in Auto Forward For Telegram for AutoForward Messages and Branding?

Here’s why the **Watermark** feature is a game-changer:

* 🛡 **Brand Protection:** Ensures that your brand remains visible on all forwarded images.
* 📢 **Enhanced Visibility:** Reinforces your identity across multiple Telegram groups and chats.
* 🔧 **Customizable Settings:** Offers multiple customization options for watermark placement, opacity, and type.
* ⚡ **Automated Processing:** Once configured, the **Telegram Bot** applies the watermark automatically to all forwarded images.

### Step 1: Access the Watermark Feature in Auto Forward For Telegram to Automate Forwarding

To get started with the **AutoForward Messages** feature:

1. Open the **Forwarding Tab** in the **Auto Forward For Telegram** application.
2. Locate and select the **forwarding task** you wish to modify. For example, we’ll create a task called **“demo\_watermark”**.
3. Click on the **Watermark** option in the menu to start the setup process.
4. Select the specific task that will include the watermark.
5. Click to enable the **Watermark** feature.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/wartermark_select_the_forwarding_task_you_want-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Select a task to which you want to add the watermark</p></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/wartermark_click_on_this_feature-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Click on this feature</p></figcaption></figure>

### Step 2: Add or Update a Watermark for AutoForward Messages

Once inside the **Watermark** settings:

* If this is your first time adding a watermark, you will see the **Add Watermark** screen.
* If a watermark already exists, you’ll be redirected to the **Update Watermark** screen for modifications.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/watermark_add_watermark_screen-473x1024.png" alt="" height="1024" width="473"><figcaption><p>“Add Watermark” Screen</p></figcaption></figure>

### ✅ **Step 3: Choose the Type of Watermark for Auto Forward For Telegram Users**

Auto Forward For Telegram allows you to apply two types of watermarks:

* **Image Watermark** – Upload a logo or graphic to use as a watermark.
* **Text Watermark** – Add custom text with your branding, such as a company name or website URL.

#### Expert Tip:

✔ Use **transparent PNG images** for better blending.

✔ Keep text-based watermarks **short and clear** to avoid clutter.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/wartermark_you_have_two_options-473x1024.png" alt="" height="1024" width="473"><figcaption><p>There are two types of watermarks for you to choose from</p></figcaption></figure>

### ✅ **Step 4: Create an Image Watermark in Auto Forward For Telegram for Better Branding**

For a detailed walkthrough, let’s focus on creating an **Image Watermark**:

#### Selecting or Uploading an Image

1. Click **Choose Image** to open the **Uploaded Image** interface.
2. Upload the watermark image from your device.
3. Select it from **Recently Uploaded Images**.
4. The selected image will appear in the preview section of the **Add Watermark** screen.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/click_the_choose_image_button_to_go_to_the_screen_for_selecting_an_image_for_the_watermark_img-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Click the ‘Choose Image’ button to<br>go to the screen for selecting an image<br>for the watermark</p></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/watermark_choose_image_or_uploaded_image-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Select an image to use as a watermark</p></figcaption></figure>

#### Customizing Your Watermark

* **Opacity:** Adjust transparency levels to ensure visibility without overwhelming the image.
* **Positioning:** Set the watermark location (top-left, center, bottom-right,Full etc.).
* **Size Scaling:** Resize the watermark proportionally to fit different images.
* **Preview Mode:** View how the watermark looks before saving.
* Click **DONE** to confirm and apply changes.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/watermark_preview_image_select-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Preview the watermark when added</p></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/01/watermark_experiment_with_this_option-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Experiment with this option</p></figcaption></figure>

### ✅ **Step 5: Test Your Watermark on Telegram Bot and AutoForward Messages**

Once setup is complete, the **Telegram Bot** will automatically apply the watermark to all forwarded images. Here’s how to verify it:

* Check the target chat where the **AutoForward Messages** are sent.
* Confirm that the watermark appears correctly.
* Make adjustments if necessary by returning to the **Watermark** settings.

### Best Practices for Using Watermarks

The **Watermark** feature in **Auto Forward For Telegram** enhances professionalism and brand recognition in forwarded messages. By following these steps, you can ensure that every forwarded image carries your identity without manual effort.

**Additional Tips for Effective Watermarking:**

– **Choose the right font & color** – If using a text watermark, pick a professional font and a color that contrasts well with the image.\
– **Use AI-powered watermark placement** – Some tools, including Telegram Bots, offer smart positioning to prevent watermark removal.\
– **Ensure consistency** – Maintain a uniform watermark design across all images to strengthen brand recognition

{% embed url="<https://www.youtube.com/watch?v=ZyqCn0ldANE>" %}


# MMO Feature - Make Money Online

### Overview

**MMO Feature** allows users to automatically convert product links in forwarded messages into affiliate links, earning commission from supported e-commerce platforms.

### UI Structure

<figure><img src="/files/HDP3z0HsFKV8Q4ReNgTF" alt=""><figcaption></figcaption></figure>

### Supported Platforms

#### 1. Amazon Affiliate

* **Config**: Amazon Tag (e.g., `mystore-20`)
* **Auto Product Info**: Fetch product title, price, rating automatically
* **Color**: Orange

#### 2. Awin Affiliate

* **Config**: Awin Affiliate ID
* **Color**: Blue

#### 3. eBay Partner Network

* **Config**: eBay Campaign ID
* **Color**: Red (#E53238)

#### 4. AliExpress Affiliate

* **Config**: AliExpress Tracking ID
* **Color**: Red (#FF4747)

#### 5. Shopee Affiliate

* **Config**: Shopee Affiliate ID
* **Color**: Orange (#EE4D2D)

### How It Works

```
Original Message:
"Check this product: https://amazon.com/product/B08XYZ123"

After Processing:
"Check this product: https://amazon.com/product/B08XYZ123?tag=mystore-20"
                                                          ^^^^^^^^^^^^^^^^
                                                          Affiliate tag added
```

### Features by Platform

#### Amazon

* Link conversion with affiliate tag
* Optional auto-fetch: product name, price, rating
* Works with all Amazon domains (.com, .co.uk, .de, etc.)

#### Awin

* Universal link conversion for Awin partners
* Supports multiple merchants (ShareASale, Rakuten, etc.)

#### eBay

* Campaign ID tracking
* Works with eBay global marketplace

#### AliExpress

* Tracking ID injection
* Deep link generation

#### Shopee

* Affiliate ID tracking
* Regional marketplace support (SG, MY, TH, VN, PH)

### Use Cases

#### Use Case 1: Product Review Channel

```
Enable: Amazon + eBay
→ All product links automatically converted to affiliate links
→ Earn commission on purchases
```

#### Use Case 2: Deal Hunter Bot

```
Enable: AliExpress + Shopee
→ Forward deals from deal channels
→ Add affiliate tracking to all links
```

#### Use Case 3: Multi-Platform Store

```
Enable: All platforms
→ Forward from supplier channels
→ Auto-convert all product links
```

#### Header

* Icon: Monetization (dollar sign)
* Title: "MMO Feature"
* Description: Feature overview

#### Platform Cards

Each platform has:

* **Brand Color**: Platform-specific color scheme
* **Toggle Switch**: Enable/disable platform
* **Input Fields**: Platform-specific IDs/tags
* **Helper Text**: Setup instructions

### Benefits

* **Passive Income**: Earn commission automatically
* **Multi-Platform**: Support 5 major e-commerce networks
* **Zero Manual Work**: Auto-convert all links
* **Transparent**: Original message preserved
* **Flexible**: Enable/disable per platform

### Setup Guide

1. **Register Affiliate**: Sign up for affiliate program
2. **Get ID/Tag**: Copy your affiliate identifier
3. **Enable Platform**: Toggle switch ON
4. **Enter ID**: Paste affiliate ID/tag
5. **Save**: Tap "Save" button
6. **Done**: All product links auto-converted


# Make Money With Amazon

{% hint style="info" %}
This is feature support make money with Amazon
{% endhint %}

<figure><img src="/files/PmgYVFQX8HuhHA3JqLFg" alt=""><figcaption><p>Product advertisements</p></figcaption></figure>

### **When do you need to use?**

&#x20;   ➡️ You have posts that introduce products and contain **links to the amazon website**.&#x20;

&#x20;   ➡️ You want replace that links with a your **Amazon Affiliate ID Tag**.

&#x20;   ➡️ You want Auto Generate amazon affiliate link to **URL Short Bitly.**

{% tabs %}
{% tab title="Instructions" %}
To reach this first you will need to type **/settings** on **Auto Forward Telegram BOT.** Now click on **your task** so you can access the setup settings. Finally the **MMO Utils** ➡️ **Make Money with Amazon.**

<figure><img src="/files/gMGBPk0FZ7VgNO1LpGVU" alt=""><figcaption><p>Make Money With Amazon</p></figcaption></figure>
{% endtab %}
{% endtabs %}

* **Set Tag:**  Amazon Tag ID affiliate you want change or add to link.

<figure><img src="/files/zEoZ0WzrnvE5mwb9Vp6k" alt=""><figcaption><p>Setup your amazon id tag</p></figcaption></figure>

<figure><img src="/files/LxeygTsjqWWBYBHUDrt8" alt=""><figcaption><p>Demo Set Tag</p></figcaption></figure>

➡️  After complete setup it will **auto replace \&tag in link equals your tag id.**

{% hint style="warning" %}
To **REMOVE.** Please enter tag is **EMPTY**
{% endhint %}

* **Auto Generate Bitly:** Auto generate a URL short link with[ bit.ly.](https://bit.ly)

  * With feature this you will need done setup a **Bitly Access Token.**&#x20;

  &#x20;     If you don't know how to get it, please login your [bit.ly](https://bit.ly) account. After visit the following link: [click here](https://app.bitly.com/settings/api/).

<figure><img src="/files/gUWD5VjBNgdRkhEbMD79" alt=""><figcaption><p><strong>Bitly Generate Access Token.</strong></p></figcaption></figure>

➡️ Next. Back to Auto Forward Bot

{% hint style="danger" %}
***Please change \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*L4fMblPrpZ to your Bitly Token***
{% endhint %}

<figure><img src="/files/gC9TJ13oXdRuDubGXtEg" alt=""><figcaption><p>Setup Auto Generate Bitly</p></figcaption></figure>

➡️  **After complete setup bitly it will auto generate link amazon to URL short link bit.ly**

<figure><img src="/files/eWqkT8t88IC9WGEUpiuP" alt=""><figcaption><p>Demo <strong>generate short link</strong></p></figcaption></figure>

{% hint style="warning" %}
To **TURN OFF.** Please enter bitly token is **EMPTY**
{% endhint %}


# Make Money With Awin1.Com

{% hint style="info" %}
This is feature support make money for Awin1.com
{% endhint %}

<figure><img src="/files/2SoNEzONkDC2pv3q1VkQ" alt=""><figcaption><p>Post contain awin1 link</p></figcaption></figure>

### **When do you need to use?**

&#x20;   ➡️ You have posts that introduce products and contain **links from awin1.Com**&#x20;

&#x20;   ➡️ You want replace that links with a your **Awin1 Affiliate ID.**

&#x20;   ➡️ You want Auto Generate awin1 affiliate link to **URL Short Bitly.**

{% tabs %}
{% tab title="Instructions" %}
To reach this first you will need to type **/settings** on **Auto Forward Telegram BOT.** Now click on **your task** so you can access the setup settings. Finally the **MMO Utils** ➡️ **Make Money with Awin1.Com.**

<figure><img src="/files/8QP2QxJmGpfDaKUfFX2h" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

* **Set Awinaffid:**  ID awin affiliate you want change or add to link.

<figure><img src="/files/Hci1jfLlKFPBS6qs0JKt" alt=""><figcaption><p>Set ID awin affiliate</p></figcaption></figure>

➡️  After complete setup it will **auto replace \&awinaffid in link equals your awinaffid.**

{% hint style="warning" %}
To **REMOVE.** Please enter tag is **EMPTY**
{% endhint %}

* **Auto Generate Bitly:** Auto generate a URL short link with[ bit.ly.](https://bit.ly)

  * With feature this you will need done setup a **Bitly Access Token.**&#x20;

  &#x20;     If you don't know how to get it, please login your [bit.ly](https://bit.ly) account. After visit the following link: [click here](https://app.bitly.com/settings/api/).

<figure><img src="/files/gUWD5VjBNgdRkhEbMD79" alt=""><figcaption><p><strong>Bitly Generate Access Token.</strong></p></figcaption></figure>

➡️ Next. Back to Auto Forward Bot

{% hint style="danger" %}
***Please change \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*L4fMblPrpZ to your Bitly Token***
{% endhint %}

<figure><img src="/files/mK7phVRxkVTHvpmqQ2hu" alt=""><figcaption><p>Setup Generate Bitly</p></figcaption></figure>

➡️  **After complete setup bitly it will auto generate link awin1 to URL short link bit.ly**

{% hint style="warning" %}
To **TURN OFF.** Please enter bitly token is **EMPTY**
{% endhint %}


# Whitelist

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

The **Whitelist** feature allows you to define a list of **approved users, groups, or channels** whose messages will be forwarded. This ensures that only content from specific sources is included in the forwarding process, helping you filter and control message flow effectively.

***

### **How It Works**

* When you add a user, group, or channel to the **Whitelist**, their messages will be forwarded.
* Messages from sources **not on the Whitelist** will be ignored.
* If no Whitelist is set up, messages from all sources are forwarded (unless other filters like Blacklist are applied).

***

### **1. Accessing the Replace Feature** <a href="#id-1.-accessing-the-replace-feature" id="id-1.-accessing-the-replace-feature"></a>

**On Mobile App**

1. Open the [Auto Forward mobile app](https://docs-v2.autoforwardtelegram.com/mobile-app/how-to-download-app-for-mobile).
2. Go to the **Dashboard**.
3. Tap on the  **Whitelist** icon (highlighted below).

<div align="left"><figure><img src="/files/hwDuwv8nbshbbOfTeCTn" alt="" width="375"><figcaption></figcaption></figure></div>

**On Web Dashboard**

1. Log in to the [Auto Forward Web](https://web.autoforwardtelegram.com/) Dashboard.
2. In the left-hand menu under **Features**, click on **Whitelist**.

<div align="left"><figure><img src="/files/yZ281nI1FEFF8cYxxuhe" alt="" width="375"><figcaption></figcaption></figure></div>

Next Tap on the **Add New** button (as shown in the image below):

<div align="left"><figure><img src="/files/Xec5tMCOPXLqmxPVWHR7" alt="" width="375"><figcaption></figcaption></figure></div>

## **2. Create Whitelist Rule**

<figure><img src="/files/RCqpoPeEfyY92gMNq2bJ" alt=""><figcaption></figcaption></figure>

#### **Options for Blacklist Apply To**

1. **Post:**&#x20;

   ```
   Check each message one by one — both original posts and replies.
   ```
2. **Reply:**&#x20;

   <pre data-overflow="wrap"><code>Check only the first post in a thread. If it matches, all its replies will be forwarded
   </code></pre>

#### **Options Whitelist Type**

You can choose one of the following **Whitelist Types**:

* **Basic**: Add simple words or phrases to the whitelist.
* **Regex**: Use Regular Expressions (Regex) for advanced filtering.
* **Whitelist by User**: Whitelist messages from specific users.

### **1.  Enter a Label**

* Add a **Label** to identify your whitelist rule.
* Example: `trusted_words` or `filter_links`.

### **2.**  Select Whitelist Type

* **Basic**: Enter one or more words (separate them with commas).
  * Example: `hello,cat,dog`.
* **Regex**: Use a regex pattern for advanced filtering.
  * Example: `\bhello\b` (matches the word "hello" fully).

### **3.**  Full Content (Optional)

* You can paste the original content to test or match against the rule.

### **4.**  Apply to Tasks (Optional)

* In the **Apply For Task** field, select a specific task if needed.

### **5. Save the Rule**

* Tap **Create Whitelist** to save and activate the rule.

## **4. Whitelist Type**

### **1. Basic Whitelist**

The **Basic Whitelist** allows you to forward messages containing specific words or phrases.

#### **Steps to Use**

1. Go to **Whitelist** → Tap **Add New**.
2. Select **Basic** in the **Whitelist Type** dropdown.
3. Add the words/phrases to the **Content Whitelist** field.
4. Tap **Create Whitelist** to save.

<figure><img src="/files/9NsXoKa6d52yXMqRGFoc" alt=""><figcaption></figcaption></figure>

**Example Scenarios**

* **Forward messages containing "news" or "alert"**
  * **Content Whitelist**: `news,alert`
  * **Example Message**:

    ```csharp
    Breaking news: Market is rising fast!  
    ```
  * **Result**: Forwarded ✅
* **Forward messages containing "update" or "report"**
  * **Content Whitelist**: `update,report`
  * **Example Message**:

    ```sql
    Daily update: Please check the sales report.  
    ```
  * **Result**: Forwarded ✅

***

### **2. Regex Whitelist**

The **Regex Whitelist** is used for advanced matching. allows you to match complex patterns, not just exact words — giving you more control and flexibility when filtering.

{% hint style="info" %}
Using Regex requires basic knowledge of regular expressions. If you’re unsure, use Simple Mode instead.

> Need help with Regex? Test patterns at [regex101.com](https://regex101.com) or learn from [regexone.com](https://regexone.com)
> {% endhint %}

If you’re not confident with writing regular expressions, you can ask AI platforms to help you generate them.

Recommended tools:

* 🧠 [ChatGPT](https://chat.openai.com) – just ask:

  > *E.g: “Write a regex to match hashtags starting with # and ending with space.”*
* 🤖 [Google Gemini](https://gemini.google.com)

🔍 These tools can explain, test, and even fix your regex patterns for you.

#### **Steps to Use**

1. Go to **Whitelist** → Tap **Add New**.
2. Select **Regex** in the **Whitelist Type** dropdown.
3. Enter the **Regex pattern** in the **Content Whitelist** field.
4. Tap **Create Whitelist** to save.

<figure><img src="/files/55HPH8GHB8JlnL3n1rUD" alt=""><figcaption></figcaption></figure>

**Combine with many condition AND, OR**

<figure><img src="/files/MTehHc6eJYz1a6XzrHNN" alt=""><figcaption></figcaption></figure>

**What are AND and OR Conditions?**

1. **AND Condition**:
   * Ensures that all specified conditions must be met for a message to pass the Whitelist filter.
   * Example: A message must contain **"BUY"** **and** **"SL: 13213"**.
2. **OR Condition**:
   * Ensures that any one of the specified conditions is met for a message to pass the Whitelist filter.
   * Example: A message must contain **"BUY"** **or** **"SELL"**.

***

**Add AND/OR Conditions**

1. **To Add an AND Condition**:

   * Tap the **+ AND** button to add another condition that must also be met.
   * Example: After entering `BUY`, add `SL: 13213`.

   **Result**: The message must include both **"BUY"** **and** **"SL: 13213"** to pass the filter.
2. **To Add an OR Condition**:

   * Tap the **+ OR** button to add another condition where either can be met.
   * Example: After entering `BUY`, add `SELL`.

   **Result**: The message must include either **"BUY"** **or** **"SELL"** to pass the filter.

<figure><img src="/files/WVtr3lfboVYTd0ZbkSyr" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
If your pattern includes special characters (like ., +, or spaces), escape them with \\. Example: x5\\+, hello\ world.
{% endhint %}

#### [**Checkout Example Scenarios**](/filters/whitelist/faq)

***

## **5.** Apply/Disable Replace For a Task

The **Whitelist** feature allows you to control which messages are forwarded based on **keywords, regex patterns, or specific users**. This guide explains how to apply or disable Whitelist rules for individual tasks or globally across all tasks.

#### **Step 1: Access the Whitelist List**

1. From the **Dashboard**, select the **Whitelist** feature.
2. You will see a list of all previously created **Whitelist rules**.

<figure><img src="/files/lWo5njXIfUV75bBVizFa" alt=""><figcaption></figcaption></figure>

***

#### **Step 2: Select a Whitelist Rule**

1. Locate the Whitelist rule you want to manage.
2. Tap or click on the rule.

   A **popup window** will appear, displaying the details of the selected Whitelist rule.

<figure><img src="/files/2tuXwwB0GXU7lUFux9VS" alt=""><figcaption></figcaption></figure>

***

#### **Step 3: Manage the Whitelist Rule for Tasks**

In the popup window, the following options are available:

1. **Activate/Deactivate For Task** (Green Button)
   * Use this option to enable or disable the Whitelist rule for a specific task.
   * If the rule is already **active**, clicking this will deactivate it for the selected task.
   * If the rule is **inactive**, clicking this will activate it for the selected task.

***

2. **Apply For All Tasks** (Blue Button)
   * This option allows you to apply the Whitelist rule to **all existing tasks**.
   * Use this feature when you want the Whitelist rule to work globally across all tasks.

***

3. **Edit Whitelist** (Orange Button)
   * Tap this option to **edit the Whitelist rule**.
   * You can update the label, content keywords, regex patterns, or user-specific rules.

***

4. **Delete** (Red Button)
   * Use this option to **delete** the Whitelist rule permanently.
   * Be cautious: once deleted, the rule cannot be recovered.

## **6. Tips for Using Whitelist**

1. Use **Basic** for simple word-based filtering.
2. Use **Regex** for more complex patterns (e.g., URLs, mentions, or exact word matches).
3. Be precise with Regex to avoid matching unintended content.
4. Test your Regex patterns on [regex101.com](https://regex101.com) before applying them.
5. Add clear and descriptive **Labels** for easier rule management.

***

### **Why Use Whitelist?**

* Ensure only relevant content is forwarded.
* Filter messages based on specific words, patterns, or trusted users.
* Improve control and accuracy of message forwarding.


# FAQ

Here are some useful Regex patterns to help you filter and forward messages based on specific content.

{% hint style="warning" %}
Note:

* Always enable Regex Mode when using these patterns.
* Use \bword\b to match a full word only.
* Escape special characters like . → \\. when needed.
  {% endhint %}

#### 🔗 Q: How do I forward messages that contain Telegram links?

Regex Pattern:

```
(telegram\.me|t\.me)/\w+
```

Example Message:

> Join us at <https://t.me/example\\_channel>.

✅ Result: Message will be forwarded.

***

#### ⚫ Q: How do I forward messages that contain either “black” or “white”?

Regex Pattern:

```
(black|white)
```

Example Message:

> The shirt is black, and the shoes are white.

✅ Result: Message will be forwarded.

***

#### **📌 Q: How to match the word “es” as a whole word only?**

Regex Pattern:

```
\bes\b
```

Example Message:

> This is es.

✅ Result: Message will be forwarded.

***

#### 🧠 **Q: How to forward messages that contain both “work1” and “work2”?**

Regex Pattern:

```
^(?=.*\bwork1\b)(?=.*\bwork2\b).*
```

Example Messages:

* ✅ *I have work1 to do and work2 as well.*
* ✅ *work1 and work2 are both important.*
* ❌ *Only work1 is complete.* → Not forwarded

***

🎨 Q: How do I forward messages that contain either “red” or “blue”?

Regex Pattern:

```
(red|blue)
```

Example Message:

> The car is blue.

✅ Result: Message will be forwarded.

***


# Blacklist

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

Here is the **Blacklist** documentation based on the structure and details provided for the Whitelist feature:

***

## **Blacklist: Block Messages Based on Words, Patterns, or Users**

The **Blacklist** feature allows you to define a list of blocked users, groups, or channels whose messages will not be forwarded. This ensures that unwanted content from specific sources is excluded from the forwarding process, helping you maintain control and relevance in message flow.

***

## **How It Works**

* When you add a user, group, or channel to the **Blacklist**, their messages will be blocked.
* Messages from sources **on the Blacklist** will not be forwarded.
* If no Blacklist is set up, messages from all sources will be forwarded (unless other filters like Whitelist are applied).

***

## **1. Accessing the Blacklist Feature**

#### **On Mobile App**

1. Open the [Auto Forward mobile app](https://docs-v2.autoforwardtelegram.com/mobile-app/how-to-download-app-for-mobile).
2. Go to the **Dashboard**.
3. Tap on the **Blacklist** icon.

<div align="left"><figure><img src="/files/xZipSVTwpYNL96DiUCud" alt="" width="375"><figcaption></figcaption></figure></div>

***

#### **On Web Dashboard**

1. **Log in to the** [**Auto Forward Web**](https://web.autoforwardtelegram.com/) **Dashboard.**
2. In the left-hand menu under **Features**, click on **Blacklist**.

<div align="left"><figure><img src="/files/oUiDOiE2ZfNdHR1wdBBA" alt="" width="375"><figcaption></figcaption></figure></div>

***

#### **Next Step**

Tap on the **Add New** button to create a new Blacklist rule.

<div align="left"><figure><img src="/files/mWMSSiFnNCumeGuhLp8K" alt="" width="375"><figcaption></figcaption></figure></div>

***

## **2. Create Blacklist Rule**

<figure><img src="/files/zrbx4GKsmu8TE5SM58ON" alt=""><figcaption></figcaption></figure>

#### **Options for Blacklist Apply To**

1. **Post:**&#x20;

   ```
   Check each message one by one — both original posts and replies.
   ```
2. **Reply:**&#x20;

   <pre data-overflow="wrap"><code>Check only the first post in a thread. If it matches, all its replies will not be forwarded.
   </code></pre>

#### **Options for Blacklist Type**

You can choose one of the following Blacklist Types:

1. **Basic**: Add simple words or phrases to the Blacklist.
2. **Regex**: Use Regular Expressions (Regex) for advanced filtering.
3. **Blacklist By User**: Block messages from specific users.

***

#### **Steps to Create a Blacklist Rule**

**1. Enter a Label**

* Add a Label to identify your Blacklist rule.
* **Example**: `block_words`, `remove_links`.

**2. Select Blacklist Type**

* **Basic**: Enter one or more words (separate them with commas).
  * **Example**: `spam,ad,unwanted`.
* **Regex**: Use a regex pattern for advanced filtering.
  * **Example**: `\bunwanted\b` (matches the word "unwanted" fully).
* **Blacklist By User**: Add usernames or user IDs to block specific senders.

**3. Full Content (Optional)**

* Paste the original content to test or match against the rule.

**4. Apply to Tasks (Optional)**

* In the **Apply For Task** field, select a specific task if needed.

**5. Save the Rule**

* Tap **Create Blacklist** to save and activate the rule.

***

## **3. Blacklist Types**

### **1. Basic Blacklist**

The **Basic Blacklist** allows you to block messages containing specific words or phrases.

**Steps to Use**

1. Go to **Blacklist** → Tap **Add New**.
2. Select **Basic** in the **Blacklist Type** dropdown.
3. Add the words/phrases to the **Content Blacklist** field.
4. Tap **Create Blacklist** to save.

<figure><img src="/files/R0EfsQhfFAgYfWRKVn5r" alt=""><figcaption></figcaption></figure>

***

**Example Scenarios**

1. **Block messages containing "spam" or "ad"**
   * **Content Blacklist**: `spam,ad`
   * **Example Message**:

     ```
     This is a spam message with an ad.  
     ```
   * **Result**: Blocked ❌
2. **Block messages containing "promotion" or "unsubscribe"**
   * **Content Blacklist**: `promotion,unsubscribe`
   * **Example Message**:

     ```
     Check out our latest promotion! Unsubscribe anytime.  
     ```
   * **Result**: Blocked ❌

***

### **2. Regex Blacklist**

The **Regex Blacklist** is used for advanced matching. allows you to match complex patterns, not just exact words — giving you more control and flexibility when filtering.

{% hint style="info" %}
Using Regex requires basic knowledge of regular expressions. If you’re unsure, use Simple Mode instead.

> Need help with Regex? Test patterns at [regex101.com](https://regex101.com) or learn from [regexone.com](https://regexone.com)
> {% endhint %}

If you’re not confident with writing regular expressions, you can ask AI platforms to help you generate them.

Recommended tools:

* 🧠 [ChatGPT](https://chat.openai.com) – just ask:

  > *E.g: “Write a regex to match hashtags starting with # and ending with space.”*
* 🤖 [Google Gemini](https://gemini.google.com)

🔍 These tools can explain, test, and even fix your regex patterns for you.

**Steps to Use**

1. Go to **Blacklist** → Tap **Add New**.
2. Select **Regex** in the **Blacklist Type** dropdown.
3. Enter the **Regex pattern** in the **Content Blacklist** field.
4. Tap **Create Blacklist** to save.

<figure><img src="/files/UQ9supyl6c4J9VdChOMb" alt=""><figcaption></figcaption></figure>

***

**Combine Conditions with AND/OR**

* **AND Condition**: All specified conditions must be met.
* **OR Condition**: Any one of the specified conditions must be met.

<figure><img src="/files/3gt5rrevc4qyOH8oN8vx" alt=""><figcaption></figcaption></figure>

#### **What are AND and OR Conditions?**

1. **AND Condition**:
   * Ensures that all specified conditions must be met for a message to be blocked.
   * Example: A message must contain **"buy"** **and** **"cheap"** to be blocked.
2. **OR Condition**:
   * Ensures that any one of the specified conditions is met for a message to be blocked.
   * Example: A message must contain **"spam"** **or** **"ad"** to be blocked.

#### **How to Add AND/OR Conditions**

1. **Add an AND Condition**:

   * Tap the **+ AND** button to add another condition that must also be met.
   * **Example**: After entering `buy`, add `cheap`.

   **Result**: Messages containing both **"buy"** **and** **"cheap"** will be blocked.
2. **Add an OR Condition**:

   * Tap the **+ OR** button to add another condition where either can be met.
   * **Example**: After entering `spam`, add `ad`.

   **Result**: Messages containing either **"spam"** **or** **"ad"** will be blocked.

<figure><img src="/files/CKEldGZGeAyt3BxuOPDC" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
If your pattern includes special characters (like ., +, or spaces), escape them with \\. Example: x5\\+, hello\ world.
{% endhint %}

**Example Scenarios**

1. **Block messages containing links**
   * **Regex Pattern**:

     ```regex
     (http|https|www)\S+  
     ```
   * **Example Message**:

     ```
     Visit https://example.com for more info.  
     ```
   * **Result**: Blocked ❌
2. **Block messages containing "scam" or "fraud"**
   * **Regex Pattern**:

     ```regex
     (scam|fraud)  
     ```
   * **Example Message**:

     ```
     This is a fraud alert.  
     ```
   * **Result**: Blocked ❌
3. **Block messages containing both "buy" and "cheap"**
   * **Regex Pattern**:

     ```regex
     ^(?=.*\bbuy\b)(?=.*\bcheap\b).*  
     ```
   * **Example Message**:

     ```
     Buy this product for a cheap price!  
     ```
   * **Result**: Blocked ❌

#### **Example Scenarios Combine Multiple AND/OR Conditions**

1. **Block Messages Containing Both "buy" and "cheap"**
   * **Condition**:
     * **Content Blacklist**: `buy`
     * Add Condition: **+ AND** → `cheap`
   * **Example Message**:

     ```kotlin
     kotlinSao chép mãBuy this product for a cheap price!  
     ```
   * **Result**: Blocked ❌
2. **Block Messages Containing Either "spam" or "ad"**
   * **Condition**:
     * **Content Blacklist**: `spam`
     * Add Condition: **+ OR** → `ad`
   * **Example Message**:

     ```csharp
     csharpSao chép mãThis is a spam message with an ad.  
     ```
   * **Result**: Blocked ❌
3. **Combine Multiple AND/OR Conditions**
   * **Condition**:
     * **Content Blacklist**: `buy`
     * Add Condition: **+ AND** → `cheap`
     * Add Condition: **+ OR** → `scam`
   * **Example Messages**:
     * `Buy this product for a cheap price!`: Blocked ❌
     * `This is a scam message`: Blocked ❌
     * `Buy now`: Not Blocked ✅

***

### **3. Blacklist By User (Platinum Plan Only)**

The **Blacklist By User** feature allows you to block messages from specific users, channels, or groups.

***

**How to Use Blacklist By User**

1. Use the **`/getid`** command to find the **User ID** of the sender.
   * **Example**:

     ```
     /getid  
     ➡️ User ID: 123456789  
     ```
2. Go to **Dashboard** → Tap on **Blacklist** → **Add New**.
3. Select **Blacklist By User** as the Blacklist Type.
4. Enter the **User ID** (e.g., `123456789`) or the **Username** (e.g., `@blocked_user`).
5. Tap **Create Blacklist** to save the rule.

***

**Example Scenario**

* **Use Case**: Block messages from a spammer.
* **Content Blacklist**: `123456789` or `@spammer_user`.
* **Result**: Messages from the user will be blocked.

***

### **4. Apply/Disable Blacklist For a Task**

#### **Steps**

1. From the **Dashboard**, select the **Blacklist** feature.
2. Locate the Blacklist rule you want to manage.
3. Tap on the rule to open the **popup window**.

#### **Options**

1. **Activate/Deactivate For Task**: Enable or disable the rule for a specific task.
2. **Apply For All Tasks**: Apply the rule globally across all tasks.
3. **Edit Blacklist**: Update keywords, regex patterns, or user IDs.
4. **Delete**: Permanently remove the rule.

***

### **5. Tips for Using Blacklist**

* Use **Basic** for simple word-based filtering.
* Use **Regex** for complex patterns like URLs, mentions, or phrases.
* Regularly review and update Blacklist rules for optimal performance.
* Test Regex patterns using [regex101.com](https://regex101.com/).

***

### **Why Use Blacklist?**

* Prevents unwanted content from being forwarded.
* Blocks spam and irrelevant messages.
* Ensures better control over message forwarding.

***

With the **Blacklist** feature, you can effectively block messages based on words, patterns, or specific senders, ensuring only relevant content is forwarded. 🚀


# FAQ

Use these patterns and logic conditions to block messages that match specific keywords, links, or combinations.

{% hint style="warning" %}
Note:

* Always enable Regex Mode when using these patterns.
* Use \bword\b to match a full word only.
* Escape special characters like . → \\. when needed.
  {% endhint %}

#### 🚫 Q: How do I block messages containing any link?

Regex Pattern:

```
(http|https|www)\S+
```

Example Message:

> Visit <https://example.com> for more info.

❌ Result: Blocked

***

#### ⚠️ Q: How do I block messages with words like “scam” or “fraud”?

Regex Pattern:

```
(scam|fraud)
```

Example Message:

> This is a fraud alert.

❌ Result: Blocked

***

#### 🧠 Q: How do I block messages that contain both “buy” and “cheap”?

Regex Pattern:

```
^(?=.*\bbuy\b)(?=.*\bcheap\b).*
```

Example Message:

> Buy this product for a cheap price!

❌ Result: Blocked

***

#### ✅ Q: How to block messages that contain both “buy” AND “cheap”?

Setup:

* Condition 1: buy
* Add AND → cheap

Example Message:

> Buy this product for a cheap price!

❌ Result: Blocked

***

#### 🔁 Q: How to block messages that contain either “spam”OR “ad”?

Setup:

* Condition 1: spam
* Add OR → ad

Example Message:

> This is a spam message with an ad.

❌ Result: Blocked

***

#### 🧩 Q: How to combine multiple AND/OR conditions?

Setup:

* Condition 1: buy
* AND → cheap
* OR → scam

Example Messages:

| Message                             | Result        |
| ----------------------------------- | ------------- |
| Buy this product for a cheap price! | ❌ Blocked     |
| This is a scam message              | ❌ Blocked     |
| Buy now                             | ✅ Not blocked |


# Whitelist Users

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

The **Whitelist By User** feature allows you to forward messages only from specific users, channels, or groups that you select. By using a Whitelist, you can specify which users' messages should be forwarded using their **USER\_ID** or **USERNAME**.

***

#### **How to Use Whitelist By User**

To forward messages only from selected users, follow these steps:

1. **Find the User ID** of the users you want to whitelist:

   * Open the chat where you want to forward messages from specific users.
   * Use the command **`/getid`** in the chat.
   * Note down the **User ID** that appears in the response.

   <div align="left"><figure><img src="/files/xuP7yuJeea7kmxTZNCW3" alt=""><figcaption></figcaption></figure></div>

   **Example**:

   ```
   /getid

   ➡️ User ID: 123456789
   ```

   **Note**<mark style="color:orange;">: Make sure you are using a Telegram account connected to the</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**AutoForward Telegram Bot**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">to execute the</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**/getid**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">command.</mark>

2. **Create a Whitelist Rule** in the app:
   * Go to **Dashboard** → Tap on **Whitelist** → **Add New**.
   * Select **Whitelist By User** as the **Whitelist Type**.
   * In the **Content Whitelist** field:
     * Enter the **User ID** (e.g., `123456789`) or the **Username** (e.g., `@trusted_user`).
   * Tap **Create Whitelist** to save the rule.

<div align="left"><figure><img src="/files/r7w5N1iPb6XR1DSs2IGL" alt="" width="563"><figcaption></figcaption></figure></div>

***

#### **Example Scenario**

**Use Case**: Forward messages only from a trusted user.

* **Content Whitelist**: `123456789` or `@trusted_user`
* **Example Message**:

  ```
  Hello, here is the latest report.  
  ```
* **Result**:
  * If sent by the whitelisted user (`123456789` or `@trusted_user`): Forwarded ✅
  * If sent by any other user: Blocked ❌

***

#### **Why Use Whitelist By User?**

* Allows you to control and limit message forwarding to trusted users only.
* Ensures your forwarded messages are from verified and relevant sources.
* Enhances filtering accuracy by targeting specific **User IDs** or **Usernames**.


# Filter By Type

{% hint style="info" %}
This menu is used to filter messages by type. Using it will tell **BOT** which messages you want **to process** and which ones **to ignore**
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

If you want to skip certain Telegram messages or clean up their content before forwarding, Auto Forward Messenger’s [Cleaner](/filters/cleaner) and Filters features are exactly what you need. **The Filters feature lets you skip entire messages** based on specific conditions, while **the** [**Cleaner**](/filters/cleaner) **actively removes** unwanted elements from within each message—such as links, emojis, hashtags, or other clutter.\
\
Whether you’re managing a crypto channel, curating content, or forwarding to a group, these tools give you more control and better automation.

### 🚫 What Is the Filters Feature?

Unlike Cleaner, which fine-tunes message content, **Filters give you a way to skip forwarding entire messages** when they match specific rules.\
\
For example, you can block messages that contain links, consist only of plain text, or include certain keywords. This level of control is especially useful when managing high-volume channels.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters6a.png" alt="Filters Feature" height="966" width="476"><figcaption></figcaption></figure>

**Example 1: Filter Out Messages with Links**

To block link-based messages from being forwarded:

1. Go to the **Filters** tab.
2. Enable **Filter → Links**.
3. Send a message with a URL to your source chat.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters6.webp" alt="FILTERS LINK" height="966" width="476"><figcaption></figcaption></figure>

That message will be skipped automatically. Others without links will go through as normal.

**Example 2: Block Text-Only Messages**

If you’re tired of clutter, this one’s for you. Enable **Filter → Text** to prevent plain text messages from being forwarded. Meanwhile, media or image messages will still go through.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters7.webp" alt="FILTERS TEXT" height="966" width="476"><figcaption></figcaption></figure>

***

### 🔎 Filters – Control What Messages Get Forwarded

The Filters feature lets you decide which message types to include or ignore in each task. This gives you full control over what gets forwarded.

> ✅ Turn ON any filter to exclude that message type from being forwarded.

#### 📑 All Available Filters

| Document         | Ignore document messages (e.g., PDF, DOCX)                             |
| ---------------- | ---------------------------------------------------------------------- |
| Video            | Ignore video messages                                                  |
| Audio            | Ignore audio messages                                                  |
| Sticker          | Ignore sticker messages                                                |
| Text             | Ignore messages that contain text                                      |
| Photo            | Ignore photo messages                                                  |
| Photo Only       | Ignore photo messages that don’t include any text or caption           |
| Photo With Text  | Ignore photo messages that contain a caption/text                      |
| Album            | Ignore album-style media (multiple photos/videos grouped together)     |
| Poll             | Ignore Telegram poll messages                                          |
| Voice            | Ignore voice messages (voice notes)                                    |
| Video Note       | Ignore round/circular video notes                                      |
| Animation (GIF)  | Ignore animated GIFs                                                   |
| Forwards         | Ignore messages that are forwarded from other chats                    |
| Reply            | Ignore messages that are replies to other messages                     |
| Link             | Ignore messages that contain links (URLs)                              |
| Button           | Ignore messages that contain buttons (inline keyboards)                |
| Without Username | Ignore messages from users who don’t have a username (only for groups) |
| Outgoing         | Ignore messages that are sent from the target group/channel itself     |

***

{% embed url="<https://youtu.be/CZ1a2BGAGyM>" %}

#### Telegram Auto Forward Cleaner vs. Filters – What’s the Difference?

Here’s a quick breakdown:

| Feature                         | What It Does                                                             |
| ------------------------------- | ------------------------------------------------------------------------ |
| [**Cleaner**](/filters/cleaner) | Removes parts of a message (e.g., emojis, URLs, hashtags) from a message |
| **Filters**                     | Skips or blocks entire messages if they match certain conditions         |

➡️ For the best results, use both together. That’s why many Telegram admins, content curators, and crypto traders trust Auto Forward Messenger—it gives them cleaner automation and smarter control.

#### Final Thoughts on Telegram Auto Forward with Cleaner and Filters

In conclusion, the Cleaner and Filters features offer flexibility and precision. Whether you’re removing visual clutter or filtering out unwanted messages, these tools empower you to customize your Telegram workflow effectively.\
\
👉 Try them today. Open [Auto Forward Messenger](https://blog.autoforwardtelegram.com/how-to-auto-forward-telegram-messages.html) and customize your automation for a better Telegram experience!

***


# Cleaner

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters-bannerv3.webp" alt=""><figcaption></figcaption></figure>

If you want to skip certain Telegram messages or clean up their content before forwarding, Auto Forward Messenger’s Cleaner and Filters features are exactly what you need.[ **The Filters feature**](/filters/whitelist) **lets you skip entire messages** based on specific conditions, while **the Cleaner actively removes** unwanted elements from within each message—such as links, emojis, hashtags, or other clutter.\
\
Whether you’re managing a crypto channel, curating content, or forwarding to a group, these tools give you more control and better automation.

### 🧹 What Is the Cleaner Feature?

The Cleaner feature in Auto Forward Messenger helps you remove specific elements from forwarded messages—like emojis, hashtags, links, URL previews, and other unwanted content—before they reach your target chat.\
\
This ensures your forwarded messages look clean and professional every time.

### Step-by-Step Guide: How to Use the Cleaner

To enable Auto Forward Messenger Cleaner and Filters, simply follow these steps:

1. Open your auto-forward task inside the app.
2. Scroll down and locate the Filters section.
3. Tap the **Cleaner** tab to begin adjusting message cleanup settings.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters1.webp" alt="telegram auto forward cleaner and filters" width="375"><figcaption></figcaption></figure>

**Example 1: Remove URL Previews Automatically**

If your message includes a link and shows a preview, turn on the **Cleaner → URL Preview** toggle. Then, re-send the message to your source chat. As a result, the forwarded version won’t include the preview.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters2.webp" alt="telegram auto forward cleaner and filters: URL Preview" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
This menu is used to remove text, video, photo etc from messages if the **conditions match.** It's basically **Filters** but instead of ignoring or allowing messages, **it removes the content it matches**\
\
Check ✅ if you want to remove a certain filter.
{% endhint %}

**Example 2: Remove Emojis and Hashtags**

Looking for a cleaner or more formal tone? Enable the Emoji and Hashtag options in the Cleaner tab. The message will be forwarded without these extra elements.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters3.webp" alt="telegram auto forward cleaner and filters: CLEANER HASHTAG" width="375"><figcaption></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters4.webp" alt="CLENNER EMOJI" width="375"><figcaption></figcaption></figure>

**Example 3: Strip URLs From Messages**

To completely remove clickable links, activate **Cleaner → CLEANER URL**. From that point on, forwarded messages will be link-free.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/telegram-auto-forward-cleaner-filters5.webp" alt="CLEANNER URL" width="375"><figcaption></figcaption></figure>

#### 🔍 Available Cleaner Options

| Cleaner Type       | Description                                                    |
| ------------------ | -------------------------------------------------------------- |
| Document           | Remove document attachments                                    |
| Video              | Remove video messages                                          |
| Audio              | Remove audio messages                                          |
| Sticker            | Remove sticker messages                                        |
| Text               | Remove messages that contain any text (with or without media)  |
| Photo              | Remove photo messages                                          |
| Photo Without Text | Remove photo-only messages with no caption or text             |
| Hashtag            | Remove messages containing hashtags (e.g. #crypto)             |
| Mention            | Remove messages with mentions (e.g. @username)                 |
| URL                | Remove messages that contain links (e.g. https\://)            |
| URL Preview        | Remove embedded link previews                                  |
| Video Notes        | Remove round-style video messages (Telegram’s circular videos) |
| Voice              | Remove voice message recordings                                |
| Emoji              | Remove messages containing only emojis                         |
| Dice               | Remove dice or mini-game messages                              |
| Animation (GIF)    | Remove animated GIFs                                           |

#### Telegram Auto Forward Cleaner vs. Filters – What’s the Difference?

Here’s a quick breakdown:

| Feature                           | What It Does                                                             |
| --------------------------------- | ------------------------------------------------------------------------ |
| **Cleaner**                       | Removes parts of a message (e.g., emojis, URLs, hashtags) from a message |
| [**Filters**](/filters/whitelist) | Skips or blocks entire messages if they match certain conditions         |

➡️ For the best results, use both together. That’s why many Telegram admins, content curators, and crypto traders trust Auto Forward Messenger—it gives them cleaner automation and smarter control.

{% embed url="<https://www.youtube.com/watch?v=CZ1a2BGAGyM>" %}

#### Final Thoughts on Telegram Auto Forward with Cleaner and Filters

In conclusion, the Cleaner and Filters features offer flexibility and precision. Whether you’re removing visual clutter or filtering out unwanted messages, these tools empower you to customize your Telegram workflow effectively.\
\
👉 Try them today. Open [Auto Forward Messenger](https://blog.autoforwardtelegram.com/how-to-auto-forward-telegram-messages.html) and customize your automation for a better Telegram experience!

***


# Crypto Mode

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

**Crypto Mode: Automatic Filtering of Tokens and Contract Addresses**

Enhance your message filtering by automatically forwarding relevant content about tokens and contract addresses.

{% embed url="<https://youtu.be/XSLx4O8tmTA>" %}

&#x20;✅ **Crypto Mode Features:**

* **Contract Address Filtering:** Detects across multiple blockchains (e.g., BTC, ETH).
* **Fast Mode:** Increases filtering speed (disables editing/replies).
* **Contract Frequency Checker:** Analyzes contract appearance patterns.
* **Duplicate Detection:** Avoids repeated posts on the same contract.
* **Custom Header/Footer:** Adds context to forwarded messages.

⚙️ **Setup Guide**

1. **Navigate to Detail Task Forward**\
   Access the "Detail Task Forward" section.
2. **Select Crypto Mode**\
   Choose the desired crypto mode.
3. **Configure Parameters**\
   Set the required parameters according to your needs.
4. **Save**\
   Remember to save your configurations.


# Duplicate Filters

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

**Anti-Duplicate Feature**

Eliminate duplicate messages with ease! Automatically prevent the forwarding of repeated messages to the same groups or channels, keeping your content spotless and spam-free.

{% embed url="<https://youtu.be/lVT8Xy7yxm0>" %}

### ✅ Key Features

* **Efficient Communication**: Perfect for sharing news, announcements, and promotions.
* **Reliable Delivery**: Automatically confirms prior message deliveries.
* **Simple Setup**: Easily activated within task settings.

### ⚙️ Setup Guide

1. **Navigate to "Detail Task Forward"**\
   Access this section to proceed.
2. **Select Duplicate Filters**\
   Choose this option as needed.
3. **Configure Parameters**\
   Set the required parameters based on your needs.
4. **Save**\
   Ensure you save your configurations.


# Schedule Telegram Message Posting Automatically

{% hint style="info" %}
This is a feature help you schedule auto post a last message from source to target on Auto Forward
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

If you’re looking to **schedule Telegram message posting** automatically, you’re in the right place. Whether you’re managing news updates, crypto alerts, or community broadcasts, this feature can save hours of manual work every week.\
\
With the **Auto Post Scheduler** in the [**Auto Forward Messages** ](http://t.me/Auto_Forward_Messages_Bot)bot, you can publish content using three powerful automation modes:

#### 1. **Interval Mode**

* Repost messages at fixed time intervals (minutes)
* Example: Repost every 15 minutes, 30 minutes, 1 hour, etc.

#### 2. **Fixed Time Mode**

* Repost messages at specific times
* Example: Post at 10:00 on December 25, 2025

#### 3. **Repeat Mode** ⭐

* Repost messages according to recurring schedules
* Supports daily, weekly, monthly, or custom repetition

This guide walks you through both scheduling methods in detail—helping you automate your Telegram workflow with precision and control. **Since this is a powerful feature with many flexible options, the article may be a bit long—but it’s well worth it if you want to master this tool like a pro.**

{% embed url="<https://youtu.be/6dwzfSJwMZM>" %}

***

**Why You Should Schedule Telegram Message Posting?**

Telegram currently doesn’t support automatic scheduling for forwarding messages between chats. In other words, if you want to schedule Telegram message posting—from one group, channel, or chat to another—you’d have to do it manually each time.\
\
That’s exactly when the **Auto Forward Messages bot** unleashes its full potential—empowering you to automate what Telegram alone cannot. It lets you:

* Automatically deliver selected messages without lifting a finger
* Loop important updates on a repeating schedule
* Fully control the timing, sequence, and delay between forwards

😉 **Imagine this:** you prepare a single message—or multiple messages—in advance and send them into your source chat. Then simply set the schedule for exactly midnight. When 00:00 arrives, the bot automatically posts your messages to your channels or groups. You don’t have to stay up or do anything manually—it all happens while you sleep.

***

### 🔁 Interval Mode – Schedule Telegram Message Posting Repeatedly

**What It Does?**

Interval Mode allows you to schedule Telegram message posting at fixed time intervals—such as every few minutes or hours. Once activated, it runs continuously until you manually stop the task.

This is ideal for reposting rotating content, automated reminders, or looping marketing messages without interruption.

**How to Set Up Interval Scheduling**

#### **1.** **Open Your Task**

Launch the Auto Forward for Telegram app and choose the task you want to automate.

#### **2.** **Scroll to Auto Post Scheduler**

Inside the task settings, tap on **“Auto Post Scheduler”**.<br>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting1.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

#### **3.** **Enable Auto Posting Mode**

Switch the toggle **ON** to activate scheduled message posting.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting2.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

#### **4.** **Select Interval Mode**

From the dropdown menu, choose **“Interval”** mode to begin setting your repeated schedule.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting3.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

#### **5.** **Set Posting Frequency**

In the **“Post every”** field, enter how often the bot should send a message.

Example: Enter `1` to post every **1 minute**, or `5` to post every **5 minutes** to your target chats.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting4.webp" alt="" width="188"><figcaption></figcaption></figure>

#### 6. Schedule Start Time (Interval Mode)

**Schedule Start Time** allows users to set a specific future date and time when the interval-based auto-posting will begin. Before this time, the task remains inactive even if enabled.

<figure><img src="/files/7ArrQUBAp0RZhFQ3DWfl" alt="" width="434"><figcaption></figcaption></figure>

**Key Features**

* Set future start date & time for interval mode
* Task waits until scheduled time before starting
* Stored as Unix timestamp (milliseconds)
* Optional feature - can be enabled/disabled

**Use Cases**

**Example 1: Launch Campaign at Specific Time**

```
Schedule Type: Interval (post every 15 minutes)
Start Time: Tomorrow 9:00 AM
→ Task activates tomorrow at 9:00 AM, then posts every 15 minutes
```

**Benefits**

* **Precision**: Exact time control for campaigns
* **Automation**: No manual activation needed
* **Flexibility**: Can be enabled/disabled anytime
* **Planning**: Schedule tasks in advance

#### **7.** **Enter Message IDs**

In the **“Message ID(s)”** field, specify the message(s) to be posted.\
You have several options:

* Enter a single ID (e.g., 3) to automatically post that message every (X) minutes
* Enter multiple message IDs separated by commas (e.g., 1,3,5) to randomly post one of them every (X) minutes — for example, one of those three will be picked and sent to your target chats at each interval.
* Enter **0** to automatically fetch and post the **latest message** from your source chat every (X) minutes.

**Tips:** To get a message ID, copy its Telegram link and use the number at the end of the URL.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting5.webp" alt="" width="188"><figcaption></figcaption></figure>

#### 8. **Posting Order**

The **Posting Order** setting controls how messages are selected when you have multiple Message IDs. This feature is **only available in Interval Mode**.

**All (Send All Messages at Once) ⭐**

* **All messages are posted at once** in a single posting cycle
* Each message is sent with a configurable **delay between messages** to avoid spam
* **Default delay**: 1 second (if not specified)
* **Use case**: When you want to broadcast multiple messages together as a batch
* **Example**: If you have Message IDs `100,200,300` with a 5-second delay:
  * 10:00:00 → Message 100 is posted
  * 10:00:05 → Message 200 is posted
  * 10:00:10 → Message 300 is posted

**Delay Between Messages** (All Mode Only):

* When using **All** posting order, an additional input field appears
* Enter the delay time in **seconds** between each message
* **Minimum**: 1 second (default if left empty)
* **Recommended**: 3-10 seconds to avoid Telegram rate limits
* This prevents your messages from being flagged as spam

**Random Order**

* Messages are posted in random sequence
* Each posting cycle selects a random message from your Message ID list
* **Use case**: Create variety and unpredictability in your posts
* **Example**: If you have Message IDs `100,200,300`, the posting sequence might be: 200 → 100 → 300 → 200 → 100...

**Sequential Order**

* Messages are posted in the exact order you entered them
* Cycles through the list from first to last, then repeats
* **Use case**: When message order matters (e.g., storytelling, tutorials, sequential announcements)
* **Example**: If you have Message IDs `100,200,300`, the posting sequence will always be: 100 → 200 → 300 → 100 → 200 → 300...

#### **9.** **Advanced Settings** (optional but recommended)

* **Pause Real-Time Forwarding** (Default: ON): When enabled, this setting pauses real-time message forwarding while scheduled posting is active. This prevents message duplication or overlap.
* **Delay Between Targets**: If your task is sending to multiple target chats, you can avoid spam detection by introducing a delay between each message. For example, setting 6 will pause **6 seconds** between messages sent to different target chats.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting6.webp" alt="" width="188"><figcaption></figcaption></figure>

#### **10. Save and Activate**

Once everything is set, tap **`Done`** to save your configuration. You’ll receive a confirmation, and the schedule will start running immediately.

#### **What to Expect**

The Auto Forward Messages bot will now schedule Telegram message posting based on the frequency and message IDs you configured. Messages will be delivered repeatedly—rotating as needed—until you turn off or modify the task.

### 🕰️ Fixed Time Mode – Schedule Telegram Message Posting at Exact Times

**What It Does?**

Fixed Time Mode allows you to schedule Telegram message posting at **specific hours and minutes**—with precision down to the second—on the current day or any future date. This is perfect for broadcasting messages that need to go out **on time**, such as breaking news, time-sensitive alerts, or coordinated campaign drops.

**How to Set Up Fixed-Time Scheduling**

#### **1. Switch to Fixed Time Mode**

Inside the Auto Post Scheduler, choose **“Fixed Time”** from the dropdown menu.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting7b.webp" alt="" width="188"><figcaption></figcaption></figure>

#### **2. Set Exact Time and Message ID**

For each time slot, define both:

* The exact time you want the message to post (e.g., 12:53 PM).
* ID `0` tells the bot to fetch the **latest** message from the source chat.
* Tap the **`Add Schedule`** to create one or more posting schedules.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting8b.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

#### **3.** **Add Scheduled Time Slots**

Example schedule:

**12:53 PM** → ID **0** (latest message)

**12:54 PM** → ID **3**

**12:55 PM** → ID **5**

**12:58 PM** → ID **7**\
\
Note:

**To edit** any existing time slot, simply tap on the time entry you want to modify.

**To delete** a scheduled time slot, tap the red remove icon at the end of the item.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting9.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

#### 3. **Posting Order**

The **Posting Order** setting controls how messages are selected when you have multiple Message IDs. This feature is **only available in Interval Mode**.

**All (Send All Messages at Once) ⭐**

* **All messages are posted at once** in a single posting cycle
* Each message is sent with a configurable **delay between messages** to avoid spam
* **Default delay**: 1 second (if not specified)
* **Use case**: When you want to broadcast multiple messages together as a batch
* **Example**: If you have Message IDs `100,200,300` with a 5-second delay:
  * 10:00:00 → Message 100 is posted
  * 10:00:05 → Message 200 is posted
  * 10:00:10 → Message 300 is posted

**Delay Between Messages** (All Mode Only):

* When using **All** posting order, an additional input field appears
* Enter the delay time in **seconds** between each message
* **Minimum**: 1 second (default if left empty)
* **Recommended**: 3-10 seconds to avoid Telegram rate limits
* This prevents your messages from being flagged as spam

**Random Order**

* Messages are posted in random sequence
* Each posting cycle selects a random message from your Message ID list
* **Use case**: Create variety and unpredictability in your posts
* **Example**: If you have Message IDs `100,200,300`, the posting sequence might be: 200 → 100 → 300 → 200 → 100...

**Sequential Order**

* Messages are posted in the exact order you entered them
* Cycles through the list from first to last, then repeats
* **Use case**: When message order matters (e.g., storytelling, tutorials, sequential announcements)
* **Example**: If you have Message IDs `100,200,300`, the posting sequence will always be: 100 → 200 → 300 → 100 → 200 → 300...

#### **4. Advanced Settings (Optional but Recommended)**

Identical to Interval Mode, but with one additional option.

* **Resume Real-Time Forwarding After Schedule Ends** (Default: ON): Once all fixed-time posts for the day are complete, this setting automatically resumes real-time forwarding. This is especially useful if you want the bot to pause real-time activity during high-priority scheduled posts, and then continue normal forwarding behavior afterward.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting10.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

#### **5.** **Save and Activate**

After adding all desired time slots and configuring settings, tap **“Done”** to save the task. Your bot will immediately begin scheduling posts based on your setup.

**What to Expect**

The Auto Forward Messages bot will now schedule Telegram message posting precisely at the defined times. Each message will go out **exactly when planned**, making this mode ideal for:

* Publishing breaking news at scheduled peak times.
* Running coordinated global campaigns across time zones.
* Executing strategic content drops during high-engagement windows.
* Replacing manual reminders with timed automation

**⏰ Important: Timezone Awareness**

Scheduled posts will follow the **timezone of the Telegram account connected to the Auto Forward Messages bot** — not your device’s timezone.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting11.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting12.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

If your connected account is **set to GMT+7**, for example, all scheduled times will **follow GMT+7 exactly**.

This means:

* ⚠️ Even if your phone or PC is in a different time zone, the schedule won’t adjust automatically.
* ✅ To ensure messages are delivered at the right time, set your Auto Forward account’s time zone to match the target region.

This is especially important for time-sensitive posts sent to international groups.\
\
If all your chats share the same time zone, set the account accordingly. If you manage groups across multiple time zones, choose the time zone that best fits your main audience.

### 🕰️ Repeat Schedule Feature User Guide

### Overview

The **Repeat Schedule** feature allows you to automatically repost messages according to recurring schedules. This is a powerful feature that helps you maintain posting activities automatically and in a planned manner.

***

### How to Use Repeat Mode

#### Step 1: Enable the Feature

1. Open the **Task** you want to set up scheduled posting for
2. Find and enable the **Auto Post Schedule** toggle
3. Select **Schedule Type** → **Repeat**

<figure><img src="/files/UwWbzNXkkQSs20SOjvGf" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="/files/KrYcFVuMVsJsW6Mw0IDC" alt="" width="375"><figcaption></figcaption></figure>

#### Step 2: Set Up Repeat Schedule

**2.1. Select Time**

* Tap the **time picker** button to open the time selector
* Choose the hour and minute you want to post the message
* Example: 09:00, 14:30, 18:00

**2.2. Enter Message ID**

* Enter the **Message ID** of the message you want to repost
* Supports multiple Message IDs, separated by commas
* Example: `123` or `123,456,789`

**2.3. Choose Repeat Mode**

The system provides 4 repeat modes:

**a) Daily**

* Messages will be reposted every day at the selected time
* Example: Post every day at 09:00 AM

**b) Weekly**

* Select the days of the week you want to post
* You can select one or multiple days:
  * **Sun** (Sunday)
  * **Mon** (Monday)
  * **Tue** (Tuesday)
  * **Wed** (Wednesday)
  * **Thu** (Thursday)
  * **Fri** (Friday)
  * **Sat** (Saturday)
* Example: Post on **Monday, Wednesday, Friday** at 14:00

**c) Monthly**

* Select the day of the month (1-31) you want to post
* Messages will be posted on that day every month
* Example: Post on **the 15th** of every month at 10:00

⚠️ **Note**: If you select days 29, 30, or 31, months without those days will be skipped

**d) Custom**

* Set custom repeat intervals (number of days)
* Examples:
  * Repeat every **2 days** (every other day)
  * Repeat every **3 days**
  * Repeat every **7 days** (equivalent to weekly)

#### Step 3: Add Repeat Schedule

1. After completing the setup, tap the **Add** button
2. The new repeat schedule will appear in the list
3. You can add multiple different repeat schedules

<figure><img src="/files/0mb8q9y58Eeza0ezdYJR" alt="" width="375"><figcaption></figcaption></figure>

#### Step 4: Manage Repeat Schedules

**Edit**

* Tap the **Edit icon** (pen symbol) next to the repeat schedule
* Change the necessary information
* Tap **Update** to save changes

**Delete**

* Tap the **Delete icon** (trash can symbol)
* Confirm deletion in the dialog

#### Step 5: Additional Settings

**Pause Forwarding During Post**

* Enable to pause message forwarding while scheduled posting is in progress
* Avoids conflicts between forwarding and scheduled posting

**Resume Forwarding After Post**

* Enable to automatically resume forwarding after completing scheduled posting
* Only applies to **Fixed Time** and **Repeat Mode**

**Delay Target**

* Set the wait time (seconds) between posts to different targets
* Avoid spam and violating Telegram's limits
* **Recommended**: 4-10 seconds

#### Step 5. **Posting Order**

The **Posting Order** setting controls how messages are selected when you have multiple Message IDs. This feature is **only available in Interval Mode**.

**All (Send All Messages at Once) ⭐**

* **All messages are posted at once** in a single posting cycle
* Each message is sent with a configurable **delay between messages** to avoid spam
* **Default delay**: 1 second (if not specified)
* **Use case**: When you want to broadcast multiple messages together as a batch
* **Example**: If you have Message IDs `100,200,300` with a 5-second delay:
  * 10:00:00 → Message 100 is posted
  * 10:00:05 → Message 200 is posted
  * 10:00:10 → Message 300 is posted

**Delay Between Messages** (All Mode Only):

* When using **All** posting order, an additional input field appears
* Enter the delay time in **seconds** between each message
* **Minimum**: 1 second (default if left empty)
* **Recommended**: 3-10 seconds to avoid Telegram rate limits
* This prevents your messages from being flagged as spam

**Random Order**

* Messages are posted in random sequence
* Each posting cycle selects a random message from your Message ID list
* **Use case**: Create variety and unpredictability in your posts
* **Example**: If you have Message IDs `100,200,300`, the posting sequence might be: 200 → 100 → 300 → 200 → 100...

**Sequential Order**

* Messages are posted in the exact order you entered them
* Cycles through the list from first to last, then repeats
* **Use case**: When message order matters (e.g., storytelling, tutorials, sequential announcements)
* **Example**: If you have Message IDs `100,200,300`, the posting sequence will always be: 100 → 200 → 300 → 100 → 200 → 300...

#### Step 6: Save Settings

1. Review all information
2. Tap the **Update** button to save the configuration
3. The system will notify you when saved successfully

**⏰ Important: Timezone Awareness**

Scheduled posts will follow the **timezone of the Telegram account connected to the Auto Forward Messages bot** — not your device’s timezone.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting11.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2025/07/schedule-telegram-message-posting12.webp" alt="schedule Telegram message posting" width="188"><figcaption></figcaption></figure>

If your connected account is **set to GMT+7**, for example, all scheduled times will **follow GMT+7 exactly**.

This means:

* ⚠️ Even if your phone or PC is in a different time zone, the schedule won’t adjust automatically.
* ✅ To ensure messages are delivered at the right time, set your Auto Forward account’s time zone to match the target region.

This is especially important for time-sensitive posts sent to international groups.\
\
If all your chats share the same time zone, set the account accordingly. If you manage groups across multiple time zones, choose the time zone that best fits your main audience.

***

### Real-World Examples

#### Example 1: Post daily at 8:00 AM

```
- Time: 08:00
- Message ID: 123
- Repeat Type: Daily
```

→ Message ID 123 will be posted every day at 8:00 AM

#### Example 2: Post on Monday, Wednesday, Friday

```
- Time: 14:00
- Message ID: 456,789
- Repeat Type: Weekly
- Days: Mon, Wed, Fri
```

→ Messages ID 456 and 789 will be posted on Monday, Wednesday, Friday at 14:00

#### Example 3: Post on the first day of every month

```
- Time: 09:00
- Message ID: 111
- Repeat Type: Monthly
- Day of Month: 1
```

→ Message ID 111 will be posted on the 1st of every month at 09:00

#### Example 4: Post every 3 days

```
- Time: 18:00
- Message ID: 222,333
- Repeat Type: Custom
- Repeat Interval: 3
```

→ Messages ID 222 and 333 will be posted every 3 days at 18:00

***

### Important Notes

#### ⚠️ Limits & Rules

1. **Message ID must be valid**
   * Only accepts integers
   * Multiple IDs separated by commas
   * Valid examples: `123` or `123,456,789`
2. **Time must be selected**
   * Cannot be empty
   * Use the time picker to select accurately
3. **Weekly Mode**
   * Must select at least 1 day of the week
   * Can select multiple days
4. **Monthly Mode**
   * Only select days from 1-31
   * Days 29, 30, 31 may be skipped in some months
5. **Custom Mode**
   * Interval must be ≥ 1 day
   * Cannot be empty

#### 🔒 System Requirements

* Bot must be running (not stopped)
* Account must have active VIP subscription (if this is a premium feature)
* Task must be in active status

#### 💡 Usage Tips

1. **Avoid duplicates**: Don't create multiple repeat schedules with the same time
2. **Check Message ID**: Ensure Message ID exists in the source
3. **Reasonable delay**: Set delay to 5-10 seconds if you have multiple targets
4. **Test first**: Try with 1-2 schedules before expanding
5. **Monitor**: Check logs to ensure proper operation

#### ❌ Common Errors

| Error                                | Cause                            | Solution                                |
| ------------------------------------ | -------------------------------- | --------------------------------------- |
| "Please select time"                 | Time not selected                | Select time from picker                 |
| "Please enter message ID"            | Message ID empty                 | Enter valid Message ID                  |
| "Invalid message ID format"          | Wrong format                     | Only enter numbers, separated by commas |
| "Please select at least one day"     | Weekly mode with no day selected | Select at least 1 day                   |
| "Repeat interval must be at least 1" | Custom interval < 1              | Set interval ≥ 1                        |

***

### Frequently Asked Questions (FAQ)

#### FAQs

**Q: Can I use both Interval and Fixed Time modes together?**\
No. Each task must use either Interval Mode or Fixed Time Mode, not both at the same time. If you need both, create two separate tasks.

**Q: Can I schedule messages from different chats?**\
Yes, as long as your personal Telegram account has access to the source chats. However, since this feature works best for scheduled announcements, we recommend creating a dedicated source chat to organize and manage the messages you plan to schedule.

Additionally, make sure the message IDs you use for scheduling come from the source chats you added to the task. The bot can only auto-post messages if their IDs belong to chats already defined as source chats within that specific task.

**Q: Do I need to keep my device online after scheduling?**\
No, you don’t need to keep your device online. Once your schedule is configured, the Auto Forward Messages bot takes care of everything automatically—even if your phone or computer is offline. All logic is handled on the bot side.

**Q. How many repeat schedules can I create?**

There is no limit on the number of repeat schedules. However, keep it at a reasonable level for easier management.

**Q. Do repeat schedules automatically stop?**

No, repeat schedules will run continuously until you turn off the Task or delete the schedule.

**Q. Can I use multiple Message IDs?**

Yes, enter multiple IDs separated by commas. Example: `123,456,789`

**Q. What if I select day 31 for monthly repeats?**

Months without day 31 will be automatically skipped (February, April, June, September, November).

**Q. Can I combine multiple modes?**

No, each Task can only use 1 mode: Interval, Fixed Time, or Repeat.

**Q. How do I know if the schedule is running?**

Check the logs or posting history in the Task.

**Q. Can I pause repeat schedules?**

Yes, turn off the **Auto Post Schedule** toggle or stop the Task.

**Q. How is the timezone calculated?**

The system uses the timezone configured in your account settings.


# Scheduler Power On/Off

{% hint style="info" %}
This is a feature help you schedule turn on/off  task on Auto Forward
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**Follow these steps**

1. Type **/settings** on **Auto Forward Telegram BOT.**&#x20;
2. Click  **Manage Forwarding Task** to show list your Task.&#x20;
3. **Select task you want set scheduler.**&#x20;
4. Next click **Advanced Configuration** to can access the setup task forward.&#x20;
5. Finally select **set scheduler**&#x20;

Example: Task **task\_fw\_news** so you can access the task setup settings.&#x20;

![](/files/ZfxFThajO1wmmJeRWWZ8)

**Step 3.** Select feature **Scheduler Power On/Off** and click **Set time** next enter time you want set turn on/off the following syntax. Example

**07:00 - 20:30**

![Click Set Time](/files/ryJPl4CDTc9udbOTir4Q)

After running the above action **you will be asked** to input the time that you want **work1** to turn on and off your setups. Here are a few example syntax on how to do this.

{% hint style="info" %}
Start at **12:30** and Stop at **2:30**

12:30 - 2:30

Start at **09:00** and Stop at **21:00**

9:00 - 21:00
{% endhint %}

![Enter time you want](/files/3QfjM15idqY8UHgRyiHo)

DONE.
{% endtab %}
{% endtabs %}


# Delay For Source

{% hint style="warning" %}
The **Delay For Sources** feature is designed to delay messages from a source chat before they are forwarded to target chats. This helps manage the timing of message delivery, ensuring a smoother distribution of messages across target chats, and also reduces the risk of Telegram account limitations.
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**Follow these steps**

1. Open application **AutoForward for Telegram**
2. At list Task Forward **choose Task you want set Delay For Source**
3. At screen detail Task choose **Set** **Delay Feature**

<div align="left"><figure><img src="/files/25GIJdckpqmofBps7E6I" alt=""><figcaption></figcaption></figure></div>

4. **Next choose Delay for Source**

<div align="left"><figure><img src="/files/IRa941e6hWObpAUtAAMh" alt=""><figcaption></figcaption></figure></div>

5. **At here choose Mode and enter delay second want set and click Done**

{% code title="Delay Mode" overflow="wrap" %}

```
Normal Mode: Bot will used by same Boost Performance configuration

Delay Mode: This mode is used by default. On this mode, Delay messages exactly the time they are received + delayed amount. This means that if the source sends 100 messages at once, with a 10 second delay bot will send 100 messages after 10 seconds.

Spread Mode: In this mode, Bot will spread messages evenly. This means that if the source sends 100 messages and you have a delay of 10 seconds set. Bot will delay each message 10 second from the last one.

Separate Mode: In this mode, each message has its own independent delay. For example, if you set 5 minutes, a message received at 9:00 will be sent at 9:05, while a message received at 9:01 will be sent at 9:06.
```

{% endcode %}

<div align="left"><figure><img src="/files/twyysYYfXbtsXV2xNDNR" alt=""><figcaption></figcaption></figure></div>

And that's it!
{% endtab %}
{% endtabs %}


# Delay For Targets

{% hint style="warning" %}
The **Delay For Targets** feature is designed to prevent Telegram account limitations caused by sending messages to multiple target chats simultaneously when a new message arrives from a source chat. Instead, this feature will delay the forwarding of messages to the targets, spreading out the delivery over time.
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**Follow these steps**

1. Open application **AutoForward for Telegram**
2. At list Task Forward **choose Task you want set Delay For Targets**
3. At screen detail Task choose **Set** **Delay Feature**

<div align="left"><figure><img src="/files/25GIJdckpqmofBps7E6I" alt=""><figcaption></figcaption></figure></div>

4. **Next choose Delay for Target**

<div align="left"><figure><img src="/files/naQmQ3ORT30oBYEawIdc" alt=""><figcaption></figcaption></figure></div>

5. **At here enter delay second want set and click Done**

<div align="left"><figure><img src="/files/QS4B81LADLjOyZ3VuEW1" alt=""><figcaption></figcaption></figure></div>

And that's it!
{% endtab %}
{% endtabs %}


# Process To Raw Text

{% hint style="info" %}
Some posts often contain **Hyperlinks**, **Address**, **Reference URL** .. it not safe and you want remote it or simple is you want remove all format text.

**This is a feature in settings help  you convert posts to Raw Text**
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**Follow these steps**

1. Type **/settings** on **Auto Forward Telegram BOT.**&#x20;
2. Click  **Manage Forwarding Task** to show list your Task
3. **Select task you want Process To Raw Text**
4. Next click **Advanced Configuration** to can access the setup task forward
5. Finally select **Process To Raw Text**

![](/files/IRt0aZHPNlOcPUxCiG6U)

**Step 3**. At Menu settings click **Process To Raw Text** to ✅ **TURN ON** or click to 🚫 **TURN OFF**

![](/files/bGcDrDG5SdK6SpClRDGf)

### ❇️ DEMO

This is post contain **Hyperlinks, Bold Style, Italic Style**

![](/files/svfRUBb6SiYYGGzRovt0)

➡️ **After Convert To Raw Text:**

![](/files/ybtcGMM2hYINWSiVyEgs)
{% endtab %}
{% endtabs %}


# Convert Buttons To Text

{% hint style="info" %}
**This is a feature help you convert post buttons to text**
{% endhint %}

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

{% tabs %}
{% tab title=" Example" %}
✅ Post contain buttons

![](/files/rXRHiXrnsdoSsmjdX1UL)

➡️ After Convert To Text:

**Please select the service you are interested in**

VIP SIGNAL

BOT Auto Trade

Cheap Forex VPS

Best ZERO spread Forex Broker

Contact Support
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Instructions" %}
**Follow these steps**

1. Type **/settings** on **Auto Forward Telegram BOT.**&#x20;
2. Click  **Manage Forwarding Task** to show list your Task
3. **Select task you want Convert Buttons To Text**
4. Next click **Advanced Configuration** to can access the setup task forward
5. Finally select **Convert Buttons To Text**

![](/files/EJoXGAZBnnCyJNBpBMXH)

**Step 3**. At Menu settings click **Convert Buttons To Text** to ✅ **TURN ON** or click to 🚫 **TURN OFF**

![](/files/ugPe1mzrnMPApVdWJ01v)

### ❇️ DEMO

![](/files/bRZG2kwuySz3gt9MhJDn)
{% endtab %}
{% endtabs %}


# Forward Header

The Show Forward Header feature allows you to retain the original forward information when a message is forwarded. When enabled, recipients will see the original sender’s name and profile, just like a native Telegram forwarded message.

This helps increase credibility and engagement — especially useful for crypto signals, announcements, or influencer posts — as it shows where the message originally came from.

#### ⚙️ How It Works:

* When you forward a message (e.g., from your saved messages or another channel) using AutoForward,
* And you have “Show Forward Header” enabled,
* The message will be forwarded with the original source information at the top of the message.

<figure><img src="/files/Yv6qN99Mlze3OItvW4vj" alt=""><figcaption></figcaption></figure>

#### ✅ Example:

If the original message was forwarded from:

> 🔁 Forwarded from Auto Forward Telegram BOT News

<figure><img src="/files/nNKMyqO1yUNEovB6dsen" alt=""><figcaption></figcaption></figure>

Then when it’s forwarded again with this feature on, the destination will also show that header — making it look like the message truly came from that original source.

### Display Mode (Forwarded Header)

<figure><img src="/files/hQsbKU7RhuRwK5KJGXjU" alt=""><figcaption></figcaption></figure>

The Display Mode option allows you to customize when the “Forwarded from” label appears on messages forwarded by the bot. This gives you better control over how forwarded content looks in your target channels or groups.

#### 📂 Available Display Modes:

**✅ 1. Show on all auto-forwarded messages (Default)**

> Always show the “Forwarded from” label on every auto-forwarded message, regardless of whether the source message was forwarded or not.

🔹 Best for: Giving visibility and credit to the original channel, even if the message isn’t a native forwarded message.

***

**⭕ 2. Show only when source message is also forwarded**

> Only show the “Forwarded from” label if the message in the source chat was already a forwarded message.

🔹 Best for: Keeping your forwarded content cleaner and more natural, only showing the header when it matches the source behavior.

***

#### 🧠 Why this matters:

* Branding: Let your readers know where content comes from.
* Trust: Highlight official sources (e.g., crypto updates, influencer posts).
* Flexibility: You decide when the forwarded header is appropriate.


# X & Discord Publisher

### Overview

X & Discord Publisher lets you take content from Telegram and publish it automatically to external platforms, specifically **X (Twitter)** and **Discord**.

Instead of manually copying every post or announcement from Telegram to other platforms, you only need to set it up once. The system monitors your Telegram source, then publishes content automatically based on your configuration.

This feature is useful when you want to:

* Sync announcements from Telegram to X to keep your social channels active
* Push news, product updates, or community alerts from Telegram to Discord
* Automate operations when your team uses Telegram as the main content source
* Reduce repetitive manual work when posting the same content to multiple platforms

<figure><img src="/files/GlMFFGUiuBFcAA7Ydz1U" alt="" width="424"><figcaption></figcaption></figure>

***

### Where is this feature?

You can open it from:

1. Go to **Home**
2. Tap **Publish**
3. You will see the **Publish Task** area

This area currently includes 4 main parts:

* **Publish List**: shows all publish tasks you have created
* **Platform Accounts**: manages the X and Discord accounts used for publishing
* **Create Publish Task**: creates a new publishing flow from Telegram to X or Discord
* **Publish Detail**: monitors task status, edits configuration, and starts or stops tasks

***

### What is it used for?

X & Discord Publisher is designed to turn Telegram into your **content input source**, then automatically distribute that content to other platforms.

#### For X Publisher

This is useful when you want to:

* Repost Telegram content to your project or brand's X account
* Maintain a steady posting flow on X without manual posting
* Use Telegram as the editorial source while X becomes the public distribution channel

#### For Discord Publisher

This is useful when you want to:

* Send Telegram announcements into a Discord server
* Automatically sync content between Telegram and your Discord community
* Publish the same content to one or multiple Discord channels through a connected bot account

***

### Main features

#### 1. Platform account management

You can add and manage separate accounts used for publishing.

**X Account**

To connect X, you need:

* API Key
* API Secret
* Access Token
* Access Secret

**Discord Account**

To connect Discord, you need:

* Discord Bot Token

After adding an account, you can:

* Verify the connection
* Edit credentials
* Delete accounts you no longer use
* Filter accounts by X or Discord

Related documents:

* How to get an X API Key
* How to get a Discord Bot Token

***

#### 2. Create a Publish Task from Telegram

Each Publish Task is its own publishing configuration.

When creating a task, you can define:

* A **task name** for easier management
* A **Telegram source** such as a channel or group to monitor
* A **destination platform**: X or Discord
* A connected **publishing account**

If you choose **Discord**, you can add **one or more Channel IDs** so the same content is published to multiple Discord channels at the same time.

***

#### 3. Track Telegram changes

A Publish Task does not only process new messages. It also supports options related to changes from the Telegram source:

* **Include edited messages**
* **Include deleted messages**

This is useful when you want the destination platform to stay aligned with the latest state of the original Telegram content.

***

#### 4. Customize content before publishing

Before content is published to X or Discord, you can configure additional content formatting such as:

* **Header**: adds text at the beginning of the post
* **Footer**: adds text at the end of the post

Examples:

* Add a source label at the top of each post
* Insert a follow reminder at the bottom
* Standardize formatting before sending content to another platform

***

#### 5. Schedule publishing

You can use scheduling to control when content is published.

This is useful when you want to:

* Avoid publishing immediately when a Telegram message arrives
* Run publishing on a specific operational schedule
* Re-post content according to the task's schedule settings

In the current app flow, this is opened through **Auto Post Schedule** in the create form or in Publish Detail.

***

#### 6. Delivery and error handling options

To make publishing more stable, the task supports a few delivery-related options:

* **Retry on rate limit**
* **Skip on error so the task can continue running**

These settings are especially useful if you publish frequently or operate multiple publish tasks at the same time.

***

#### 7. Task status management

After a task is created, you can open its detail screen to:

* View task status
* **Start Publish**
* **Stop Publish**
* Edit the task
* Delete the task

This gives you direct control over each publishing flow based on your operational needs.

***

### Quick start flow

If you want to start quickly, follow this order:

1. Open **Home → Publish**
2. Go to **Platform Accounts**
3. Add an **X** or **Discord** account
4. Verify the account connection
5. Create a new **Publish Task**
6. Select the Telegram source
7. Select the destination account
8. If you use Discord, enter one or more **Channel IDs**
9. Configure Header, Footer, or scheduling if needed
10. Save the task and tap **Start Publish**

***

### When should you use this feature?

#### Use case 1: Repost project announcements to X

If your Telegram channel is your official announcement source, you can create a Publish Task to automatically repost those updates to your X account instead of copying them manually.

#### Use case 2: Sync Telegram with your Discord community

If you manage both Telegram and Discord communities, announcements from Telegram can automatically appear in one or more Discord channels so Discord users do not miss important updates.

#### Use case 3: Separate editorial source and distribution channels

Your content team can work inside Telegram, then use Publish Tasks to distribute that content to public or internal platforms automatically.

***

### Important notes

* This feature requires the **External Publish** addon to be active
* X or Discord accounts should be **verified successfully** before using them in a task
* For Discord, the bot must have access to the target channel and permission to send messages
* If you edit or delete a platform account, tasks using that account may stop working
* Use clear task names if you manage multiple publishing flows

***

### Recommended usage tips

* Use **one task for one clear purpose**, for example: Telegram News → X or Telegram Announcements → Discord
* Verify account connections before enabling a production task
* For Discord, test on a secondary channel before using the main channel
* If you want consistent formatting, configure Header and Footer early
* If you run multiple publish flows, use a consistent task naming pattern for easier management

***

### Summary

X & Discord Publisher helps you **turn Telegram into a central publishing source**, then automatically distribute content to **X** and **Discord**.

This feature is especially useful for users who need to:

* Repost Telegram content to social media
* Sync announcements into Discord communities
* Automate multi-platform content distribution
* Reduce manual work and improve operational consistency

When configured properly, it becomes an efficient way to extend Telegram content to external channels without increasing day-to-day workload.


# VK Social Publisher

### What it is

VK publishing has been improved to make destination setup easier and more accurate.

You can now choose whether your destination is a **VK Profile** or a **VK Community/Page**, then paste a VK URL or ID and let the app normalize it automatically.

### Where to find it

You will see these improvements in:

* the **Publish** task creation flow
* the **Publish** task detail flow
* the **Add Platform Account** flow for VK connection

### How to set it up

1. Open **Publish**.
2. Create a new publish task or edit an existing one.
3. Select **VK** as the publishing platform.
4. Choose the destination type:
   * `VK Profile`
   * `VK Community/Page`
5. Paste a VK URL or enter a VK ID.
6. Review the destination preview.
7. Save the task.

### How it works

AutoForward now interprets VK input more intelligently.

For example:

* a VK profile stays a positive user ID
* a VK community or page is normalized into the correct community target ID

This reduces manual setup mistakes and makes destination handling more reliable.

### Examples

#### VK Profile

Input:

```
https://vk.com/id647480210
```

Normalized target:

```
647480210
```

#### VK Community/Page

Input:

```
https://vk.com/public216874049
```

Normalized target:

```
-216874049
```

### Why it is useful

* It makes VK publishing easier to configure.
* It reduces destination mistakes.
* It helps you verify where your content will be published before saving.
* It improves the overall VK connection experience on both mobile and web.

### Notes

* VK Profile uses a positive ID.
* VK Community/Page uses the normalized community target format.
* If the input is invalid, AutoForward will ask you to correct it before saving.


# How to Get a Discord Bot Token

## How to Get a Discord Bot Token

### Overview

Use this guide when you want to connect a Discord account inside AutoForward.

AutoForward uses a **Discord Bot Token** to authenticate your bot before it can publish messages to Discord channels or webhook-based destinations.

If you are on the **Add Platform Account** screen and selected **Discord**, this is the value you need to paste into the **Discord Bot Token** field.

***

### Before You Start

Make sure you have:

* A Discord account
* Access to the Discord server where the bot will be used
* Permission to create applications in the Discord Developer Portal

***

### Step 1: Open the Discord Developer Portal

1. Go to <https://discord.com/developers/applications>
2. Sign in with your Discord account
3. Click **New Application**

***

### Step 2: Create a New Discord Application

1. Enter a name for your bot
2. Click **Create**
3. You will be taken to the application dashboard

Use a clear name so you can recognize it later inside AutoForward, for example:

* `AutoForward Bot`
* `News Relay Bot`
* `Telegram to Discord Bot`

***

### Step 3: Add a Bot to the Application

1. In the left sidebar, open the **Bot** tab
2. Click **Add Bot**
3. Confirm by clicking **Yes, do it!**

After this step, Discord creates a bot user for your application.

***

### Step 4: Copy the Bot Token

1. Stay on the **Bot** tab
2. Find the token section
3. Click **Reset Token** if Discord asks you to generate one first
4. Click **Copy** to copy the token

This copied value is your bot token.

Example raw token format:

```
MTIzNDU2Nzg5MDEyMzQ1Njc4.GhIjKl.MnOpQrStUvWxYz1234567890
```

***

### Step 5: Format the Token for AutoForward

In the current AutoForward Discord account flow, use the token in this format:

```
Bot YOUR_DISCORD_BOT_TOKEN
```

Example:

```
Bot MTIzNDU2Nzg5MDEyMzQ1Njc4.GhIjKl.MnOpQrStUvWxYz1234567890
```

Important:

* Include the word `Bot`
* Include exactly one space after `Bot`
* Then paste the token you copied from Discord
* Do not add quotes

If you only copied the raw token from Discord, prepend `Bot` before pasting it into AutoForward.

***

### Step 6: Add the Token in AutoForward

1. Open **Platform Accounts** in AutoForward
2. Tap **Add Account**
3. Select **Discord**
4. Enter an account name
5. Paste the formatted value into **Discord Bot Token**
6. Save the account
7. Run **Verify Connection** if that option is shown

If the token is valid, the account status should move to a connected state after verification.

***

### Step 7: Invite the Bot to Your Discord Server

Getting the token is not enough by itself. To send messages to a Discord server, your bot must also be added to that server.

Basic flow:

1. Open the **OAuth2** tab in the Discord Developer Portal
2. Go to **URL Generator**
3. Select the scopes your setup needs
4. Generate the invite URL
5. Open the URL and add the bot to your server

At minimum, make sure the bot has the permissions required for your destination type, such as:

* View Channels
* Send Messages
* Embed Links
* Attach Files

If you plan to publish into a specific channel by bot account, also confirm that the bot can see and post in that channel.

***

### Common Mistakes

#### 1. Pasting the raw token without the prefix

Wrong:

```
MTIzNDU2Nzg5MDEyMzQ1Njc4.GhIjKl.MnOpQrStUvWxYz1234567890
```

Correct:

```
Bot MTIzNDU2Nzg5MDEyMzQ1Njc4.GhIjKl.MnOpQrStUvWxYz1234567890
```

#### 2. Resetting the token and still using the old value

If you click **Reset Token** in Discord, the old token stops working immediately. Update the token in AutoForward right away.

#### 3. Bot not added to the server

Even with a valid token, the bot cannot deliver messages if it has not been invited to the target server.

#### 4. Missing channel permissions

The bot may verify successfully but still fail to publish if it lacks permission in the target channel.

***

### Security Notes

* Treat your Discord Bot Token like a password
* Never share it in screenshots, chats, or support tickets
* Never commit it to Git or public repositories
* If the token is exposed, reset it immediately in the Discord Developer Portal and update AutoForward with the new value

***

### Quick Checklist

* Application created in Discord Developer Portal
* Bot added to the application
* Bot token copied
* `Bot` prefix added before the token
* Token pasted into AutoForward
* Account saved and verified
* Bot invited to the correct Discord server
* Bot has permission to post in the target channel

***

### Troubleshooting

If AutoForward cannot verify your Discord account:

1. Re-copy the token from the Discord Developer Portal
2. Make sure the value starts with `Bot`
3. Remove accidental extra spaces before or after the token
4. Confirm the token has not been reset
5. Save the account again and re-run verification

If the account verifies but publishing still fails, check the bot's server membership and channel permissions.


# How to Get a Discord Channel ID

#### 1. Get information channels Discord <a href="#id-1.-get-information-channels-discord" id="id-1.-get-information-channels-discord"></a>

**To retrieve Discord channel ID information, you must first configure both the Discord Token and the Telegram Token.**

After completing this configuration step, proceed to the Discord channel where you want to set up auto-forwarding.

<figure><img src="https://docs.discordtotelegram.com/~gitbook/image?url=https%3A%2F%2F1411727809-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FVhpPRFKnQMi8lMIm3GR5%252Fuploads%252F5p9QBJrvgdpp1mnNnH3d%252Fimage.png%3Falt%3Dmedia%26token%3D03c0f2c6-4c98-419f-bbb7-39501a2a6709&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=2c99a003&#x26;sv=2" alt=""><figcaption></figcaption></figure>

At this point, type **`/getid`** and press send.

<figure><img src="https://docs.discordtotelegram.com/~gitbook/image?url=https%3A%2F%2F1411727809-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FVhpPRFKnQMi8lMIm3GR5%252Fuploads%252FkpuaTWDuZT8M8mUGZJf3%252Fimage.png%3Falt%3Dmedia%26token%3D24d16b0b-b169-43b3-8733-085c92f5283c&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=dc43b69a&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**The information about the channel, including the Channel ID, will be displayed immediately.**

**Copy this ID to set up the forward task.**

In the example above, the Channel ID will be **1330086886491947102**.

**🟠 Manual Guide to Retrieve Channel ID from Discord**

If the `/getid` command does not work to retrieve channel information, you can manually get the Channel ID by following these steps:

1. **Go to the Discord channel you want to retrieve the ID from**.
   * Open Discord and navigate to the desired channel.
2. **Copy the channel link**.
   * Right-click on the channel name and select **Copy Link**.
   * Example: The copied link will look like: `https://discord.com/channels/1330015664596848711/1330086886491947102`.
3. **Extract the Channel ID**.
   * The Channel ID is the last numeric part of the link.
     * For example, from the link: `https://discord.com/channels/1330015664596848711/1330086886491947102`, the **Channel ID** is **1330086886491947102**.
4. **Use this ID** in your configuration for the next steps.


# How to Get X API Key

Use this guide to connect an **X** account to AutoForward. The current X Developer Console labels the credentials below under **OAuth 1.0 Keys**.

### The four values AutoForward needs

| AutoForward field     | Label in X Developer Console             |
| --------------------- | ---------------------------------------- |
| `Consumer Key`        | Consumer Key (also called API Key)       |
| `Consumer Secret`     | Consumer Secret (also called API Secret) |
| `Access Token`        | Access Token                             |
| `Access Token Secret` | Access Token Secret                      |

All four values are required. They must come from the same X App and the X account that will publish posts.

### Get the credentials

1. Open [console.x.com](https://console.x.com/) and sign in with the X account that will be used for publishing.
2. Create an App if you do not already have one, or select the existing App you want AutoForward to use.
3. Open **Apps**, choose the App, then open **Keys & Tokens**.
4. In **OAuth 1.0 Keys**, copy the **Consumer Key** and **Consumer Secret**.
5. In the same section, generate the **Access Token** for the publishing X account. Copy both the **Access Token** and **Access Token Secret** that X displays.
6. In AutoForward, open **Platform Accounts → Add Account → X**, then paste each value into the matching field and save.

X may show a **Regenerate** button instead of **Generate**. Regenerating a credential replaces the old value, so update the matching value in AutoForward immediately.

### Allow posting before generating tokens

Open your App's **Settings** and set its permissions to **Read and write** before generating the Access Token. If you change permissions later, regenerate the Access Token pair and replace both values in AutoForward; existing tokens can keep the old permissions.

### Do not use these values

AutoForward uses OAuth 1.0a credentials. Do **not** paste any of these values into the four fields above:

* Bearer Token
* Client ID
* Client Secret
* OAuth 2.0 Access Token

They belong to a different X authentication method and cannot replace the four OAuth 1.0 values listed in the table.

### Troubleshooting

* **Connection or publishing fails:** confirm that all four values were copied from the same App, and that the Access Token belongs to the X account that should publish.
* **You changed permissions or regenerated a value:** generate a fresh Access Token pair and update AutoForward before verifying again.
* **X reports no credits or API access:** open **Billing → Credits** in the X Developer Console, add credits or confirm your App has access to the required API endpoint, then retry.

### Keep credentials secure

Treat every value as a password. X may display generated credentials only once; store them in a secure password manager, never share them in screenshots or support tickets, and regenerate them immediately if exposed.


# Clone Messages

### What it is

The Clone Profile flow has been improved to make it easier to create, open, review, and manage clone profiles.

This update focuses on smoother navigation, better list synchronization, and clearer handling when some cloned messages are still missing.

### Where to find it

{% hint style="success" %}
✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

You can use this flow in the **Home** -> **Clone** area of the app.

<figure><img src="/files/erGTHfRQDhvkAzaCwPlk" alt=""><figcaption></figcaption></figure>

### How to use it

1. Open **Clone Profile**.
2. Create a new clone profile.
3. Review the profile detail screen.
4. Start or manage clone operations from the profile.
5. Return to the list when needed. Your newly created profile should already be synced there.

### What is improved

* better create-to-detail flow
* more reliable list sync after creating a profile
* clone count badge on Home
* count cached per `userId`
* clearer handling for incomplete clone results

### Clone Again vs Retry Missing

These two actions serve different purposes:

* **Clone Again** starts a brand-new clone operation from the beginning.
* **Retry Missing** only retries messages that were not cloned successfully and are still retryable.

### Why it is useful

* It reduces confusion after creating a new clone profile.
* It helps your profile list stay up to date.
* It makes it easier to continue a partially completed clone instead of starting from scratch.
* It gives you a quicker overview of clone-related activity from Home.

### Example

If a large clone operation finishes with some missing messages, you may not need to rerun everything.

In that case:

* use **Retry Missing** if retryable messages are available
* use **Clone Again** only when you want to run the whole process again

#### Part1: Clone Messages from One Channel to Another&#x20;

{% embed url="<https://youtu.be/iIlr8c7vDCQ>" %}

#### Part2: Clone Messages from One Group to Group/Topics

{% embed url="<https://youtu.be/ReIA8fNXk18>" %}


# Clone Messages with a Telegram Bot

### Overview

Clone Bot Sender lets a Clone Profile send cloned messages through a Telegram bot instead of your personal Telegram account.

This can help separate automated clone activity from your personal account, reduce the chance that your account is identified as the sender, and reduce the risk of account restrictions while cloning.

Bot Sender does not guarantee protection from restrictions or bans. Use the feature responsibly and follow Telegram rules and the rules of the chats you use.

### Requirements

Before enabling Clone Bot Sender, make sure you have:

* an active paid **Platinum** plan
* at least one Telegram bot token saved in AutoForward
* added the bot to the target chat
* granted the bot the permissions required to send messages

Platinum Trial, Gold, Diamond, Free, and expired plans cannot enable Clone Bot Sender.

### Sender Options

<figure><img src="/files/tuKr8gT6ID8xfIRsfOy5" alt=""><figcaption></figcaption></figure>

Clone Profiles support three sender options:

#### Personal Telegram Account

Messages are sent using your connected Telegram account. This is the default option.

#### Bot by Strategy

AutoForward selects a bot using your current bot-selection strategy. Use this option when you want the system to manage bot selection automatically.

#### Specific Bot

You select one of your saved bots. AutoForward identifies it by the alias saved in Bot Management.

### Add a Telegram Bot

If you have not configured a bot yet:

1. Create a bot with **@BotFather** in Telegram.
2. Copy the bot token provided by BotFather.
3. Open **Bot Management** in AutoForward.
4. Add a new bot and paste the token.
5. Give the bot an alias that helps you recognize it.
6. Save the bot.
7. Add the bot to the target Telegram chat and grant it permission to send messages.

Keep your bot token private. Anyone with the token may be able to control your bot.

### Enable Bot Sender for a New Clone Profile

1. Open **Clone Profiles**.
2. Create a new Clone Profile.
3. Select the source and target chats.
4. Expand **Advanced Settings**.
5. Turn on **Send clone with Bot**.
6. Tap **Select bot**.
7. Choose **Telegram Bot**.
8. Choose one of the following:
   * **Bot by Strategy** to let AutoForward select the bot automatically.
   * **Select Bot** to choose a specific saved bot.
9. Use **Verify bot access to target chats** to check the bot setup.
10. Finish configuring the profile and save it.

Verification is recommended, but it does not replace Telegram permissions. The bot must still be able to send messages in the target chat.

### Change Bot Sender on an Existing Clone Profile

1. Open **Clone Profiles**.
2. Select the profile you want to change.
3. Tap **Edit**.
4. Expand **Advanced Settings**.
5. Open the Bot Sender selection.
6. Select **Personal Telegram Account** or **Telegram Bot**.
7. If you select **Telegram Bot**, choose a bot strategy or a specific bot.
8. Wait for the setting to finish saving before leaving the screen.

Bot Sender changes on a saved profile are saved automatically.

If the same profile was changed from another device or session, AutoForward reloads the latest setting and asks you to make your selection again. This prevents an older change from replacing a newer one.

### Switch Back to Your Personal Account

To stop using a bot:

1. Edit the Clone Profile.
2. Open **Advanced Settings**.
3. Turn off **Send clone with Bot**, or select **Personal Telegram Account** from the sender menu.
4. Wait for the change to finish saving.

If you previously used Bot Sender but no longer have an eligible Platinum plan, you can still switch back to **Personal Telegram Account**. Other Clone Profile settings remain available according to your current plan.

### Verify Bot Access

Before running a clone:

1. Confirm that the bot is a member of the target chat.
2. Grant the bot permission to send messages.
3. In the Clone Profile, tap **Verify bot access to target chats**.
4. Follow the instructions shown by AutoForward.

If verification fails, review the bot's role and permissions in the target chat, then try again.

### Important Notes

* Telegram albums are sent using your **Personal Telegram Account**, even when Bot Sender is enabled.
* **Bot by Strategy** uses the bot strategy currently configured in Bot Management.
* A specific bot must still exist in your saved bot list. If it was deleted, select another bot.
* Changing the visible name of a bot in Telegram does not automatically change the alias saved in AutoForward.
* Clone Profiles use Personal Telegram Account by default.

### Troubleshooting

#### I cannot enable Bot Sender

Check that:

* your paid Platinum plan is active
* you are not using a Platinum Trial
* at least one bot token is configured

If your plan is not eligible, tap **Upgrade to Platinum**. AutoForward opens the Platinum purchase screen directly.

#### AutoForward says that no bot is configured

Open **Bot Management**, add a valid BotFather token, then return to the Clone Profile and try again.

#### The selected bot is no longer available

The bot may have been deleted from Bot Management. Refresh the bot list and select another bot, or use **Bot by Strategy**.

#### The bot cannot send to the target

Add the bot to the target chat and grant it permission to send messages. In groups or channels, the bot may need to be an administrator.

#### My sender selection changed while I was editing

The profile may have been updated from another device or session. AutoForward loads the latest server state instead of overwriting it. Review the current sender and choose again if you still want to change it.

#### An album was sent by my personal account

This is expected. Albums currently continue to use the Personal Telegram Account.


# Account Transfer

### What it is

Account Transfer has been improved so that after a successful transfer, your app data refreshes more reliably and the final steps feel cleaner.

You no longer need to manually reopen the app just to see updated account information in the main areas.

### Where to find it

You can open Account Transfer with this path:

1. Go to **Home**
2. Open the **Profile** tab
3. Find and tap **Account Transfer**

This opens the Account Transfer flow where you can review the transfer requirements and continue with the process.

### How to use it

1. Go to **Home**.
2. Open the **Profile** tab.
3. Tap **Account Transfer**.
4. Review the transfer information and requirements.
5. Follow the transfer steps shown on screen.
6. Review the confirmation details carefully.
7. Complete the transfer.
8. Tap **Done** on the success screen.
9. AutoForward returns you to Home and refreshes the most important account-related data.

### What is improved

* cleaner confirmation and success screens
* better post-transfer refresh behavior
* improved synchronization for Home, Settings, Guide, tasks, folders, and recent tasks
* better refresh of profile information such as plan and UUID

### Why it is useful

* It reduces stale data after a transfer.
* It lowers the chance that old tasks or old account details remain visible.
* It makes the end of the transfer flow feel more natural.
* It saves time because users do not need to force-close and reopen the app.

### Example

After a successful transfer, when you tap **Done**:

* Home can refresh task and folder data
* Settings can refresh plan and profile details
* Guide can refresh related account-driven content

This helps the app reflect your updated account state more consistently.

### Typical use case

Account Transfer is useful when you want to move eligible account-related value or ownership from one account to another supported account flow without having to rebuild everything manually afterward.

Once the transfer is complete, the app is designed to bring you back to your main working area and refresh the key sections that are most likely to be affected.

### Notes

* Account Transfer behavior depends on your account eligibility and available transfer rules.
* The refresh improvements focus on making post-transfer data more accurate across the main tabs.


# Debug Mode For Task

This guide explains how to enable and disable the Debug Mode for Tasks feature in the application

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/banner_how_to_use_and_enable_debug_mode_for_tasks-2.webp" alt=""><figcaption></figcaption></figure>

This guide explains how to enable and disable the **Debug Mode for Tasks** feature in the application. Debug Mode is designed to troubleshoot issues where new messages are not received from the source chat. It should only be used as a last resort and with caution.

***

**Function Overview: Debug Mode for Tasks**

Debug Mode helps diagnose and resolve issues in message forwarding tasks. However, enabling this feature may result in Telegram-imposed limitations due to continuous message checking. Use it only if:

* You are certain the task is failing despite correct configurations.
* No other solution resolves the issue.

**Important Notes:**

* Disable Debug Mode as soon as the issue is resolved.
* Enabling Debug Mode may prevent events such as edited or deleted posts from being received.

**How to Enable Debug Mode**

**Step 1: Open the Application**

1. Launch the **AutoForward for Telegram** application.

**Step 2: Select the Task**

1. From the **Task Forward List**, locate the task where you want to enable Debug Mode.
2. Tap on the selected task to open its **Detail Task** screen.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/select_a_task_that_you_need_to_debug-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Select a task that you need to debug</p></figcaption></figure>

**Step 3: Activate Debug Mode**

1. On the **Detail Task** screen, locate the **Debug Mode** section.
2. Tap the **Turn On Feature** button
3. A confirmation popup will appear. Select **ACCEPT** to active Debug Mode.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/click_this_button_to_enable_debug_mode-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Click “Turn on” to enable the feature</p></figcaption></figure>

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/confirm_enabling_the_feature-473x1024.webp" alt="" height="1024" width="473"><figcaption><p>Click “ACCEPT” to confirm enabling</p></figcaption></figure>

**Step 4: Wait for Debugging to Begin**

1. After activation, wait at least **5 minutes**.
2. Monitor the task for new incoming messages or updates.

**How to Disable Debug Mode**

**Step 1: Open the Detail Task Screen**

1. Return to the **Detail Task** screen for the task with Debug Mode enabled.

**Step 2: Deactivate Debug Mode**

1. In the **Debug Mode** section, tap the **Turn Off Feature** button.
2. Debug Mode will be disabled, and the task will return to normal operation.

<figure><img src="https://blog.autoforwardtelegram.com/wp-content/uploads/2024/11/click_the_turn_of_button_to_disable_the_feature-473x1024.png" alt="" height="1024" width="473"><figcaption><p>Click “Turn off” to disable the feature</p></figcaption></figure>

**Tips for Best Use**

* **Only use Debug Mode when necessary.** Continuous message checking may result in Telegram-imposed limits or performance issues.
* **Disable Debug Mode after troubleshooting** to restore normal operation and avoid unnecessary system strain.
* Review your source and target data before creating the task to ensure everything is set up correctly.

By following the steps outlined in the article above by the RedFox team, you can effectively resolve message forwarding issues while minimizing potential risks.


# Folder List Task

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

You can now organize your forwarding tasks into folders instead of keeping them all in one long list. This makes it easier to:

✅ Categorize by purpose (e.g. Crypto, News, Airdrops…)\
✅ Quickly manage tasks – enable/disable or edit in bulk\
✅ Keep your dashboard clean and intuitive, even with many tasks

👉 Just create a new folder and add your tasks. Managing auto-forward rules is now more organized and efficient than ever!

{% embed url="<https://youtu.be/YWzOZKCHHho>" %}

#### Toggle All Tasks in Folder

#### 📱 On Mobile:

1. Go to the Folders tab in the app.
2. Long press on the folder you want to manage.
3. An action menu will appear.
4. Select Toggle All Tasks to enable or disable all tasks inside that folder.

***

#### 💻 On Web:

1. Go to the folder management section.
2. Right-click on the folder you want to manage.
3. A context menu will appear.
4. Choose Toggle All Tasks to turn all tasks in the folder on or off.

<figure><img src="/files/SUgYKMmm470UEkv3De8y" alt=""><figcaption></figcaption></figure>


# How To Settings For Task

{% hint style="info" %}
This is list menu for task settings such as **Edit Source Chat, Edit Target Chat or Delete Task or Advanced Configuration and more**
{% endhint %}

**Use command to get and access to Task**

{% hint style="success" %}
**/settings** or **/forward**
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**1.** After typing the command, select **Manage Forwarding Tasks** or **Show ALL** to show all your list Task.\
**2.** Next click a **Task**  you want settings.
{% endtab %}
{% endtabs %}

<figure><img src="/files/ORAPrg2GTOa1sknVNDLB" alt=""><figcaption><p>Setting Task</p></figcaption></figure>

{% tabs %}
{% tab title="Options Explained" %}

* **Edit Source Chat :** Change the current source ids of the task
* **Edit Target Chat :** Change the current target ids of the task
* **Delete Task:** Remove Task
* **Edit Delay :** Specify the delay (in seconds) you'd like between forwarded messages for your task.
* **Edit Max Time Edit :** Specify the maximum time (in seconds) allowed for editing a message in your task.
* **Advanced Configuration:** Config advanced features for task forward
  {% endtab %}
  {% endtabs %}

### **Advanced Configuration**

<figure><img src="/files/ebFtgF0trOJKtsyIkOaq" alt=""><figcaption><p><strong>Advanced Configuration</strong></p></figcaption></figure>

{% tabs %}
{% tab title="Options Explained" %}

* **Show Header Forwarder :** check ✅ if you want all your messages will be prefixed with "Forwarded from ...".&#x20;

&#x20;      ️➡️ *<mark style="color:red;">**Note: if you turn on the feature**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**Show Header Forwarder**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**then features Reply, Edit, Replace,**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**translate**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**will not work.**</mark>*

* **Duplicate Filters:** check ✅ if you want to **block duplicate messages** from forwarding.
* **Replace:** click ➡️ if you want to replace word feature to work on this task
* **Black List:** click ➡️ if you want to Allow Blacklist feature to work on this task
* **White List:** click ➡️ if you want to Allow Whitelist feature to work on this task
* **Filter:** click ➡️ if you want to used to filter messages by type feature to work on this task
* **Cleaner:** click ➡️ if you want to clean text, video, photo...etc from message on this task
* **Filter Users:** click ➡️ if you want to **Allow Whitelist users id** feature to work on this task
* **Scheduler Power On/Off** click ➡️ if you want to schedule on/off task
* **Auto Post Scheduler** click ➡️ if you want to schedule auto forward post last on task
* **Translate Language** click ➡️ if you want translate a post message to language other
* **Crypto Filters** click ➡️ if you only want receive crypto address
* **Process To Raw Text** click ➡️ if you only want receive raw post
* **Convert Buttons To Text** click ➡️ if you want convert post contain button to text
* **Add Header:** click it if you want add header text before every message on this task
* **Add Footer:** click it if you want add footer text after every message on this task
* **Reply:** check ✅ if you want to properly **process replies**\
  Note, if you enable the "**Show Header Forwarder**" feature, the reply function will not work, it will be sent as **a new message** by default.
* **Edit:** check ✅ if you want to edit messages if they got edited in the **SOURCE\_ID**\
  If check 🚫 then All edit message from **SOURCE\_ID** will not be edited on your **TARGET\_ID** and will sent as **new messages**
* **Delete:** check ✅ if you want to remove messages if they got removed in the **SOURCE\_ID**\
  Note, if you enable the "**Show Header Forwarder**" feature, the delete function will not work
  {% endtab %}
  {% endtabs %}


# \[Only App] Debug Mode For Task

**DOWNLOAD APP MOBILE NOW**&#x20;

✅ [LINK FOR IOS](https://bit.ly/autoforward-for-telegram-ios)

✅ [LINK FOR ANDROID](https://bit.ly/autoforward-for-telegram-android)

{% hint style="success" %}
Helps resolve issues of not receiving new messages from the chat source.. Only should turn on when you encounter issues
{% endhint %}

{% hint style="danger" %}
**This feature may lead to Telegram limits due to continuous message checking. Do not use it unless there is no other solution.**&#x20;

***Only enable this feature if you are certain that the task is failing and your configurations are correct***
{% endhint %}

{% hint style="info" %}
**In some cases when this feature is enabled, events like edit/delete post may not be received.**
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**Follow these steps**

1. Open application **AutoForward for Telegram**
2. At list Task Forward **choose Task you want turn on Debug Mode**
3. At screen detail Task to **Activate Feature**
   1. At block Debug Mode **click&#x20;**<mark style="color:green;">**Turn on**</mark>**&#x20;feature**
   2. **A popup showed select&#x20;**<mark style="color:green;">**ACCEPT**</mark>**&#x20;to activate feature**
   3. <mark style="color:green;">**After successful activation please wait 5 minutes and until there is a new message**</mark>

&#x20;    <img src="/files/MnKHlb2W67L44Ai8wUL2" alt="" data-size="original">![](/files/DnXKi1vC0HuiFdhJvjUw)

4. At screen detail Task to <mark style="color:red;">**Deactivate Feature**</mark>

   1. At block Debug Mode **click&#x20;**<mark style="color:red;">**Turn Off**</mark>**&#x20;feature**

   <div align="left"><figure><img src="/files/NVlxj9QJ1wTClC6kcNBF" alt="" width="245"><figcaption></figcaption></figure></div>

   **DONE.**
   {% endtab %}
   {% endtabs %}


# Apply Replace For Task

**1.**  From **Auto Forward Messages BOT** [Choose Task ](/fundamentals/how-to-settings-for-task)you want Apply

**2.**  Select 🔐 **Advanced Configuration** from **Menu Setting**

**3.**  Select **Replace** from **Menu Advanced Configuration to show list replace**

**4.**  Click a your replace you want to **Activate or Deactivate** for Task

{% hint style="danger" %}
&#x20;*<mark style="color:red;">**if you turn on the feature**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**Show Header Forwarder**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**then features Reply, Edit, Replace,**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**translate**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**will not work.**</mark>*
{% endhint %}

{% hint style="info" %}
Describe Status

🚫  **is status Deactivated**

✅ **is status Activated**
{% endhint %}

<figure><img src="/files/KIyp9raaA0r4vpVAbmTY" alt=""><figcaption><p>Apply Replace For Task</p></figcaption></figure>


# Apply Blacklist For Task

**1.**  From **Auto Forward Messages BOT** [Choose Task ](/fundamentals/how-to-settings-for-task)you want Apply

**2.**  Select 🔐 **Advanced Configuration** from **Menu Setting**

**3.**  Select **Blacklist** from **Menu Advanced Configuration to show list Blacklist**

**4.**  Click a your **Blacklist** you want to **Activate or Deactivate** for Task

{% hint style="info" %}
Describe Status

🚫  **is status Deactivated**

✅ **is status Activated**
{% endhint %}

<figure><img src="/files/WvtOhyOb3G0nPVhh2tXl" alt=""><figcaption><p>Apply Blacklist For Task</p></figcaption></figure>


# Apply Whitelist For Task

**1.**  From **Auto Forward Messages BOT** [Choose Task ](/fundamentals/how-to-settings-for-task)you want Apply

**2.**  Select 🔐 **Advanced Configuration** from **Menu Setting**

**3.**  Select **Whitelist** from **Menu Advanced Configuration to show list Whitelist**

**4.**  Click a your **Whitelist** you want to **Activate or Deactivate** for Task

{% hint style="info" %}
Describe Status

🚫  **is status Deactivated**

✅ **is status Activated**
{% endhint %}

<figure><img src="/files/WvtOhyOb3G0nPVhh2tXl" alt=""><figcaption><p>Apply Blacklist For Task</p></figcaption></figure>


# Setup Topics For Task

{% hint style="info" %}
This feature is help **Forward Channel/Group/User to one or more Topics in Group** and

**Forward one or more Topics in Group to Channel/Group/User**&#x20;
{% endhint %}

{% hint style="danger" %}

* **To do this you need to have task forward already initialized.**
* **Topics are only supported when the source or target is a Group**
  {% endhint %}

## &#x20;❇️ If you don't have any task forward. Please create first

### 👉 Create New Task AutoForward

{% hint style="info" %}
**How to get SOURCE\_CHAT\_ID and TARGET\_CHAT\_ID?**

* This commands needs input from the [**/getchanel**](/guides/get-information-channels-groups-your-account) or [**/getgroup**](/guides/get-information-channels-groups-your-account) or [**/getuser**](/guides/get-information-channels-groups-your-account)
* You can only use source and target id's you find via [**/getchanel**](/guides/get-information-channels-groups-your-account) or [**/getgroup**](/guides/get-information-channels-groups-your-account) or [**/getuser**](/guides/get-information-channels-groups-your-account)
  {% endhint %}

{% tabs %}
{% tab title="Command" %}
**Use the following syntax for adding channels/users/bots:**\
`/forward add [LABEL_TASK] [SOURCE_CHAT_ID] -> [TARGET_CHAT_ID]`

**Command other**

`/forward remove [LABEL_TASK]`

`/forward start [LABEL_TASK]`

`/forward stop [LABEL_TASK]`

**\*Arguments**

* **SOURCE\_CHAT\_ID** -> The destination chat you want to use the BOT command with. Can be user, bot, channel, group or supergroup.
* **TARGET\_CHAT\_ID** -> The destination chat you want to use the BOT command with. Can be user, bot, channel, group or supergroup.
* **LABEL\_TASK:** Label name that you want to create to control forward actions.

\=> View more at [How To Create Task Auto Forward ?](/guides/how-to-create-task-auto-forward)
{% endtab %}

{% tab title="Example" %}
**One to One**\
`/forward add work1 22222 -> 66666`\
\
**Many to One**\
`/forward add work1 22222,33333 -> 66666`\
\
**One to Many**\
`/forward add work1 22222 -> 66666,77777`\
\
**Many to Many**\
`/forward add work1 22222,33333 -> 66666,77777`\
\
\===============\
\
**Remove task with label work1 in list**\
`/forward remove work1`\
\
**Start task with label work1 in list**\
`/forward start work1`\
\
**Stop task with label work1 in list**\
`/forward stop work1`<br>

**Set delay 30 seconds to each message with label work1** \
`/forward delay work1 30`<br>

**Set maximum time limit to receive message edit event from SOURCE\_ID is 30 seconds with label work1** \
`/forward max_time_edit work1 30`

\
**Restart all process if any error**\
`/forward restart`\
\
**Show all list task**\
`/forward task`
{% endtab %}
{% endtabs %}

## ❇️ How to activate topic for Task Forward?&#x20;

### 👉 Forward From <mark style="color:blue;">Channel/Group/User</mark> to <mark style="color:green;">One or More Topics</mark> in Task

{% hint style="warning" %}
**Target Chat must is group and support Topics**
{% endhint %}

**Use command to get and access to Task**

{% hint style="success" %}
**/settings** or **/forward**
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**1.** After typing the command, select **Manage Forwarding Tasks** or **Show ALL** to show all your list Task.\
**2.** Next click a **Task**  you want settings.

<figure><img src="/files/i0YMmxiBoF6sF0mBinHv" alt=""><figcaption><p>Detail Task</p></figcaption></figure>

3. Next Select **Target Topic** to **show list topic in group**
4. **At here click to topic you want activate**

{% code title="Describe Status" %}

```
🚫  is status Deactivated
✅  is status Activated
```

{% endcode %}

<figure><img src="/files/46mwYQJJtgdKA3Qf2ja3" alt=""><figcaption><p>List Topic in Group</p></figcaption></figure>

5. **Done**

<figure><img src="/files/AQoQDoEGPv6OKceZQNQ1" alt=""><figcaption><p>Activated Topics</p></figcaption></figure>
{% endtab %}
{% endtabs %}

## 👉 Forward From <mark style="color:green;">One or More Topics</mark> to <mark style="color:blue;">Channel/Group/User</mark> in Task

{% hint style="warning" %}
**Source Chat must is group and support Topics**
{% endhint %}

**Use command to get and access to Task**

{% hint style="success" %}
**/settings** or **/forward**
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
**1.** After typing the command, select **Manage Forwarding Tasks** or **Show ALL** to show all your list Task.\
**2.** Next click a **Task**  you want settings.

<figure><img src="/files/i0YMmxiBoF6sF0mBinHv" alt=""><figcaption><p>Detail Task</p></figcaption></figure>

3. Next Select **Source Topic** to **show list topic in group**
4. **At here click to topic you want activate**

{% code title="Describe Status" %}

```
🚫  is status Deactivated
✅  is status Activated
```

{% endcode %}

<figure><img src="/files/wNbbpzKViHm914KXffBy" alt=""><figcaption><p>List Topic in Group</p></figcaption></figure>

5. **Done**

<figure><img src="/files/b4WkObJXAYAVhFrevjL3" alt=""><figcaption><p>Activated Topics</p></figcaption></figure>
{% endtab %}
{% endtabs %}

{% embed url="<https://www.youtube.com/watch?v=-EHAA-wmbs0>" %}


# System Settings

{% hint style="info" %}
This menu is used to interact with the system. On this menu you can change specific Auto Forward Messages options which can impact performance and stability.
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
To reach this first you will need to type **/settings** on **Auto Forward Telegram BOT**
{% endtab %}
{% endtabs %}

<figure><img src="/files/V6QEnQU7mgcMvLini9NM" alt=""><figcaption><p>/settings</p></figcaption></figure>

* **Click Start BOT:** All your forwarding tasks will be start and restart all
* **Click Stop BOT:** All your forwarding tasks will be stopped all
* **DISCONNECT ACCOUNT(*****No Recommend*****):** This action will remove your account from Auto Forward Messages bot, all data about you such as membership packages, tasks, blacklists, whitelists, replaces ...etc. will be permanently deleted from our database.
* **Boost Performance:** This option increases Auto Forward Performance
  * The reason this option is OFF (🚫) by default is because using it will cause BOT to forward messages out of order.
  * If you do not care about message order, turning this setting ON (✅) will increase performance by a big margin.
* **Alert: Chat Access Error:** This is the option to ON or OFF error messages when there are problems related to access during message forwarding, such as not being able to post to any target or not access target.
  * **ON** (✅) When there is an access problem during message forwarding, **it will SEND an error message to BOT and Stop That Forward Task.**
  * **OFF** (🚫) When there is an access problem during message forwarding, **it will IGNORE the error message Will Continue Task Forward.**


# Whitelist: Create And Management

{% hint style="info" %}
You can set a list of words or regex patterns that tell the bot **to process message** you receive from source channel **only if it has at least one** of the whitelisted word or regex pattern match. Make sure to use the right syntax by reading the examples below.
{% endhint %}

{% hint style="warning" %}
**Important Information**

* Using **Simple Syntax** will match words partially. This means that when you whitelist the word **"es"**, it will allow every message containing b**es**t, r**es**t, t**es**t because each of them have the word **"es"** within.
* If you want to match words fully, please use the regex example
* Make sure to use the **Python Flavor** with [regex101.com](https://regex101.com/) otherwise your regex will not work on
* When this command is used incorrectly, it will cause redirections to stop working. Always make sure you use the right syntax when using whitelist and do use regex only **if necessary.** Make sure you build your regex with [regex101.com](https://regex101.com/) before inserting them into **Auto Forward Bot**.
  {% endhint %}

## &#x20;Create New Whitelist

### 1. Basic Command

{% code title="" overflow="wrap" %}

```
/whitelist [ACTION] [LABEL] [WORD_LIST]
```

{% endcode %}

**Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Whitelist**.
* Do not use number for **LABEL**.&#x20;
* **WORD\_LIST** is list word you want use as whitelist. Check Example

❇️  **Example** ❇️

➡️ Only messages containing ***hello*** characters will be forwarded: \
`/whitelist add white1 hello`

➡️ Only messages containing ***hello*** characters will be forwarded: \
`/whitelist add white1 hello`

➡️ Only messages containing ***cat*** or **dog** or **chicken** characters will be forwarded: \
`/whitelist add white1 cat,dog,chicken`

➡️ Remove word list with label **white1**\
`/whitelist remove white1`

➡️ Show all list Whitelist \
`/whitelist`

### 2. Advanced Command with regex ( Only Platinum)

{% hint style="warning" %}
Use the syntax as shown below when you want to achieve result that is not possible with the simple syntax. This syntax uses regex to search for words and its more powerful than Simple Syntax.

**We do not support usage of regex, you are on your own if you decide to use regex. Only use it if you know what you are doing.**
{% endhint %}

{% code title="Syntax" %}

```
/whitelist [ACTION] [LABEL]_regex [WORD_LIST]
```

{% endcode %}

**Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Whitelist**.
* Do not use number for **LABEL**.&#x20;
* To create whitelist advance with regex please add **LABEL** suffix is **\_regex**
* **WORD\_LIST** is list word you want use as whitelist

{% hint style="warning" %}
\***\*When using regex for spaces, please add a \ character in front or use \s+.**
{% endhint %}

❇️  **Example** ❇️

➡️ Process messages only if it has the any **@mention** word on it.\
`/whitelist add white1_regex @\S+`

➡️ Process messages only if it has any "telegram links"\
`/whitelist add white2_regex (telegram.me|t.me)/\w+`

➡️ Process messages only if it has the word **black** or **white**\
`/whitelist add white3_regex (black|white)`

* **black and white :** The words `black` and `white` are two words you want forward if have one or both
* In case you want to match more, you can add more **|red|blue** in regex

➡️ Process messages only if it has the word **es** fully (refer to **Important Information**)\
`/whitelist add white3_regex \bes\b`

➡️ Process messages only if it has the word **word1 and word2** fully (refer to **Important Information**)\
`/whitelist add white3_regex ^(?=.\bwork1\`*`b)(?=.`*`\bwork2\b).*$`&#x20;

* **work1 and work2 :** The words work1 and work2 are two words you want to have in the forward content
* In case you want to match more, you can add more ***(?=.*****\bwork3\b)*****(?=.*****\bwork4\b)** in regex

{% code overflow="wrap" %}

```
* When add whitelist is ^(?=.\bwork1\b)(?=.\bwork2\b).*$ it will only process messages have contain work1 and work2 like:
  "I have work1 to do and work2 as well."
  "work1 and work2 are both important."
  "work2 is harder than work1."
* Will block if not have both work1 and work2 or only have work1 or work2 like:
  "Only work1 is left."
  "work2 is complete"
  "Nothing to do here."
```

{% endcode %}

### 4. Combined many Words or Expression regex ( Only Platinum)

{% code title="Syntax" overflow="wrap" %}

```
/whitelist [ACTION] [LABEL]_regex [WORD_LIST] ==AND== [WORD_LIST]
```

{% endcode %}

**Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Whitelist**.
* Do not use number for **LABEL**.&#x20;
* To create whitelist advance with regex please add **LABEL** suffix is **\_regex**
* **WORD\_LIST or Expression regex** is list word or expression regex you want use as whitelist.
* **==AND==**  is the conditional keyword (required)

❇️  **Example** ❇️

* ➡️ Process messages only if it has the words **black** and **white**\
  `/whitelist add whiteAndBlack_regex black==AND==white`

  ➡️ Process messages only if it has the word **vip1** and **vip2** and (**vip3 or vip4)**\
  `/whitelist add vip_regex vip1==AND==vip2==AND==(vip3|vip4)`

### 5. Filters User use Whitelist  ( Only Platinum Plan)

This feature allows you to forward messages only from specific users that you select. By using a **Whitelist**, you can specify which users' messages should be forwarded by their **USER\_ID** or **USER\_NAME**.

1. **To use this feature, you'll first need to find the User ID of the users you want to whitelist. Follow these steps:**
   * **Go to the chat** where you want to receive messages from specific users.
   * **Use the command** `/getid` in the chat.
   * **Note down the User ID** that appears. You can then add this User ID to your Whitelist.

<div align="center" data-full-width="true"><figure><img src="/files/xuP7yuJeea7kmxTZNCW3" alt="" width="450"><figcaption><p>Example</p></figcaption></figure></div>

{% hint style="danger" %}
**Note: To use the `/getid` command, please make sure you are using a Telegram account that is connected to the AutoForward Telegram Bot.**
{% endhint %}

2. **Next,** use the following syntax to create filters based on the whitelist of users:

{% code title="Syntax" %}

```
/whitelist [ACTION] [LABEL]_user [USER_ID1,USER_ID2,...,USERNAME1,USERNAME2,...]
```

{% endcode %}

**Explanation:**

* `[ACTION]`: The action you want to take (e.g., add, remove, or list).
* `[LABEL]_user`: The label you assign to this whitelist (e.g., `trusted_user`, `groupA_user`).
* `[USER_ID1,USER_ID2,...]`: A list of User IDs.
* `[USERNAME1,USERNAME2,...]`: A list of Usernames.
* You can mix User IDs and Usernames in the same command.

**Example Usage:**

* Add multiple users to a whitelist using their User IDs:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add groupA_user 12345678,87654321,23456789
  </code></pre>
* Add multiple users to a whitelist using their Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add vip_user johndoe,janedoe,alice123
  </code></pre>
* Add users to a whitelist using both User IDs and Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add trusted_user 12345678,johndoe,87654321,alice123
  </code></pre>
* Add a single user to a whitelist using a User ID:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add staff_user 98765432
  </code></pre>
* Add a single user to a whitelist using a Username:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add client_user janedoe
  </code></pre>

This flexibility allows you to manage your whitelist efficiently, accommodating both User IDs and Usernames as needed.

## Apply/Deactivate Whitelist for Task

**1.**  From **Auto Forward Messages BOT** typing command `/whitelist`  to show list whitelist

**2.** From **your list whitelist** choose item whitelist you want apply. Then choose will goto detail whitelist

**3.**  At **detail whitelist** will show all your task forward&#x20;

**4.**  **Now you can click to task will apply or click apply to all task if want apply for all**&#x20;

{% hint style="info" %}
Describe Status

**Normal status  is Deactivate**

✅ **is status Activated**
{% endhint %}

<figure><img src="/files/95mopX2xJVhy8GH8r1tM" alt=""><figcaption></figcaption></figure>

## Remove All Whitelist

&#x20;⭕️ Use Command **`/whitelist`** then select **Delete All**

<figure><img src="/files/mctxYchf9lteAg55h59q" alt=""><figcaption></figcaption></figure>

## Video Whitelist

{% embed url="<https://www.youtube.com/watch?v=TIvBkzQN_qo>" %}
Create new whitelist
{% endembed %}


# Blacklist: Create And Management

{% hint style="info" %}
You can set a list of words or regex patterns which tells the bot that **if the message received** from source channel has any of the blacklisted words or regex pattern match the bot should **ignore** that **message** and do not process it even if it passes all other conditions.
{% endhint %}

{% hint style="warning" %}
**Important Information**

* Using **Simple Syntax** will match words partially. This means that when you blacklist the word **"es"**, it will block every message containing b**es**t, r**es**t, t**es**t because each of them have the word **"es"** within.
* If you want to match words fully, please use the regex example
* Make sure to use the **Python Flavor** with [regex101.com](https://regex101.com/) otherwise your regex will not work on **Auto Forward Telegram**
  {% endhint %}

## Create new blacklist

### 1. Basic Command

{% code title="Syntax" overflow="wrap" %}

```
/blacklist [ACTION] [LABEL] [WORD_LIST]
```

{% endcode %}

**Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Blacklist**.
* Do not use number for **LABEL**.&#x20;
* **WORD\_LIST** is list word you want use as whitelist. Check **Example**

❇️ **Example** ❇️

➡️ This will not send all messages containing the word **copyright** \
`/blacklist add black1 copyright`

➡️ This will not send all messages containing the word **copyright** or **DMCA** \
`/blacklist add black1 copyright,DMCA`

➡️ Remove word list with label **black1** \
`/blacklist remove black1`

➡️ Show all list Blacklist \
`/blacklist showall`

🛑 Note: **Blacklist** takes precedence over **whitelist** if both are defined.

### **3.** **Advanced Command with regex** ( Only Platinum)

{% code title="" overflow="wrap" %}

```
/blacklist [ACTION] [LABEL]_regex [WORD_LIST]
```

{% endcode %}

**Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Blacklist**.
* Do not use number for **LABEL**.&#x20;
* To create **Blacklist** advance with regex please add **LABEL** suffix is **\_regex**
* **WORD\_LIST** is list word you want use as whitelist. Check Tab **Example**

{% hint style="danger" %}
Use the syntax as shown below when you want to achive result that is not possible with the simple syntax. This syntax uses regex to search for words and its more powerful than Simple Syntax.

**We do not support usage of regex, you are on your own if you decide to use regex. Only use it if you know what you are doing.**
{% endhint %}

{% hint style="warning" %}
**When using regex for spaces please add a \ character in front or use \s+**
{% endhint %}

❇️ **Example** ❇️

➡️ Block messages only if it has the any **@mention** word on it.\
`/blacklist add black1_regex @\S+`

➡️ Block messages only if it has any "telegram links"\
`/blacklist add black2_regex (telegram.me|t.me)/\w+`\
➡️ Block messages only if it has the word **black** or **white**

`/blacklist add black3_regex (black|white)`

* **black and white :** The words `black` and `white` are two words you want block if have one or both
* In case you want to block more, you can add more **|red|blue** in regex

➡️ Block messages only if it has the word **es** fully ( refer to **Important Information** )

`/blacklist add black4_regex \bes\b`

➡️ Block messages only if it has the word **word1 and word2** fully (refer to **Important Information**)\
`/blacklist add black5_regex ^(?=.\bwork1\`*`b)(?=.`*`\bwork2\b).*$`&#x20;

* **work1 and work2 :** The words work1 and work2 are two words you want to block if have both in the content
* In case you want to match more, you can add more ***(?=.*****\bwork3\b)*****(?=.*****\bwork4\b)** in regex

{% code title="Example" overflow="wrap" %}

```
* When add blacklist is ^(?=.\bwork1\b)(?=.\bwork2\b).*$ it will only block messages have contain work1 and work2 like:
  "I have work1 to do and work2 as well."
  "work1 and work2 are both important."
  "work2 is harder than work1."
* Will continue forward if not have both work1 and work2 or only have work1 or work2 like:
  "Only work1 is left."
  "work2 is complete"
  "Nothing to do here."
```

{% endcode %}

### 4. Filters User use Blacklist  ( Only Platinum Plan)

The blacklist feature allows you to block or ignore messages from specific users. By adding users to a **Blacklist** using their **USER\_ID** or **USER\_NAME**, you can ensure that messages from these users will not be forwarded.

1. **To use this feature, you'll first need to find the User ID of the users you want to blacklist. Follow these steps:**
   * **Go to the chat** where you want to receive messages from specific users.
   * **Use the command** `/getid` in the chat.
   * **Note down the User ID** that appears. You can then add this User ID to your **blacklist**.

<div align="center" data-full-width="true"><figure><img src="/files/xuP7yuJeea7kmxTZNCW3" alt="" width="450"><figcaption><p>Example</p></figcaption></figure></div>

{% hint style="danger" %}
**Note: To use the `/getid` command, please make sure you are using a Telegram account that is connected to the AutoForward Telegram Bot.**
{% endhint %}

2. **Next,** use the following syntax to create filters based on the blacklist of users:

{% code title="Syntax" %}

```
/blacklist [ACTION] [LABEL]_user [USER_ID1,USER_ID2,...,USERNAME1,USERNAME2,...]
```

{% endcode %}

**Explanation:**

* `[ACTION]`: The action you want to take (e.g., add, remove, or list).
* `[LABEL]_user`: The label you assign to this blacklist (e.g., `block_user`, `spam_user`).
* `[USER_ID1,USER_ID2,...]`: A list of User IDs.
* `[USERNAME1,USERNAME2,...]`: A list of Usernames.
* You can mix User IDs and Usernames in the same command.

**Example Usage:**

* Block multiple users to a blacklist using their User IDs:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add spam_user 12345678,87654321,23456789
  </code></pre>
* Block multiple users to a blacklist using their Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add blocked_user johndoe,janedoe,alice123
  </code></pre>
* Block users to a blacklist using both User IDs and Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add unwanted_user 12345678,johndoe,87654321,alice123
  </code></pre>
* Block a single user to a blacklist using a User ID:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add blocked_user 98765432
  </code></pre>
* Block a single user to a blacklist using a Username:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add spam_user janedoe
  </code></pre>

This flexibility allows you to manage your blacklist efficiently, accommodating both User IDs and Usernames as needed.

## Apply/Deactivate Blacklist for a Task

**1.** From **Auto Forward Messages BOT** typing command `/blacklist` to show list blacklist

**2.** From **your list blacklist** choose item blacklist you want apply. Then choose will goto detail blacklist

**3.** At **detail blacklist** will show all your task forward

**4.** **Now you can click to task will apply or click Apply To All task if want apply for all**

{% hint style="info" %}
Describe Status

**Normal status is Deactivate**

✅ **is status Activate**
{% endhint %}

<figure><img src="/files/WvtOhyOb3G0nPVhh2tXl" alt=""><figcaption><p>Apply Blacklist For Task</p></figcaption></figure>

## VideoBlacklist

{% embed url="<https://www.youtube.com/watch?v=dVrD-jbwNYk>" %}
Create new blacklist
{% endembed %}


# Users Filter

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

## 1. Filters user use Whitelist  ( Only Platinum Plan)

This feature allows you to forward messages only from specific users that you select. By using a **Whitelist**, you can specify which users' messages should be forwarded by their **USER\_ID** or **USER\_NAME**.

1. **To use this feature, you'll first need to find the User ID of the users you want to whitelist. Follow these steps:**
   * Search for the [@**FindMyIDs\_Bot**](https://t.me/FindMyIDs_Bot) on Telegram or access it via this [link](https://t.me/FindMyIDs_Bot).&#x20;
   * Click **Start** to begin using the bot.
   * Forward any message from the user to the bot.

<figure><img src="/files/puFf49E9wLRvNvvyuahp" alt="" width="375"><figcaption></figcaption></figure>

2. **Next,** use the following syntax to create filters based on the whitelist of users:

{% code title="Syntax" %}

```
/whitelist [ACTION] [LABEL]_user [USER_ID1,USER_ID2,...,USERNAME1,USERNAME2,...]
```

{% endcode %}

**Explanation:**

* `[ACTION]`: The action you want to take (e.g., add, remove, or list).
* `[LABEL]_user`: The label you assign to this whitelist (e.g., `trusted_user`, `groupA_user`).
* `[USER_ID1,USER_ID2,...]`: A list of User IDs.
* `[USERNAME1,USERNAME2,...]`: A list of Usernames.
* You can mix User IDs and Usernames in the same command.

**Example Usage:**

* Add multiple users to a whitelist using their User IDs:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add groupA_user 12345678,87654321,23456789
  </code></pre>
* Add multiple users to a whitelist using their Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add vip_user johndoe,janedoe,alice123
  </code></pre>
* Add users to a whitelist using both User IDs and Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add trusted_user 12345678,johndoe,87654321,alice123
  </code></pre>
* Add a single user to a whitelist using a User ID:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add staff_user 98765432
  </code></pre>
* Add a single user to a whitelist using a Username:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/whitelist add client_user janedoe
  </code></pre>

This flexibility allows you to manage your whitelist efficiently, accommodating both User IDs and Usernames as needed.

### Apply/Deactivate Whitelist for a Task

<figure><img src="/files/oZV4tWNcvhS0W8zav5wA" alt=""><figcaption><p>Example whitelist</p></figcaption></figure>

#### **Step-by-Step Guide to Using the Whitelist Feature:**

1. **Step 1: Create the Whitelist Command**

   * Start by creating a command to whitelist specific users. Use the following syntax:

   ```plaintext
   /whitelist add [LABEL]_user [USER_ID,USER_NAME]
   ```

   * Replace `[LABEL]_user` with a name for your whitelist (e.g., `trusted_user`), and `[USER_ID,USER_NAME]` with the IDs or usernames of the users you want to whitelist.
2. **Step 2: Send the Command to the BOT**
   * Once you’ve created the command, send it to the AutoForward Telegram Bot.
   * The BOT will then process your request to create the whitelist.
3. **Step 3: BOT Displays Your Task List**
   * After the BOT successfully creates the whitelist, it will display a list of your active tasks.
   * These tasks represent the forwarding activities where you can apply or remove the whitelist.
4. **Step 4: Apply or Remove the Whitelist from a Task**
   * Review the list of tasks provided by the BOT.
   * Choose the task(s) where you want to apply the whitelist or remove it if it's already applied.
   * This allows you to control which tasks are affected by the whitelist, ensuring only messages from specified users are forwarded.

This guide outlines the process from creating a whitelist to applying it to specific tasks, helping you manage which users' messages are forwarded.

## 2. Filters user use Blacklist  ( Only Platinum Plan)

The blacklist feature allows you to block or ignore messages from specific users. By adding users to a **Blacklist** using their **USER\_ID** or **USER\_NAME**, you can ensure that messages from these users will not be forwarded.

1. **To use this feature, you'll first need to find the User ID of the users you want to blacklist. Follow these steps:**
   * **Go to the chat** where you want to receive messages from specific users.
   * **Use the command** `/getid` in the chat.
   * **Note down the User ID** that appears. You can then add this User ID to your **blacklist**.

<div align="center" data-full-width="true"><figure><img src="/files/xuP7yuJeea7kmxTZNCW3" alt="" width="450"><figcaption><p>Example</p></figcaption></figure></div>

{% hint style="danger" %}
**Note: To use the `/getid` command, please make sure you are using a Telegram account that is connected to the AutoForward Telegram Bot.**
{% endhint %}

2. **Next,** use the following syntax to create filters based on the blacklist of users:

{% code title="Syntax" %}

```
/blacklist [ACTION] [LABEL]_user [USER_ID1,USER_ID2,...,USERNAME1,USERNAME2,...]
```

{% endcode %}

**Explanation:**

* `[ACTION]`: The action you want to take (e.g., add, remove, or list).
* `[LABEL]_user`: The label you assign to this blacklist (e.g., `block_user`, `spam_user`).
* `[USER_ID1,USER_ID2,...]`: A list of User IDs.
* `[USERNAME1,USERNAME2,...]`: A list of Usernames.
* You can mix User IDs and Usernames in the same command.

**Example Usage:**

* Block multiple users to a blacklist using their User IDs:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add spam_user 12345678,87654321,23456789
  </code></pre>
* Block multiple users to a blacklist using their Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add blocked_user johndoe,janedoe,alice123
  </code></pre>
* Block users to a blacklist using both User IDs and Usernames:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add unwanted_user 12345678,johndoe,87654321,alice123
  </code></pre>
* Block a single user to a blacklist using a User ID:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add blocked_user 98765432
  </code></pre>
* Block a single user to a blacklist using a Username:

  <pre class="language-plaintext" data-overflow="wrap"><code class="lang-plaintext">/blacklist add spam_user janedoe
  </code></pre>

This flexibility allows you to manage your blacklist efficiently, accommodating both User IDs and Usernames as needed.

### Apply/Deactivate Blacklist for a Task

<figure><img src="/files/v78WobqxlTMuI2RSLGzc" alt=""><figcaption><p>Example Blacklist</p></figcaption></figure>

#### **Step-by-Step Guide to Using the Blacklist Feature:**

1. **Step 1: Create the Blacklist Command**

   * First, you need to create a command to blacklist specific users. Use the syntax:

   ```plaintext
   /blacklist add [LABEL]_user [USER_ID,USER_NAME]

   ```

   * Replace `[LABEL]_user` with a name for your blacklist (e.g., `spam_user`), and `[USER_ID,USER_NAME]` with the IDs or usernames of the users you want to blacklist.
2. **Step 2: Send the Command to the BOT**
   * After creating the command, send it to the AutoForward Telegram Bot.
   * The BOT will process your request to create the blacklist.
3. **Step 3: BOT Displays Your Task List**
   * Once the BOT has successfully created the blacklist, it will display a list of your tasks.
   * These tasks include all the active forwarding tasks where you can apply or remove the blacklist.
4. **Step 4: Apply or Remove the Blacklist from a Task**
   * Review the list of tasks shown by the BOT.
   * Select the task(s) where you want to apply the blacklist, or remove the blacklist if it's already applied.
   * This allows you to control which tasks are affected by the blacklist, ensuring only the appropriate messages are blocked.

This guide walks you through the entire process, from creating a blacklist to applying it to specific forwarding tasks.


# Replace : Create And Management

{% hint style="info" %}
You can set a list of words or regex patterns which tells the bot that if the message received from source channel has any of the replace words or regex pattern match the bot should replace that message with the word you want to change.
{% endhint %}

## **Overview**

The **Replace** feature in Auto Forward Bot allows you to modify message content before it is forwarded. This is particularly useful when you want to:

* Customize forwarded messages to match your target audience.
* Remove sensitive or unwanted information.
* Add consistent branding or formatting.

{% hint style="danger" %} <mark style="color:red;">This feature will not work if you enable "</mark><mark style="color:red;">**Show Header Forwarder**</mark><mark style="color:red;">" in task list</mark>
{% endhint %}

## &#x20;Create New Replace

### 1. USE Basic

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL Original_WORD -> NEW_WORD
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* **Original\_WORD** is word you want replace. Check Tab **Example**
* **NEW\_WORD** is  word will replace. Check **Example**

❇️ **Example** ❇️

Use the syntax as shown below when you want to replace words or full paragraphs.\
\
➡️ Change **black** to **white**\
**`/replace add re1 black -> white`**

➡️ Remove keyword **black** from the message\
`/replace add re1 black -> EMPTY`

➡️ Remove keyword **do not** from the message **i do not like black**

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add re1 do not -> EMPTY
```

{% endcode %}

{% code title="Result output" overflow="wrap" %}

```
i like black
```

{% endcode %}

➡️ Change **under the moon** to **on** **the** **sun** in content **Sometimes I lay under the moon**

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add re2 under the moon -> on the sun
```

{% endcode %}

{% code title="Result output" %}

```
Sometimes I lay on the sun
```

{% endcode %}

### 2. USE Regex

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_regex Regex_syntax -> NEW_WORD
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_regex**</mark>
* **Original\_WORD** is word you want replace. Check  **Example**
* **NEW\_WORD** is  word will replace. Check **Example**

{% hint style="info" %}
Use the following syntax when simple syntax is insufficient. This advanced syntax utilizes regex to replace words and keywords, allowing complete manipulation of the message if you're
{% endhint %}

{% hint style="warning" %}
**We do not support usage of regex, you are on your own if you decide to use regex. Only use it if you know what you are doing.**
{% endhint %}

{% hint style="warning" %}
**To match spaces in regex, add a \ character before the space or use \s**
{% endhint %}

❇️ **Example** ❇️

➡️ Change **good** or **perfect** to **bad**

```
/replace add re1_regex (good|perfect) -> bad
```

➡️ Match every **url** or **@mention** and change it to @Auto\_Forward\_Messages\_Bot \
/replace add re1\_regex (@|www|https?)\S+ -> @Auto\_Forward\_Messages\_Bot

➡️ Exam1: Refactor content use regex. Remove *"**✉️TPA trading report:", "TPA: Entry", "The monitoring will be continued."***  in content below 👇

```
✉️TPA trading report:
TPA: Entry BUY  UUDCHF M30 at 2023.06.16 15:30
The monitoring will be continued.
```

{% code overflow="wrap" fullWidth="false" %}

```
/replace add radim_r2_regex (?:.*)(BUY|SELL)(.*)\n(?:.*) -> \1\2
```

{% endcode %}

{% code title="Result Output" overflow="wrap" %}

```
BUY  UUDCHF M30 at 2023.06.16 15:30
```

{% endcode %}

➡️ Exam2: Refactor content use regex. Change all *"***Take profit (1|2|3)**&#xD83D;�**at*****"***  to **TP** in content below 👇

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
Take profit 1👉at 1955.35 
Take profit 2👉at 1938.94 
Take profit 3👉at 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add changeTP_regex ^(Take\s*profit\s*\d(?:➡️|👉)at) -> TP
```

{% endcode %}

{% code title="Result Output" overflow="wrap" %}

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
TP 1955.35 
TP 1938.94 
TP 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

{% endcode %}

**➡️ Exam 3:  Refactor content use regex. Change all to new format in content below 👇**

{% code title="Content Original" overflow="wrap" %}

```
🔥 #RDNT/USDT (Long📈, x20) 🔥

Entry - 0.2483
SL - 25-30%

Take-Profit:
🥇 0.2534 (40% of profit)
🥈 0.256 (60% of profit)
🥉 0.2586 (80% of profit)
🚀 0.2614 (100% of profit)
```

{% endcode %}

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add re_signal_regex (?:.*\#)(.*)\s+(?:.*Long.*\,\s+(\w+)(?:.*))\n+(?:Entry.*)\s+(\d+.?\d+)\s+(?:SL.*\-)(?:.*)\s+(\d+\-\d+)(?:\%)\n+(?:.*:)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*) -> \1 Binance futures\nLEVERAGE CROSS \2\nBUY   \3\nSELL: \5 \6 \7 \8\nSTOP: \4%
```

{% endcode %}

{% code title="Result Output" %}

```
RDNTUSDT Binance futures
LEVERAGE CROSS 20X
BUY   0.2483
SELL: 0.2534 0.256 0.2586 0.2614
STOP: 25%
```

{% endcode %}

Video: [Regex Magic: Beyond Your Imagination | Replace Advanced Feature](#regex-magic-beyond-your-imagination-or-replace-advanced-feature)

## Replace Power

This is a powerful bot replacement feature. It is used to remove and change keywords from messages by combining multiple syntaxes. You can use **regex** with this feature.

{% hint style="success" %}
**To apply multiple replace rules at once you just need to place them in a newline**
{% endhint %}

### 1. Syntax Command

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_power [[ALL_IN_ONE]] -> "Original_WORD_1","NEW_WORD"
Regex_Syntax=NEW_WORD
```

{% endcode %}

{% code title="Simple Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_power [[ALL_IN_ONE]] -> "Original_WORD_1","NEW_WORD"
"Original_WORD_2","NEW_WORD"
"Original_WORD_3","NEW_WORD"
..
Add Unlimited
```

{% endcode %}

{% code title="Regex Advanced" overflow="wrap" %}

```
/replace ACTION LABEL_power [[ALL_IN_ONE]] -> Regex_Syntax=NEW_WORD
Regex_Syntax=NEW_WORD
Regex_Syntax=NEW_WORD
..
Add Unlimited
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **ADD or REMOVE**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_power**</mark>
* **\[\[ALL\_IN\_ONE]]** is shortcode. Keep it after **Label**
* **Original\_WORD** is word you want replace. Can use **Regex**
* **NEW\_WORD** is  word will replace.

❇️ **Input** **Syntax Simple Example** ❇️

➡️ Change **good** to **bad**\
`/replace add re1_power [[ALL_IN_ONE]] -> "good","bad"`

➡️ Change **20** to **50** and **2+5=7** to **6+4=10**

{% code overflow="wrap" %}

```
/replace add re2_power [[ALL_IN_ONE]] -> "20","50"
"2+5=7","6+4=10"
```

{% endcode %}

➡️ Remove keyword **black** from the message

```
/replace add re3_power [[ALL_IN_ONE]] -> "black",""
```

#### ❇️ **Input Syntax Example (Advanced)** ❇️

➡️ Change **telegram.me** or **tm.me** to **autoforwardtelegram.com**

{% code overflow="wrap" %}

```
/replace add re4_power [[ALL_IN_ONE]] -> (telegram\.me|tm\.me)=autoforwardtelegram.com
```

{% endcode %}

➡️ Use regex to match **gray** or **grey** and change it to **red**

{% code overflow="wrap" %}

```
/replace add re4_power [[ALL_IN_ONE]] -> gr[ae]y=red
```

{% endcode %}

➡️ Unshort urls, match **tag** (query) and change it to **customer**

```
/replace add re4_power [[ALL_IN_ONE]] -> url:tag=customer
```

➡️ **Match every url** or **@mention** and change it to **@Auto\_Forward\_Messages\_Bot**

{% code overflow="wrap" %}

```
/replace add re4_power [[ALL_IN_ONE]] -> (@|www|https?)\S+=@Auto_Forward_Messages_Bot
```

{% endcode %}

➡️  **To apply multiple transformation rules at once you just need to place them in a newline**

{% code overflow="wrap" %}

```
/replace add re1_power [[ALL_IN_ONE]] -> "2+1=3","2+2=4"
"red",""
(@|www|https?)\S+=@Auto_Forward_Messages_Bot
url:tag=customer
```

{% endcode %}

## Create New Replace Use ShortCode

➡️ Command Arguments

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL Original_WORD -> NEW_WORD
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* **Original\_WORD** is word  or **short code** you want replace.&#x20;
* **NEW\_WORD** is  word or **short code** will replace.

### ❇️ ShortCode Guide ❇️

✅ **`Original_WORD`** is the word or phrase in the source message that you want to replace.\
You can use the following ShortCodes:

* `[[FULL_MESSAGE]]`: Extracts the full content of the message, including text, media, and other types
* `[[FULL_TEXT]]`: Extracts only the text content from the original message

***

✅ **`NEW_WORD`** is the value that will replace the original word. You can combine it with these ShortCodes:

🔹 Message & Sender Info

| ShortCode                | Description                                                           |
| ------------------------ | --------------------------------------------------------------------- |
| `[[ORIGIN_USERNAME]]`    | Username of the original sender                                       |
| `[[ORIGIN_USERID]]`      | Telegram user ID of the original sender                               |
| `[[ORIGIN_TEXT]]`        | The original message text                                             |
| `[[ORIGIN_NAME]]`        | Full name of the original sender or name of the original channel      |
| `[[ORIGIN_POST_ID]]`     | Post ID of the original message                                       |
| `[[ORIGIN_CHAT_ID]]`     | Chat ID of the original message                                       |
| `[[ORIGIN_QUOTED_TEXT]]` | Quoted text from the original post                                    |
| `[[ORIGIN_NAME_URL]]`    | A clickable link to the original sender or channel                    |
| `[[FROM_USER]]`          | Username of the user who forwarded the message                        |
| `[[SOURCE_NAME]]`        | Name of the original source or channel the message was forwarded from |
| `[[SENDER_CHAT]]`        | Display name of the sender                                            |
| `[[FORWARD_FROM_CHAT]]`  | Original chat or channel name if the message was forwarded            |

🔹 Current Time Info

| ShortCode               | Description                |
| ----------------------- | -------------------------- |
| `[[CURRENT_TIME]]`      | Current time (HH:MM:SS)    |
| `[[CURRENT_DATE]]`      | Current date (DD/MM/YYYY)  |
| `[[CURRENT_DATETIME]]`  | Full current date and time |
| `[[CURRENT_TIMESTAMP]]` | Current Unix timestamp     |

🔹 Original Post Timestamps

| ShortCode                        | Description                             |
| -------------------------------- | --------------------------------------- |
| `[[ORIGIN_POST_TIME]]`           | Time (only) of the original post        |
| `[[ORIGIN_POST_DATE_FORMATTED]]` | Formatted date of the original post     |
| `[[ORIGIN_POST_DATETIME]]`       | Full date and time of the original post |

🔹 Sender Personal Info

| ShortCode               | Description                         |
| ----------------------- | ----------------------------------- |
| `[[ORIGIN_FIRST_NAME]]` | First name of the original sender   |
| `[[ORIGIN_LAST_NAME]]`  | Last name of the original sender    |
| `[[ORIGIN_PHONE]]`      | Phone number of the sender (if any) |

🔹 Media & File Info

| ShortCode        | Description                            |
| ---------------- | -------------------------------------- |
| `[[MEDIA_TYPE]]` | Media type (photo, video, document...) |
| `[[FILE_SIZE]]`  | Formatted file size                    |
| `[[FILE_NAME]]`  | Name of the attached file              |

🔹 Chat Info

| ShortCode                | Description                              |
| ------------------------ | ---------------------------------------- |
| `[[CHAT_TYPE]]`          | Type of chat: PRIVATE, GROUP, CHANNEL... |
| `[[MESSAGE_LINK]]`       | Direct link to the message               |
| `[[CHAT_USERNAME]]`      | Username of the chat                     |
| `[[CHAT_MEMBERS_COUNT]]` | Number of members in the chat            |

🔹 Message Content Metadata

| ShortCode         | Description                     |
| ----------------- | ------------------------------- |
| `[[WORD_COUNT]]`  | Total word count in the message |
| `[[CHAR_COUNT]]`  | Total character count           |
| `[[LINE_COUNT]]`  | Total line count                |
| `[[TEXT_LENGTH]]` | Length of the text              |
| `[[HASHTAGS]]`    | All hashtags in the message     |
| `[[MENTIONS]]`    | All mentions (@username)        |
| `[[URLS]]`        | All URLs in the message         |

🔹 Engagement Stats

| ShortCode             | Description                               |
| --------------------- | ----------------------------------------- |
| `[[VIEW_COUNT]]`      | Number of views (for channel posts)       |
| `[[FORWARD_COUNT]]`   | Number of times the message was forwarded |
| `[[REACTIONS_COUNT]]` | Number of emoji reactions                 |

🔹 Other Utilities

| ShortCode                 | Description                                   |
| ------------------------- | --------------------------------------------- |
| `[[RANDOM_EMOJI]]`        | A random emoji from the system collection     |
| `[[RANDOM_NUMBER]]`       | Random number between 1 and 1000              |
| `[[MESSAGE_ID]]`          | ID of the current message                     |
| `[[REPLY_TO_MESSAGE_ID]]` | ID of the replied message                     |
| `[[IS_FORWARD]]`          | Whether the message is a forward (true/false) |
| `[[IS_REPLY]]`            | Whether the message is a reply (true/false)   |
| `[[HAS_MEDIA]]`           | Whether the message contains media            |

***

📌 **Note**: ShortCodes will be dynamically replaced during processing.\
You can mix multiple ShortCodes in `NEW_WORD` for advanced customization.

❇️ **Example** ❇️

Use the syntax as shown below when you want to replace words or full paragraphs.\
**Hello. How are you?**\
➡️ Change full content **Hello. How are you?** to **Hi**

{% code overflow="wrap" %}

```
/replace add re1 [[FULL_TEXT]]  -> Hi
```

{% endcode %}

➡️ Change **Hello. How are you?** to original content + Signature Source

{% code overflow="wrap" %}

```
/replace add re1 [[FULL_TEXT]]  -> [[ORIGIN_TEXT]]- by [[SOURCE_NAME]]
```

{% endcode %}

{% embed url="<https://www.youtube.com/watch?v=cxM_oNvPyPA>" %}

## Remove Lines without Keyword using Replace

This feature is used to keep lines from the message. You will use keywords to check message lines and if a keyword or one of the keywords (if multiple) is found on the line, AutoForward will keep that line from the final result.

➡️ USE command

Syntax

```
/replace ACTION LABEL_keepwith Keywords -> KEEP
```

➡️ **Command Information**

* **ACTION** is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.
* **Must use suffix for LABEL** is **\_keepwith**
* **`Keywords`** is word you want found on the line and keep that line. Check **Example**

❇️ **Example** ❇️

➡️ **Content Original:**

24/11/23 | Market Execution

Notes:

📉BUY limit XAUUSD at 1994

Stop Loss 1990

Take Profit 1 at 2000

Take Profit 2 at 2006

Take Profit 3 at 2026

•APPROPRIATE risk size 1%

{% code title="Use command" %}

```
/replace add re1_keepwith BUY,Take Profit,risk size -> KEEP
```

{% endcode %}

➡️ **Result Final: Keep line have keyword "BUY" , line have keyword "Take Profit" and line have keyword "risk size".**

📉BUY limit XAUUSD at 1994

Stop Loss 1990

Take Profit 1 at 2000

Take Profit 2 at 2006

Take Profit 3 at 2026

•APPROPRIATE risk size 1%

## Remove Lines By Keyword with Replace

This feature is used to remove lines from the message. You will use keywords to check message lines and if a keyword or one of the keywords (if multiple) is found on the line, AutoForward will remove that line from the final result.

➡️ USE command

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_rmline Keywords -> EMPTY
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_rmline**</mark>
* **`Keywords`** is word you want found on the line and remove that line. Check **Example**

❇️ **Example** ❇️

➡️ **Content Original:**

24/11/23 | Market Execution&#x20;

Notes:&#x20;

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

•APPROPRIATE risk size 1%

`/replace add re1_rmline Market,Notes,risk size -> EMPTY`

➡️ **Result Final: Remove line have keyword "Market" , line have keyword "Notes" and line have keyword "risk size".**

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

## Remove Lines EMPTY Use Replace

{% code title="" overflow="wrap" %}

```
/replace add removeline_regex \n\n -> EMPTY
```

{% endcode %}

## Remove Lines By Line Order With Replace

This feature is used to remove lines from the message. You will use line order, AutoForward will remove that line from the final result.

➡️ USE command

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_removelines lineorder1,lineorder2,.. -> EMPTY
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_removelines**</mark>
* **`lineorder1,lineorder2`** is line order you want  to remove. Check  **Example**

❇️ **Example** ❇️

➡️ **Content Original:**

24/11/23 | Market Execution&#x20;

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

•APPROPRIATE risk size 1%

`/replace add re1_removelines 1,7 -> EMPTY`

➡️ **Result Final: Remove line  1 is "**<mark style="color:red;">**24/11/23 | Market Execution**</mark> **" and line  7 is "**<mark style="color:red;">**•APPROPRIATE risk size 1%**</mark>**"**

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

## Replace Emoji&#x20;

### Emoji Premium

This feature is used to change emoji premium from the message.

{% hint style="warning" %}
**Note: This feature requires a premium Telegram account to operate.**
{% endhint %}

➡️ USE command

This replacement can be done using any type of replace command, such as&#x20;

**basic, regex, power, or removelines.**

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL emoji_premium_code -> new_emoji_premium_code
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.&#x20;
* **emoji\_premium\_code, new\_emoji\_premium\_code** are emojis premium

**Note: Premium emojis are different from regular emojis, so you need to extract the format code of the premium emoji first.**

1. To do this, start by launching the bot at <https://t.me/FindMyIDs_Bot>
2. Next, forward the content containing the premium emoji to [@FindMyIDs Bot](https://t.me/FindMyIDs_Bot) to extract the format code.

<figure><img src="/files/hIosYyWA3MpUm2Tp7s74" alt=""><figcaption></figcaption></figure>

In this case, the format code will be&#x20;

```
<emoji id="5463424023734014980">🛫</emoji>
```

3. Similarly, forward the content containing the new premium emoji you want to use to [@FindMyIDs Bot](https://t.me/FindMyIDs_Bot) then reply new post typing **/html**

<figure><img src="/files/JWHCWsoaGVvS4ib06pVy" alt=""><figcaption></figcaption></figure>

In this case, the format code will be&#x20;

```
<emoji id="5375093189453568473">😃</emoji>
```

4. After obtaining the two format codes, you can use them to replace each other with the command:

{% code overflow="wrap" %}

```
/replace add rp_emoji_premium <emoji id="5463424023734014980">🛫</emoji> -> <emoji id="5375093189453568473">😃</emoji>
```

{% endcode %}

➡️ **Content Original:**

<figure><img src="/files/ENHkQvPedgAc74bOV86h" alt=""><figcaption></figcaption></figure>

➡️ **Content Result:**

<figure><img src="/files/PyktHtXKYkGr84fIw2ND" alt=""><figcaption></figcaption></figure>

#### Similarly, on the mobile app, it will look like the image below:

<figure><img src="/files/bvzBAeIduarW4bULuhl3" alt=""><figcaption></figcaption></figure>

> You can also use this method to replace any text or normal emoji with a premium emoji, or vice versa.

#### **Here are a few examples of replacing any text or normal emoji with a premium emoji, or vice versa:**

1. Replace normal text with a premium emoji:

   <pre data-overflow="wrap"><code>/replace add rp_text_to_premium Hello -> &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji>
   </code></pre>
2. Replace a normal emoji with a premium emoji:

   <pre data-overflow="wrap"><code>/replace add rp_normal_to_premium 😊 -> &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji>
   </code></pre>
3. Replace a premium emoji with normal text:

   <pre data-overflow="wrap"><code>/replace add rp_premium_to_text &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji> -> Congratulations!
   </code></pre>
4. Replace a premium emoji with a normal emoji:

   <pre data-overflow="wrap"><code>/replace add rp_premium_to_normal &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji> -> 😊
   </code></pre>

#### **Here are some additional examples of how to use the "Remove Lines without Keyword" and "Remove Lines by Keyword" features with a premium emoji keyword:**

#### Remove Lines without Keyword is Emoji

To keep lines containing specific keywords (like a premium emoji) and remove all others:

{% code overflow="wrap" %}

```plaintext
/replace add demo_keepwith <emoji id="5445350775582629332">🥳</emoji> -> KEEP
```

{% endcode %}

**Original Content:**

```
Hello there!
🥳 Celebrate with us!
Have a great day!
```

**Result:**

```
🥳 Celebrate with us!
```

#### Remove Lines by Keyword is Emoji

To remove lines containing specific keywords (like a premium emoji):

{% code overflow="wrap" %}

```plaintext
/replace add demo_rmline <emoji id="5445350775582629332">🥳</emoji> -> EMPTY
```

{% endcode %}

**Original Content:**

```
Hello there!
🥳 Celebrate with us!
Have a great day!
```

**Result:**

```
Hello there!
Have a great day!
```

## Apply/Disable Replace For a Task

**1.**  From **Auto Forward Messages BOT** [Choose Task ](/fundamentals/how-to-settings-for-task)you want Apply

**2.**  Select 🔐 **Advanced Configuration** from **Menu Setting**

**3.**  Select **Replace** from **Menu Advanced Configuration to show list replace**

**4.**  Click a your replace you want to **Activate or Deactivate** for Task

{% hint style="info" %}
Describe Status

🚫  **is status Deactivated**

✅ **is status Activated**
{% endhint %}

<figure><img src="/files/KIyp9raaA0r4vpVAbmTY" alt=""><figcaption><p>Apply Replace For Task</p></figcaption></figure>

## Apply/Disable Replace For All Task

{% hint style="danger" %}
When **Apply All Replace for Task** will won't activate for each single task
{% endhint %}

Use command **/replace** after select **Show All Replace**

![](/files/8CZybPMKDaY6VMwOi0S7)

## Remove All Replace

Use command **/replace** after select **CLEAR ALL**

<figure><img src="/files/k562SLLOR102tr5XL4mr" alt=""><figcaption><p>Remove all replace</p></figcaption></figure>

{% embed url="<https://www.youtube.com/watch?v=5w_BiJU4zAc>" %}

## Regex Magic: Beyond Your Imagination | Replace Advanced Feature

{% embed url="<https://www.youtube.com/watch?v=bshGJiKwocg>" %}


# Use on Mobile App or WebApp

### **Overview**

The **Replace** feature in Auto Forward Bot allows you to modify message content before it is forwarded. This is particularly useful when you want to:

* Customize forwarded messages to match your target audience.
* Remove sensitive or unwanted information.
* Add consistent branding or formatting.

With the replace feature, you can define rules to substitute specific text within messages.

{% hint style="warning" %}
This feature will not work if you enable "**Show Header Forwarder**" in task list
{% endhint %}

## **1. Accessing the Replace Feature**

#### **On Mobile App**

1. Open the [Auto Forward mobile app](/mobile-app/how-to-download-app-for-mobile).
2. Go to the **Dashboard**.
3. Tap on the **Replace** icon (highlighted below).

<div align="left"><figure><img src="/files/lq77AwZDU35VpQfRqxfp" alt="" width="375"><figcaption></figcaption></figure></div>

**On Web Dashboard**

1. Log in to the [Auto Forward Web](https://web.autoforwardtelegram.com/) Dashboard.
2. In the left-hand menu under **Features**, click on **Replace**.

<div align="left"><figure><img src="/files/LMDzE1xxD90WttP11M1f" alt="" width="375"><figcaption></figcaption></figure></div>

Next Tap on the **Add New** button (as shown in the image below):

<div align="left"><figure><img src="/files/F0LVUiE9zHJpJoNS2ua5" alt="" width="375"><figcaption></figcaption></figure></div>

## **2. Create Replace Rule**

The **Create Replace** feature allows you to define rules to modify message content before forwarding. It supports various replace types, including **Basic**, **Regex**, and advanced options for removing or keeping specific lines.

<figure><img src="/files/bQnHpVRwlt1rMdxYobM2" alt=""><figcaption></figcaption></figure>

***

### **1. Replace Options**

When creating a replace rule, you can choose a **Replace Type** from the dropdown menu:

| Replace Type                             | Description                                                                                          |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Basic**                                | Replace specific words or phrases.                                                                   |
| **Use Regex**                            | Use Regular Expressions (Regex) for advanced replacements.                                           |
| **Remove Empty Lines**                   | Automatically remove all empty lines.                                                                |
| **Remove Lines By Keywords**             | Remove lines containing specific keywords.                                                           |
| **Remove Lines By Line Number**          | Remove lines based on their line numbers.                                                            |
| **Replace Power**                        | A powerful feature that combines multiple syntaxes and supports Regex to remove or replace keywords. |
| **Keep The Line Containing The Keyword** | Only keep lines containing specific keywords.                                                        |

***

### **2. Creating a Replace Rule**

Follow these steps to create a replace rule:

#### **Step 1: Choose Replace Type**

1. In the **Replace Type** dropdown, select the desired type (e.g., Basic, Use Regex, Remove Empty Lines).

**Example**:

* For simple word replacement, select **Basic**.
* For advanced patterns, select **Use Regex**.

***

#### **Step 2: Fill in Replace Details**

1. **Label** (*Required*):

   * Enter a name for your replace rule. The label must meet the following guidelines:
     * <mark style="color:orange;">**Length**</mark><mark style="color:orange;">: Less than</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**20 characters**</mark><mark style="color:orange;">.</mark>
     * <mark style="color:orange;">**Characters**</mark><mark style="color:orange;">: Only letters (</mark><mark style="color:orange;">**a-z**</mark><mark style="color:orange;">), numbers (</mark><mark style="color:orange;">**0-9**</mark><mark style="color:orange;">), hyphens (</mark><mark style="color:orange;">**-**</mark><mark style="color:orange;">), and underscores (</mark><mark style="color:orange;">**\_**</mark><mark style="color:orange;">).</mark>
     * <mark style="color:orange;">**Case-Insensitive**</mark><mark style="color:orange;">:</mark> <mark style="color:orange;"></mark><mark style="color:orange;">`example`</mark> <mark style="color:orange;"></mark><mark style="color:orange;">and</mark> <mark style="color:orange;"></mark><mark style="color:orange;">`Example`</mark> <mark style="color:orange;"></mark><mark style="color:orange;">are treated the same.</mark>
     * <mark style="color:orange;">**No Whitespace**</mark><mark style="color:orange;">: Spaces are not allowed.</mark>

   **Examples of valid labels**:

   * <mark style="color:green;">`replace_rule_1`</mark>
   * <mark style="color:green;">`clean-text`</mark>
   * <mark style="color:green;">`filter2024`</mark>
2. **Full Content Original** (*Optional*):
   * Paste the full message content to preview or test matches.
3. **Original Words** (*Required*):
   * Insert the exact word, phrase, or regex pattern you want to replace.
4. **New Words Replace** (*Required*):
   * Insert the new text to replace the original content.
5. **(Optional) Apply For Task**:
   * Specify the task or forward rule this replace rule will apply to (leave blank for all tasks).

***

#### **Step 3: Save the Rule**

1. Click **Create Replace** to save the rule.
2. The rule will now be listed under the **Replace** section.

***

## **3. Replace Type**

### **Basic Replace**

Replace simple words or phrases with new content.

| **Use Case**                 | **Original Text** | **New Text**    | **Result**                    |
| ---------------------------- | ----------------- | --------------- | ----------------------------- |
| Replace "black" with "white" | `black`           | `white`         | `I like white.`               |
| Remove the word "do not"     | `do not`          | *(Leave blank)* | `I like black.`               |
| Replace "under the moon"     | `under the moon`  | `on the sun`    | `Sometimes I lay on the sun.` |

**Steps to Use in App**:

<figure><img src="/files/RThZBFb9gkHk8lIFn1cJ" alt=""><figcaption></figcaption></figure>

1. Select **Basic** as the Replace Type.
2. Enter:
   * **Original Words**: Text to be replaced (e.g., "black").
   * **New Words Replace**: Replacement text (e.g., "white").
3. Save the rule.

{% embed url="<https://youtu.be/xTfVslgt3Ig>" %}

### **Regex Replace**

The **Regex Replace** feature allows you to perform advanced message replacements using **Regular Expressions (Regex)**. Regex is a powerful tool for matching and manipulating text patterns in messages, making it ideal for complex tasks like removing URLs, mentions, or specific patterns.

Using **Regex Replace** requires a basic understanding of **Regular Expressions (Regex)**. If you are not familiar with Regex, it’s recommended to:

* Start with simpler replacements using **Basic Replace**.
* Learn basic Regex patterns for common use cases.

***

<figure><img src="/files/g7CLsle164Ka2bP5B5uC" alt=""><figcaption></figcaption></figure>

#### **1. Replace "good" or "perfect" with "bad"**

**Use Case**: Replace the words "good" or "perfect" with "bad".

**Input**:

* **Original Words**: `(good|perfect)`
* **New Words Replace**: `bad`

**Example Message**:

```
This is a good day, everything is perfect.
```

**Result**:

```
This is a bad day, everything is bad.
```

***

#### **2. Replace URLs or mentions with a fixed text**

**Use Case**: Replace all URLs or mentions (e.g., `@username` or `https://example.com`) with "@Auto\_Forward\_Messages\_Bot".

**Input**:

* **Original Words**: `(@|www|https?)\S+`
* **New Words Replace**: @Auto\_Forward\_Messages\_Bot

**Example Message**:

```
Visit https://example.com or contact @username for more info.
```

**Result**:

```
Visit @Auto_Forward_Messages_Bot or contact @Auto_Forward_Messages_Bot for more info.
```

***

#### **3. Remove unnecessary phrases and keep core content**

**Use Case**: Remove unwanted phrases like "✉️TPA trading report" and "The monitoring will be continued".

**Input**:

* **Original Words**: `(?:.*)(BUY|SELL)(.*)\n(?:.*)`
* **New Words Replace**: `\1\2`

**Example Message**:

```
✉️TPA trading report:
TPA: Entry BUY  UUDCHF M30 at 2023.06.16 15:30
The monitoring will be continued.
```

**Result**:

```
BUY  UUDCHF M30 at 2023.06.16 15:30
```

***

#### **4. Replace "Take profit" with "TP"**

**Use Case**: Replace "Take profit (1|2|3) at" with "TP".

**Input**:

* **Original Words**: ^(Take\&#x73;*profit\s*\d(?:➡️|👉)at)`t`
* **New Words Replace**: `TP`

**Example Message**:

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
Take profit 1👉at 1955.35 
Take profit 2👉at 1938.94 
Take profit 3👉at 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

**Result**:

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
TP 1955.35 
TP 1938.94 
TP 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

***

#### **5. Reformat content for better readability**

**Use Case**: Reformat reports with a new structure.

**Input**:

* **Original Words**: (?:.*#)(.*)\s+(?:.*Long.*,\s+(\w+)(?:.*))\n+(?:Entry.*)\s+(\d+.?\d+)\s+(?:SL.*-)(?:.*)\s+(\d+-\d+)(?:%)\n+(?:.*:)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.\*)
* **New Words Replace**: \1 Binance futures\nLEVERAGE CROSS \2\nBUY \3\nSELL: \5 \6 \7 \8\nSTOP: \4%

**Example Message**:

```
🔥 #RDNT/USDT (Long📈, x20) 🔥

Entry - 0.2483
SL - 25-30%

Take-Profit:
🥇 0.2534 (40% of profit)
🥈 0.256 (60% of profit)
🥉 0.2586 (80% of profit)
🚀 0.2614 (100% of profit)
```

**Result**:

```
RDNTUSDT Binance futures
LEVERAGE CROSS 20X
BUY   0.2483
SELL: 0.2534 0.256 0.2586 0.2614
STOP: 25%
```

***

#### **Tips for Users**

* Use **Basic Replace** for simple word or phrase replacements.
* Use **Regex Replace** for advanced patterns like URLs, mentions, or multi-line formatting.
* Test your Regex rules on sample messages to ensure accuracy.
* To **remove content**, leave the "New Words Replace" field blank.

***

### **Replace Power**

The **Replace Power** feature is an advanced tool that allows you to apply **multiple replacement rules** at once. You can combine both **Simple Replace** and **Regex Replace** to remove or replace complex patterns in a single operation.

#### **Key Features of Replace Power**

1. Apply multiple replacement rules simultaneously.
2. Support for **Simple Replace** (basic words/phrases).
3. Use **Regex** for advanced text modifications.
4. Each syntax rule corresponds to one line.

Replace Power allows you to add **multiple replacement rules**.&#x20;

**For example:**

1. **Rule 1** (Simple Mode):
   * **Original Words** = `2+1=3` → **Replace Words** = 2+2=4
2. **Rule 2** (Regex Mode):
   * **Original Words** = `(@|www|https?)\S+` → **Replace Words** = `@Auto_Forward_Messages_Bot`
3. **Rule 3** (Simple Mode):
   * **Original Words** = `url:tag` → **Replace Words** = `customer`

<figure><img src="/files/EOGjLbkRw42uaZPAAWEP" alt=""><figcaption></figcaption></figure>

***

### **Using Shortcodes in Replace Features**

Shortcodes allow you to dynamically insert message details like sender names, message IDs, and original text when creating replacement rules. These shortcodes can be used across all **Replace Types**, including **Basic**, **Regex**, and **Replace Power**.

Shortcodes can be used in the following **Replace Types**:

| **Replace Type**  | **Description**                                                               |
| ----------------- | ----------------------------------------------------------------------------- |
| **Basic**         | Replace simple words or phrases with static or shortcode values.              |
| **Use Regex**     | Use Regular Expressions (Regex) combined with shortcodes for dynamic results. |
| **Replace Power** | Apply multiple replacement rules with shortcodes in a single operation.       |

***

### ❇️ ShortCode Guide ❇️

✅ **`Original_WORD`** is the word or phrase in the source message that you want to replace.\
You can use the following ShortCodes:

* `[[FULL_MESSAGE]]`: Extracts the full content of the message, including text, media, and other types
* `[[FULL_TEXT]]`: Extracts only the text content from the original message

***

✅ **`NEW_WORD`** is the value that will replace the original word. You can combine it with these ShortCodes:

🔹 Message & Sender Info

| ShortCode                | Description                                                           |
| ------------------------ | --------------------------------------------------------------------- |
| `[[ORIGIN_USERNAME]]`    | Username of the original sender                                       |
| `[[ORIGIN_USERID]]`      | Telegram user ID of the original sender                               |
| `[[ORIGIN_TEXT]]`        | The original message text                                             |
| `[[ORIGIN_NAME]]`        | Full name of the original sender or name of the original channel      |
| `[[ORIGIN_POST_ID]]`     | Post ID of the original message                                       |
| `[[ORIGIN_CHAT_ID]]`     | Chat ID of the original message                                       |
| `[[ORIGIN_QUOTED_TEXT]]` | Quoted text from the original post                                    |
| `[[ORIGIN_NAME_URL]]`    | A clickable link to the original sender or channel                    |
| `[[FROM_USER]]`          | Username of the user who forwarded the message                        |
| `[[SOURCE_NAME]]`        | Name of the original source or channel the message was forwarded from |
| `[[SENDER_CHAT]]`        | Display name of the sender                                            |
| `[[FORWARD_FROM_CHAT]]`  | Original chat or channel name if the message was forwarded            |

🔹 Current Time Info

| ShortCode               | Description                |
| ----------------------- | -------------------------- |
| `[[CURRENT_TIME]]`      | Current time (HH:MM:SS)    |
| `[[CURRENT_DATE]]`      | Current date (DD/MM/YYYY)  |
| `[[CURRENT_DATETIME]]`  | Full current date and time |
| `[[CURRENT_TIMESTAMP]]` | Current Unix timestamp     |

🔹 Original Post Timestamps

| ShortCode                        | Description                             |
| -------------------------------- | --------------------------------------- |
| `[[ORIGIN_POST_TIME]]`           | Time (only) of the original post        |
| `[[ORIGIN_POST_DATE_FORMATTED]]` | Formatted date of the original post     |
| `[[ORIGIN_POST_DATETIME]]`       | Full date and time of the original post |

🔹 Sender Personal Info

| ShortCode               | Description                         |
| ----------------------- | ----------------------------------- |
| `[[ORIGIN_FIRST_NAME]]` | First name of the original sender   |
| `[[ORIGIN_LAST_NAME]]`  | Last name of the original sender    |
| `[[ORIGIN_PHONE]]`      | Phone number of the sender (if any) |

🔹 Media & File Info

| ShortCode        | Description                            |
| ---------------- | -------------------------------------- |
| `[[MEDIA_TYPE]]` | Media type (photo, video, document...) |
| `[[FILE_SIZE]]`  | Formatted file size                    |
| `[[FILE_NAME]]`  | Name of the attached file              |

🔹 Chat Info

| ShortCode                | Description                              |
| ------------------------ | ---------------------------------------- |
| `[[CHAT_TYPE]]`          | Type of chat: PRIVATE, GROUP, CHANNEL... |
| `[[MESSAGE_LINK]]`       | Direct link to the message               |
| `[[CHAT_USERNAME]]`      | Username of the chat                     |
| `[[CHAT_MEMBERS_COUNT]]` | Number of members in the chat            |

🔹 Message Content Metadata

| ShortCode         | Description                     |
| ----------------- | ------------------------------- |
| `[[WORD_COUNT]]`  | Total word count in the message |
| `[[CHAR_COUNT]]`  | Total character count           |
| `[[LINE_COUNT]]`  | Total line count                |
| `[[TEXT_LENGTH]]` | Length of the text              |
| `[[HASHTAGS]]`    | All hashtags in the message     |
| `[[MENTIONS]]`    | All mentions (@username)        |
| `[[URLS]]`        | All URLs in the message         |

🔹 Engagement Stats

| ShortCode             | Description                               |
| --------------------- | ----------------------------------------- |
| `[[VIEW_COUNT]]`      | Number of views (for channel posts)       |
| `[[FORWARD_COUNT]]`   | Number of times the message was forwarded |
| `[[REACTIONS_COUNT]]` | Number of emoji reactions                 |

🔹 Other Utilities

| ShortCode                 | Description                                   |
| ------------------------- | --------------------------------------------- |
| `[[RANDOM_EMOJI]]`        | A random emoji from the system collection     |
| `[[RANDOM_NUMBER]]`       | Random number between 1 and 1000              |
| `[[MESSAGE_ID]]`          | ID of the current message                     |
| `[[REPLY_TO_MESSAGE_ID]]` | ID of the replied message                     |
| `[[IS_FORWARD]]`          | Whether the message is a forward (true/false) |
| `[[IS_REPLY]]`            | Whether the message is a reply (true/false)   |
| `[[HAS_MEDIA]]`           | Whether the message contains media            |

***

📌 **Note**: ShortCodes will be dynamically replaced during processing.\
You can mix multiple ShortCodes in `NEW_WORD` for advanced customization.

#### **Examples for Using Shortcodes**

#### **Example 1: Replace Full Message Content**

**Replace Type**: **Basic**

* **Original Words**: `[[FULL_TEXT]]`
* **New Words Replace**: `Hello! This message was forwarded by [[SOURCE_NAME]].`

**Original Message**:

```yaml
Important announcement: Meeting tomorrow at 10 AM.
```

**Result**:

```csharp
Hello! This message was forwarded by Channel_Name.
```

***

#### **Example 2: Add Sender Information Using Shortcodes**

**Replace Type**: **Basic**

* **Original Words**: `Hi`
* **New Words Replace**: `Hi - Sent by [[ORIGIN_NAME]] ([[ORIGIN_USERID]])`

**Original Message**:

**Original Message**:

```yaml
Hi
```

**Result**:

```csharp
Hi - Sent by John Doe (12345678)
```

***

### **Remove Lines Without Keywords Using Replace**

The **Remove Lines Without Keywords** feature allows you to keep specific lines from a message that contain certain **keywords**. Any line **without the keywords** will be removed from the final result. This feature is especially useful for filtering message content to keep only relevant information.

#### **How It Works**

* You specify one or more **keywords**.
* The feature will **scan each line** of the message.
* **Only lines containing the keywords** will be kept.

#### **Steps to Use the Feature in the App**

1. Choose  **Keep Lines with Keywords** as your Replace Type.
2. Configure the rule:
   * **Enter Keyword**
   * Tap **+ New Keyword** to add multiple keywords.
   * **Example Keywords**:
     * `BUY`
     * `Take`
     * `Profit`
     * `risk size`
3. Tap **Save** to apply the rule.

#### **Example Scenario**

<figure><img src="/files/BVSkpoVHT3KpwmcU8Zp0" alt=""><figcaption></figcaption></figure>

#### **Original Message**

```yaml
24/11/23 | Market Execution  

Notes:  

📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit  3 at 2026  
•APPROPRIATE risk size 1%  
```

***

#### **Replace Configuration**

* **Keywords**: `BUY,Take Profit,risk size`
* **New Words Replace**: `KEEP`

***

#### **Final Result**

Only lines containing the specified keywords (`BUY`, `Take Profit`, or `risk size`) will be kept:

```yaml
📉BUY limit XAUUSD at 1994  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

***

### **Remove Lines by Keyword Using Replace**

The **Remove Lines by Keyword** feature allows you to **remove lines** from a message if they contain one or more specific **keywords**. This feature helps you filter out irrelevant or unwanted lines while keeping the rest of the content intact.

#### **How It Works**

* You provide **keywords** to match lines in the message.
* If a line contains any of the specified keywords, it will be **removed** from the final output.

**Steps to Use the Feature**

* Enter the keywords that will be used to identify and remove lines containing them.
* Tap **+ New Keyword** to add multiple keywords.
* **Example Keywords**:
  * `Market`
  * `Notes`
  * `risk size`

#### **Example Scenario**

<figure><img src="/files/5ANlugbesbJ6wpTsE6iM" alt=""><figcaption></figcaption></figure>

#### **Original Message**

```yaml
24/11/23 | Market Execution  

Notes:  

📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

#### **Keywords**:

* `Market`
* `Notes`
* `risk size`

#### **Result After Applying the Rule**

Lines containing the keywords **"Market"**, **"Notes"**, and **"risk size"** will be removed:

```yaml
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit  3 at 2026  
```

***

### **Remove Empty Lines Using Replace**

The **Remove Empty Lines** feature allows you to clean up messages by removing all blank or empty lines. This ensures your forwarded content is clean and well-formatted.

<figure><img src="/files/2gPD8CuwW6cNNLCPiFV6" alt=""><figcaption></figcaption></figure>

#### **Example Scenario**

#### **Original Message**

```yaml
24/11/23 | Market Execution  

Notes:  

📉BUY limit XAUUSD at 1994  

Stop Loss 1990  

Take Profit 1 at 2000  

Take Profit 2 at 2006  

Take Profit 3 at 2026  

•APPROPRIATE risk size 1%  
```

#### **After Applying the Rule**

All empty lines are removed, and the content becomes:

```yaml
24/11/23 | Market Execution  
Notes:  
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

***

### **Remove Lines By Line Number Using Replace**

The **Remove Lines By Line Number** feature allows you to specify which lines in a message should be removed based on their line order. This is particularly useful when you need to clean up messages by eliminating unnecessary lines.

In the **Replace Type** dropdown menu, select **Remove Lines By Line Number**.

<figure><img src="/files/vJexhAsfqNAoHNuCcTYr" alt=""><figcaption></figcaption></figure>

**Configure the Rule**

* **Label**:
  * Enter a descriptive name for your rule.
  * Example: `remove_line_2_5`.
* **Line Order**:
  * Enter the specific line numbers you want to remove.
  * Use commas (`,`) to separate multiple line numbers.
  * Example: `1,3,5` (to remove lines 1, 3, and 5).
* **Optional: Apply For Task**:
  * Select a specific task to apply this rule.

#### **Example Scenario**

#### **Original Message**

```yaml
24/11/23 | Market Execution  
Notes:  
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 1 at 2000  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

#### **Remove Lines**: 2, 5

* **Label**: `remove_line_2_5`
* **Line Order**: `2,5`

***

#### **Result After Applying the Rule**

Lines 2 and 5 are removed from the message:

```yaml
24/11/23 | Market Execution  
📉BUY limit XAUUSD at 1994  
Stop Loss 1990  
Take Profit 2 at 2006  
Take Profit 3 at 2026  
•APPROPRIATE risk size 1%  
```

## **4.** Apply/Disable Replace For a Task

The **Replace** feature allows you to apply or disable specific replacement rules for tasks. This guide will show you how to manage Replace rules, enabling them for individual tasks or across all tasks.

#### **Step 1: Access the Replace List**

1. From the **Dashboard**, select the **Replace** feature.
2. You will see a list of all previously created **Replace rules**.

<figure><img src="/files/LhQa0mCW5KVuJv3ud4oT" alt=""><figcaption></figcaption></figure>

***

#### **Step 2: Select a Replace Rule**

1. Locate the Replace rule you want to manage.
2. Tap or click on the rule.

   A **popup window** will appear, showing details of the selected Replace rule (as seen in the second image).

<figure><img src="/files/5HV0vISAAA2qkkQ3AR1o" alt=""><figcaption></figcaption></figure>

***

#### **Step 3: Manage the Replace Rule for Tasks**

In the popup window, you will see the following options:

1. **Activate/Deactivate For Task** (Green Button)
   * Use this option to enable or disable the Replace rule for a specific task.
   * If the Replace rule is already active for the task, clicking this will **deactivate** it.
   * If the Replace rule is inactive, clicking this will **activate** it.

***

2. **Apply For All Tasks** (Blue Button)
   * This option allows you to apply the Replace rule to **all existing tasks**.
   * Use this feature when you want the Replace rule to take effect globally across all your tasks.

***

3. **Edit Replace** (Orange Button)
   * Tap this option to **edit the Replace rule**.
   * You can update the label, Replace syntax, or any other details of the rule as needed.

***

4. **Delete** (Red Button)
   * Use this option to **delete** the Replace rule permanently.
   * Be cautious, as this action cannot be undone.


# Use Command on Bot Telegram

{% hint style="info" %}
You can set a list of words or regex patterns which tells the bot that if the message received from source channel has any of the replace words or regex pattern match the bot should replace that message with the word you want to change.
{% endhint %}

{% hint style="danger" %} <mark style="color:red;">This feature will not work if you enable "</mark><mark style="color:red;">**Show Header Forwarder**</mark><mark style="color:red;">" in task list</mark>
{% endhint %}

## &#x20;Create New Replace

### 1. USE Basic

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL Original_WORD -> NEW_WORD
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* **Original\_WORD** is word you want replace. Check Tab **Example**
* **NEW\_WORD** is  word will replace. Check **Example**

❇️ **Example** ❇️

Use the syntax as shown below when you want to replace words or full paragraphs.\
\
➡️ Change **black** to **white**\
**`/replace add re1 black -> white`**

➡️ Remove keyword **black** from the message\
`/replace add re1 black -> EMPTY`

➡️ Remove keyword **do not** from the message **i do not like black**

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add re1 do not -> EMPTY
```

{% endcode %}

{% code title="Result output" overflow="wrap" %}

```
i like black
```

{% endcode %}

➡️ Change **under the moon** to **on** **the** **sun** in content **Sometimes I lay under the moon**

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add re2 under the moon -> on the sun
```

{% endcode %}

{% code title="Result output" %}

```
Sometimes I lay on the sun
```

{% endcode %}

### 2. USE Regex

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_regex Regex_syntax -> NEW_WORD
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_regex**</mark>
* **Original\_WORD** is word you want replace. Check  **Example**
* **NEW\_WORD** is  word will replace. Check **Example**

{% hint style="info" %}
Use the syntax as shown below when you want to achive result that is not possible with the simple syntax. This syntax uses regex to replace words and keywords and you can do everything you want with the message if you know regex.
{% endhint %}

{% hint style="warning" %}
**We do not support usage of regex, you are on your own if you decide to use regex. Only use it if you know what you are doing.**
{% endhint %}

❇️ **Example** ❇️

➡️ Change **good** or **perfect** to **bad**

```
/replace add re1_regex (good|perfect) -> bad
```

➡️ Match every **url** or **@mention** and change it to @Auto\_Forward\_Messages\_Bot \
/replace add re1\_regex (@|www|https?)\S+ -> @Auto\_Forward\_Messages\_Bot

➡️ Exam1: Refactor content use regex. Remove *"**✉️TPA trading report:", "TPA: Entry", "The monitoring will be continued."***  in content below 👇

```
✉️TPA trading report:
TPA: Entry BUY  UUDCHF M30 at 2023.06.16 15:30
The monitoring will be continued.
```

{% code overflow="wrap" fullWidth="false" %}

```
/replace add radim_r2_regex (?:.*)(BUY|SELL)(.*)\n(?:.*) -> \1\2
```

{% endcode %}

{% code title="Result Output" overflow="wrap" %}

```
BUY  UUDCHF M30 at 2023.06.16 15:30
```

{% endcode %}

➡️ Exam2: Refactor content use regex. Change all *"***Take profit (1|2|3)**&#xD83D;�**at*****"***  to **TP** in content below 👇

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
Take profit 1👉at 1955.35 
Take profit 2👉at 1938.94 
Take profit 3👉at 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add changeTP_regex ^(Take\s*profit\s*\d(?:➡️|👉)at) -> TP
```

{% endcode %}

{% code title="Result Output" overflow="wrap" %}

```
🚨Signal Alert🚨 
GOLD sell at (@ 1966.40)
TP 1955.35 
TP 1938.94 
TP 1918.62 
Stop loss at 1982.45
🎯Chance of success: 83% 
⚠️Risk 1-2% per trade!
```

{% endcode %}

**➡️ Exam 3:  Refactor content use regex. Change all to new format in content below 👇**

{% code title="Content Original" overflow="wrap" %}

```
🔥 #RDNT/USDT (Long📈, x20) 🔥

Entry - 0.2483
SL - 25-30%

Take-Profit:
🥇 0.2534 (40% of profit)
🥈 0.256 (60% of profit)
🥉 0.2586 (80% of profit)
🚀 0.2614 (100% of profit)
```

{% endcode %}

{% code title="Use syntax command" overflow="wrap" %}

```
/replace add re_signal_regex (?:.*\#)(.*)\s+(?:.*Long.*\,\s+(\w+)(?:.*))\n+(?:Entry.*)\s+(\d+.?\d+)\s+(?:SL.*\-)(?:.*)\s+(\d+\-\d+)(?:\%)\n+(?:.*:)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*)\n(?:.*)\s+(\d+.?\d+)(?:.*) -> \1 Binance futures\nLEVERAGE CROSS \2\nBUY   \3\nSELL: \5 \6 \7 \8\nSTOP: \4%
```

{% endcode %}

{% code title="Result Output" %}

```
RDNTUSDT Binance futures
LEVERAGE CROSS 20X
BUY   0.2483
SELL: 0.2534 0.256 0.2586 0.2614
STOP: 25%
```

{% endcode %}

Video: [Regex Magic: Beyond Your Imagination | Replace Advanced Feature](#regex-magic-beyond-your-imagination-or-replace-advanced-feature)

## Replace Power

This is a powerful bot replacement feature. It is used to remove and change keywords from messages by combining multiple syntaxes. You can use **regex** with this feature.

{% hint style="success" %}
**To apply multiple replace rules at once you just need to place them in a newline**
{% endhint %}

### 1. Syntax Command

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_power [[ALL_IN_ONE]] -> "Original_WORD_1","NEW_WORD"
Regex_Syntax=NEW_WORD
```

{% endcode %}

{% code title="Simple Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_power [[ALL_IN_ONE]] -> "Original_WORD_1","NEW_WORD"
"Original_WORD_2","NEW_WORD"
"Original_WORD_3","NEW_WORD"
..
Add Unlimited
```

{% endcode %}

{% code title="Regex Advanced" overflow="wrap" %}

```
/replace ACTION LABEL_power [[ALL_IN_ONE]] -> Regex_Syntax=NEW_WORD
Regex_Syntax=NEW_WORD
Regex_Syntax=NEW_WORD
..
Add Unlimited
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **ADD or REMOVE**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_power**</mark>
* **\[\[ALL\_IN\_ONE]]** is shortcode. Keep it after **Label**
* **Original\_WORD** is word you want replace. Can use **Regex**
* **NEW\_WORD** is  word will replace.

❇️ **Input** **Syntax Simple Example** ❇️

➡️ Change **good** to **bad**\
`/replace add re1_power [[ALL_IN_ONE]] -> "good","bad"`

➡️ Change **20** to **50** and **2+5=7** to **6+4=10**

{% code overflow="wrap" %}

```
/replace add re2_power [[ALL_IN_ONE]] -> "20","50"
"2+5=7","6+4=10"
```

{% endcode %}

➡️ Remove keyword **black** from the message

```
/replace add re3_power [[ALL_IN_ONE]] -> "black",""
```

#### ❇️ **Input Syntax Example (Advanced)** ❇️

➡️ Change **telegram.me** or **tm.me** to **autoforwardtelegram.com**

{% code overflow="wrap" %}

```
/replace add re4_power [[ALL_IN_ONE]] -> (telegram\.me|tm\.me)=autoforwardtelegram.com
```

{% endcode %}

➡️ Use regex to match **gray** or **grey** and change it to **red**

{% code overflow="wrap" %}

```
/replace add re4_power [[ALL_IN_ONE]] -> gr[ae]y=red
```

{% endcode %}

➡️ Unshort urls, match **tag** (query) and change it to **customer**

```
/replace add re4_power [[ALL_IN_ONE]] -> url:tag=customer
```

➡️ **Match every url** or **@mention** and change it to **@Auto\_Forward\_Messages\_Bot**

{% code overflow="wrap" %}

```
/replace add re4_power [[ALL_IN_ONE]] -> (@|www|https?)\S+=@Auto_Forward_Messages_Bot
```

{% endcode %}

➡️  **To apply multiple transformation rules at once you just need to place them in a newline**

{% code overflow="wrap" %}

```
/replace add re1_power [[ALL_IN_ONE]] -> "2+1=3","2+2=4"
"red",""
(@|www|https?)\S+=@Auto_Forward_Messages_Bot
url:tag=customer
```

{% endcode %}

## Create New Replace Use ShortCode

➡️ Command Arguments

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL Original_WORD -> NEW_WORD
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace**.
* Do not use number for **LABEL**.&#x20;
* **Original\_WORD** is word  or **short code** you want replace.&#x20;
* **NEW\_WORD** is  word or **short code** will replace.

### ❇️ ShortCode Guide ❇️

✅ **`Original_WORD`** is the word or phrase in the source message that you want to replace.\
You can use the following ShortCodes:

* `[[FULL_MESSAGE]]`: Extracts the full content of the message, including text, media, and other types
* `[[FULL_TEXT]]`: Extracts only the text content from the original message

***

✅ **`NEW_WORD`** is the value that will replace the original word. You can combine it with these ShortCodes:

🔹 Message & Sender Info

| ShortCode                | Description                                                           |
| ------------------------ | --------------------------------------------------------------------- |
| `[[ORIGIN_USERNAME]]`    | Username of the original sender                                       |
| `[[ORIGIN_USERID]]`      | Telegram user ID of the original sender                               |
| `[[ORIGIN_TEXT]]`        | The original message text                                             |
| `[[ORIGIN_NAME]]`        | Full name of the original sender or name of the original channel      |
| `[[ORIGIN_POST_ID]]`     | Post ID of the original message                                       |
| `[[ORIGIN_CHAT_ID]]`     | Chat ID of the original message                                       |
| `[[ORIGIN_QUOTED_TEXT]]` | Quoted text from the original post                                    |
| `[[ORIGIN_NAME_URL]]`    | A clickable link to the original sender or channel                    |
| `[[FROM_USER]]`          | Username of the user who forwarded the message                        |
| `[[SOURCE_NAME]]`        | Name of the original source or channel the message was forwarded from |
| `[[SENDER_CHAT]]`        | Display name of the sender                                            |
| `[[FORWARD_FROM_CHAT]]`  | Original chat or channel name if the message was forwarded            |

🔹 Current Time Info

| ShortCode               | Description                |
| ----------------------- | -------------------------- |
| `[[CURRENT_TIME]]`      | Current time (HH:MM:SS)    |
| `[[CURRENT_DATE]]`      | Current date (DD/MM/YYYY)  |
| `[[CURRENT_DATETIME]]`  | Full current date and time |
| `[[CURRENT_TIMESTAMP]]` | Current Unix timestamp     |

🔹 Original Post Timestamps

| ShortCode                        | Description                             |
| -------------------------------- | --------------------------------------- |
| `[[ORIGIN_POST_TIME]]`           | Time (only) of the original post        |
| `[[ORIGIN_POST_DATE_FORMATTED]]` | Formatted date of the original post     |
| `[[ORIGIN_POST_DATETIME]]`       | Full date and time of the original post |

🔹 Sender Personal Info

| ShortCode               | Description                         |
| ----------------------- | ----------------------------------- |
| `[[ORIGIN_FIRST_NAME]]` | First name of the original sender   |
| `[[ORIGIN_LAST_NAME]]`  | Last name of the original sender    |
| `[[ORIGIN_PHONE]]`      | Phone number of the sender (if any) |

🔹 Media & File Info

| ShortCode        | Description                            |
| ---------------- | -------------------------------------- |
| `[[MEDIA_TYPE]]` | Media type (photo, video, document...) |
| `[[FILE_SIZE]]`  | Formatted file size                    |
| `[[FILE_NAME]]`  | Name of the attached file              |

🔹 Chat Info

| ShortCode                | Description                              |
| ------------------------ | ---------------------------------------- |
| `[[CHAT_TYPE]]`          | Type of chat: PRIVATE, GROUP, CHANNEL... |
| `[[MESSAGE_LINK]]`       | Direct link to the message               |
| `[[CHAT_USERNAME]]`      | Username of the chat                     |
| `[[CHAT_MEMBERS_COUNT]]` | Number of members in the chat            |

🔹 Message Content Metadata

| ShortCode         | Description                     |
| ----------------- | ------------------------------- |
| `[[WORD_COUNT]]`  | Total word count in the message |
| `[[CHAR_COUNT]]`  | Total character count           |
| `[[LINE_COUNT]]`  | Total line count                |
| `[[TEXT_LENGTH]]` | Length of the text              |
| `[[HASHTAGS]]`    | All hashtags in the message     |
| `[[MENTIONS]]`    | All mentions (@username)        |
| `[[URLS]]`        | All URLs in the message         |

🔹 Engagement Stats

| ShortCode             | Description                               |
| --------------------- | ----------------------------------------- |
| `[[VIEW_COUNT]]`      | Number of views (for channel posts)       |
| `[[FORWARD_COUNT]]`   | Number of times the message was forwarded |
| `[[REACTIONS_COUNT]]` | Number of emoji reactions                 |

🔹 Other Utilities

| ShortCode                 | Description                                   |
| ------------------------- | --------------------------------------------- |
| `[[RANDOM_EMOJI]]`        | A random emoji from the system collection     |
| `[[RANDOM_NUMBER]]`       | Random number between 1 and 1000              |
| `[[MESSAGE_ID]]`          | ID of the current message                     |
| `[[REPLY_TO_MESSAGE_ID]]` | ID of the replied message                     |
| `[[IS_FORWARD]]`          | Whether the message is a forward (true/false) |
| `[[IS_REPLY]]`            | Whether the message is a reply (true/false)   |
| `[[HAS_MEDIA]]`           | Whether the message contains media            |

***

📌 **Note**: ShortCodes will be dynamically replaced during processing.\
You can mix multiple ShortCodes in `NEW_WORD` for advanced customization.

❇️ **Example** ❇️

Use the syntax as shown below when you want to replace words or full paragraphs.\
**Hello. How are you?**\
➡️ Change full content **Hello. How are you?** to **Hi**

{% code overflow="wrap" %}

```
/replace add re1 [[FULL_TEXT]]  -> Hi
```

{% endcode %}

➡️ Change **Hello. How are you?** to original content + Signature Source

{% code overflow="wrap" %}

```
/replace add re1 [[FULL_TEXT]]  -> [[ORIGIN_TEXT]]- by [[SOURCE_NAME]]
```

{% endcode %}

{% embed url="<https://www.youtube.com/watch?v=cxM_oNvPyPA>" %}

## Remove Lines without Keyword using Replace

This feature is used to keep lines from the message. You will use keywords to check message lines and if a keyword or one of the keywords (if multiple) is found on the line, AutoForward will keep that line from the final result.

➡️ USE command

Syntax

```
/replace ACTION LABEL_keepwith Keywords -> KEEP
```

➡️ **Command Information**

* **ACTION** is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.
* **Must use suffix for LABEL** is **\_keepwith**
* **`Keywords`** is word you want found on the line and keep that line. Check **Example**

❇️ **Example** ❇️

➡️ **Content Original:**

24/11/23 | Market Execution

Notes:

📉BUY limit XAUUSD at 1994

Stop Loss 1990

Take Profit 1 at 2000

Take Profit 2 at 2006

Take Profit 3 at 2026

•APPROPRIATE risk size 1%

{% code title="Use command" %}

```
/replace add re1_keepwith BUY,Take Profit,risk size -> KEEP
```

{% endcode %}

➡️ **Result Final: Keep line have keyword "BUY" , line have keyword "Take Profit" and line have keyword "risk size".**

📉BUY limit XAUUSD at 1994

Stop Loss 1990

Take Profit 1 at 2000

Take Profit 2 at 2006

Take Profit 3 at 2026

•APPROPRIATE risk size 1%

## Remove Lines By Keyword with Replace

This feature is used to remove lines from the message. You will use keywords to check message lines and if a keyword or one of the keywords (if multiple) is found on the line, AutoForward will remove that line from the final result.

➡️ USE command

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_rmline Keywords -> EMPTY
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_rmline**</mark>
* **`Keywords`** is word you want found on the line and remove that line. Check **Example**

❇️ **Example** ❇️

➡️ **Content Original:**

24/11/23 | Market Execution&#x20;

Notes:&#x20;

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

•APPROPRIATE risk size 1%

`/replace add re1_rmline Market,Notes,risk size -> EMPTY`

➡️ **Result Final: Remove line have keyword "Market" , line have keyword "Notes" and line have keyword "risk size".**

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

## Remove Lines EMPTY Use Replace

{% code title="" overflow="wrap" %}

```
/replace add removeline_regex \n\n -> EMPTY
```

{% endcode %}

## Remove Lines By Line Order With Replace

This feature is used to remove lines from the message. You will use line order, AutoForward will remove that line from the final result.

➡️ USE command

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL_removelines lineorder1,lineorder2,.. -> EMPTY
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.&#x20;
* <mark style="color:orange;">**Must use suffix for LABEL**</mark> is <mark style="color:orange;">**\_removelines**</mark>
* **`lineorder1,lineorder2`** is line order you want  to remove. Check  **Example**

❇️ **Example** ❇️

➡️ **Content Original:**

24/11/23 | Market Execution&#x20;

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

•APPROPRIATE risk size 1%

`/replace add re1_removelines 1,7 -> EMPTY`

➡️ **Result Final: Remove line  1 is "**<mark style="color:red;">**24/11/23 | Market Execution**</mark> **" and line  7 is "**<mark style="color:red;">**•APPROPRIATE risk size 1%**</mark>**"**

📉BUY limit XAUUSD at 1994&#x20;

Stop Loss 1990&#x20;

Take Profit 1 at 2000&#x20;

Take Profit 2 at 2006&#x20;

Take Profit 3 at 2026&#x20;

## Replace Emoji&#x20;

### Emoji Premium

This feature is used to change emoji premium from the message.

{% hint style="warning" %}
**Note: This feature requires a premium Telegram account to operate.**
{% endhint %}

➡️ USE command

This replacement can be done using any type of replace command, such as&#x20;

**basic, regex, power, or removelines.**

{% code title="Syntax" overflow="wrap" %}

```
/replace ACTION LABEL emoji_premium_code -> new_emoji_premium_code
```

{% endcode %}

➡️ **Command Information**

* **ACTION**  is **add or remove**
* **LABEL** is the nickname you want to define for your **Replace.**
* Do not use number for **LABEL**.&#x20;
* **emoji\_premium\_code, new\_emoji\_premium\_code** are emojis premium

**Note: Premium emojis are different from regular emojis, so you need to extract the format code of the premium emoji first.**

1. To do this, start by launching the bot at <https://t.me/GetDetail_Bot>.
2. Next, forward the content containing the premium emoji to [@GetDetail\_Bot](https://t.me/GetDetail_Bot) to extract the format code.

<figure><img src="/files/aB9M8f8M1Ix6zv6MIPvK" alt=""><figcaption></figcaption></figure>

In this case, the format code will be `<emoji id="5334523697174683404">🤩</emoji>`.

3. Similarly, forward the content containing the new premium emoji you want to use to [@GetDetail\_Bot](https://t.me/GetDetail_Bot).

<figure><img src="/files/SuhqIpJOPnwpNAvJFCAP" alt=""><figcaption></figcaption></figure>

In this case, the format code will be `<emoji id="5445350775582629332">🥳</emoji>`.

4. After obtaining the two format codes, you can use them to replace each other with the command:

{% code overflow="wrap" %}

```
/replace add rp_emoji_premium <emoji id="5334523697174683404">🤩</emoji> -> <emoji id="5445350775582629332">🥳</emoji>
```

{% endcode %}

➡️ **Content Original:**

<figure><img src="/files/TxNz1kNkkoDvTU7wqxrT" alt=""><figcaption></figcaption></figure>

➡️ **Content Result:**

<figure><img src="/files/dkjPuNm4YIMsM0rma0b2" alt=""><figcaption></figcaption></figure>

#### Similarly, on the mobile app, it will look like the image below:

<div align="left"><figure><img src="/files/Cr04QFWuVV2x8now0Lza" alt="" width="248"><figcaption></figcaption></figure></div>

> You can also use this method to replace any text or normal emoji with a premium emoji, or vice versa.

#### **Here are a few examples of replacing any text or normal emoji with a premium emoji, or vice versa:**

1. Replace normal text with a premium emoji:

   <pre data-overflow="wrap"><code>/replace add rp_text_to_premium Hello -> &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji>
   </code></pre>
2. Replace a normal emoji with a premium emoji:

   <pre data-overflow="wrap"><code>/replace add rp_normal_to_premium 😊 -> &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji>
   </code></pre>
3. Replace a premium emoji with normal text:

   <pre data-overflow="wrap"><code>/replace add rp_premium_to_text &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji> -> Congratulations!
   </code></pre>
4. Replace a premium emoji with a normal emoji:

   <pre data-overflow="wrap"><code>/replace add rp_premium_to_normal &#x3C;emoji id="5445350775582629332">🥳&#x3C;/emoji> -> 😊
   </code></pre>

#### **Here are some additional examples of how to use the "Remove Lines without Keyword" and "Remove Lines by Keyword" features with a premium emoji keyword:**

#### Remove Lines without Keyword is Emoji

To keep lines containing specific keywords (like a premium emoji) and remove all others:

{% code overflow="wrap" %}

```plaintext
/replace add demo_keepwith <emoji id="5445350775582629332">🥳</emoji> -> KEEP
```

{% endcode %}

**Original Content:**

```
Hello there!
🥳 Celebrate with us!
Have a great day!
```

**Result:**

```
🥳 Celebrate with us!
```

#### Remove Lines by Keyword is Emoji

To remove lines containing specific keywords (like a premium emoji):

{% code overflow="wrap" %}

```plaintext
/replace add demo_rmline <emoji id="5445350775582629332">🥳</emoji> -> EMPTY
```

{% endcode %}

**Original Content:**

```
Hello there!
🥳 Celebrate with us!
Have a great day!
```

**Result:**

```
Hello there!
Have a great day!
```

## Apply/Disable Replace For a Task

**1.**  From **Auto Forward Messages BOT** [Choose Task ](/fundamentals/how-to-settings-for-task)you want Apply

**2.**  Select 🔐 **Advanced Configuration** from **Menu Setting**

**3.**  Select **Replace** from **Menu Advanced Configuration to show list replace**

**4.**  Click a your replace you want to **Activate or Deactivate** for Task

{% hint style="info" %}
Describe Status

🚫  **is status Deactivated**

✅ **is status Activated**
{% endhint %}

<figure><img src="/files/KIyp9raaA0r4vpVAbmTY" alt=""><figcaption><p>Apply Replace For Task</p></figcaption></figure>

## Apply/Disable Replace For All Task

{% hint style="danger" %}
When **Apply All Replace for Task** will won't activate for each single task
{% endhint %}

Use command **/replace** after select **Show All Replace**

![](/files/8CZybPMKDaY6VMwOi0S7)

## Remove All Replace

Use command **/replace** after select **CLEAR ALL**

<figure><img src="/files/k562SLLOR102tr5XL4mr" alt=""><figcaption><p>Remove all replace</p></figcaption></figure>

{% embed url="<https://www.youtube.com/watch?v=5w_BiJU4zAc>" %}

## Regex Magic: Beyond Your Imagination | Replace Advanced Feature

{% embed url="<https://www.youtube.com/watch?v=bshGJiKwocg>" %}


# Replace (Without Commands): Create And Management

{% hint style="info" %}
You can set a list of words or regex patterns which tells the bot that if the message received from source channel has any of the replace words or regex pattern match the bot should replace that message with the word you want to change.
{% endhint %}

{% hint style="danger" %} <mark style="color:red;">This feature will not work if you enable "</mark><mark style="color:red;">**Show Forward Headers**</mark><mark style="color:red;">" in task list</mark>
{% endhint %}

### :new: Create New Replace **Without Commands**

{% hint style="success" %}
By using the user interface instead of using commands. Make it easier for you to create replace content.
{% endhint %}

### ⭐️ Create With Basic Mode

{% tabs %}
{% tab title="Create with Basic Mode" %}
{% hint style="info" %}
When you want to change words, simple characters with another word
{% endhint %}

1. Use Command **/replace** after select **Create with Basic Mode**
2. **Enter the label name for replace setting**
3. **Follow the instructions from bot**
4. **DONE**

![](/files/x7ABttaVF5q8wzMRsW5Z)
{% endtab %}
{% endtabs %}

### ⭐️ Create With Advanced Mode (Regex, Sticker)

{% tabs %}
{% tab title="Use Regex" %}
{% hint style="info" %}
When you want to change words, characters, complex phrases to another content. Requires you to have regex knowledge.

🥸 If you do not know what a regex is, please refer to this document [click here](https://www.regular-expressions.info/)
{% endhint %}

{% hint style="warning" %}
We do not support usage of regex, you are on your own if you decide to use regex. Only use it if you know what you are doing.
{% endhint %}

1. Use Command **/replace** after select **Create With Advanced Mode**
2. Select **Use Regex**
3. **Enter the label name for replace setting**
4. **Follow the instructions from bot**
5. **DONE**

➡️ **Example for** change **good** or **bad** to **hello**

![Create a replace with regex](/files/6KuqTMHEOXEQ5irKPkeb)

![Active replace and demo](/files/EGAQQKDcVGjJwnZwB37x)
{% endtab %}

{% tab title="Use Sticker" %}
{% hint style="info" %}
When you want to change a sticker to a sticker another
{% endhint %}

1. Use Command **/replace** after select **Create With Advanced Mode**
2. Select **Use Sticker**
3. **Enter the label name for replace setting**
4. **Follow the instructions from bot**
5. **DONE**

![Create a replace with sticker](/files/6x3VuIW4VhiZtH7GRVtr)
{% endtab %}
{% endtabs %}

### ✅ Apply/Disable Replace For a Task

**1.**  From **Auto Forward Messages BOT** [Choose Task ](/fundamentals/how-to-settings-for-task)you want Apply

**2.**  Select 🔐 **Advanced Configuration** from **Menu Setting**

**3.**  Select **Replace** from **Menu Advanced Configuration to show list replace**

**4.**  Click a your replace you want to **Activate or Deactivate** for Task

{% hint style="info" %}
Describe Status

🚫  **is status Deactivated**

✅ **is status Activated**
{% endhint %}

<figure><img src="/files/KIyp9raaA0r4vpVAbmTY" alt=""><figcaption><p>Apply Replace For Task</p></figcaption></figure>

### ✅ Apply/Disable Replace For All Task

{% hint style="danger" %}
When **Apply All Replace for Task** will won't activate for each single task
{% endhint %}

Use command **/replace** after select **Show All** ▶️

![](/files/8CZybPMKDaY6VMwOi0S7)

### ✅ Remove All Replace

Use command **/replace** after select **CLEAR ALL**

<figure><img src="/files/9WPHcbyNlRHZo7HWtSIL" alt=""><figcaption><p>Remove All Replace</p></figcaption></figure>


# Clone Message

{% hint style="success" %}
This command is used for cloning (mirror) chats/channels or users messages from SOURCE to DESTINATION
{% endhint %}

### Use Mobile App

{% hint style="success" %}
✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

#### Part1: Clone Messages from One Channel to Another&#x20;

{% embed url="<https://youtu.be/iIlr8c7vDCQ>" %}

#### Part2: Clone Messages from One Group to Group/Topics

{% embed url="<https://youtu.be/ReIA8fNXk18>" %}

### Use BOT Command

{% hint style="warning" %}
**Important Info**

* When using this command with an current setup, that setup will not be able to send any new message until /clone finishes.
* When using this command, the bot might delay message redirection for your setups.
  {% endhint %}

{% hint style="warning" %}
**Warning**

* Because this commands sends a high amount of messages in a short time it will cause temporary limits from telegram servers. Basically when this happens you will not be able to send any message from this account for **5 minutes** to **1 hour** depending on the limit.
* You will get a notification from the bot when such a limit is encountered (You will also notice yourself since you will not be able to send any message when that happens). There's no way around this other than not using this command.
  {% endhint %}

### What is it used for?

* **Copy a old message** from **Channel/Group/Topic/User** to **Your Channel/Group/Topic**
* **Copy all history** **message** from **Channel/Group/Topic/User** to **Your Channel/Group/Topic/Topic**
* **Backup message** from **Channel/Group/User** to **Your Channel/Group/Topic**
* **Copy/ Backup** with **Feature Advance**&#x20;
  * [**Filters**](#filters-clone)&#x20;
  * [**Cleaner**](#cleaner-clone)&#x20;
  * [**Whitelist**](#blacklist-and-whitelist)
  * [**Blacklist**](#blacklist-and-whitelist)
  * [**Replace**](#replace-clone)&#x20;
  * [**Add Header and Footer to post Clone**](#add-header-and-footer-when-clone)
  * [**Show header forward**](#show-header-forward-when-clone)

## &#x20;❇️ How To Run Command Clone?

Here are a few example syntax on how to do this

Type **/getchanel** or **/getgroup** or **/getuser** on Auto Forward Telegram before using this command to get **SOURCE\_CHAT\_ID** and **TARGET\_CHAT\_ID**&#x20;

{% code title="➡️ Command Syntax" overflow="wrap" %}

```
/clone SOURCE_CHAT_ID -> TARGET_CHAT_ID limit:x delay:x start_id:x from_topic:x to_topic:x
```

{% endcode %}

**Param describe**

* **SOURCE\_CHAT\_ID**: Source chat ID will clone {**Required**}
* **TARGET\_CHAT\_ID**: Clone to Target chat ID {**Required**}
* **start\_id**: message ID start clone([How to Get](#how-to-get-message-id-start)) {**Optional**, **Default = 2**}
* **limit**: maximum number of messages to clone start from **start\_id** {**Optional**,**Default = 100**}
* **delay**: break time seconds after each clone message {**Optional**,**Default = 5**}
* **from\_topic**: enter source topic id if you want to clone from group have topics([How to Get](#how-to-get-topic-id)) {**Optional**, **Default = 0**}
* **to\_topic**: enter the target topic id if you want to copy to group topics([How to Get](#how-to-get-topic-id)) {**Optional**, **Default = 0**}

#### ❇️ **Example** ❇️

&#x20;I have a Channel Source have name is **Source Chat Demo** with **ID = 1656164752** and **Target** is channel have name is **Target Chat Demo** with **ID = 1716791967**

➡️ I want clone 100 message start from first message and each copy is spaced 5 seconds apart

{% code title="Syntax default config" overflow="wrap" %}

```
/clone 1656164752 -> 1716791967
```

{% endcode %}

➡️ I  want **clone** **10 message** **start from first message** and each copy is spaced **10 seconds** apart

{% code title="Use Syntax" overflow="wrap" %}

```
/clone 1656164752 -> 1716791967 limit:10 delay:10
```

{% endcode %}

➡️ I want **clone** **10 message** **start from** [**message\_id**](#how-to-get-message-id-start) **is 7512** and each copy is spaced **3 seconds** apart

{% code title="Use Syntax" overflow="wrap" %}

```
/clone 1656164752 -> 1716791967 limit:10 delay:3 start_id:7512
```

{% endcode %}

❇️  **Example For Group Topics to Channel**

I have a **Group Source** have support **Topics,** group name is **Topics Group Test** with **ID = 1894696594** and [**Topic\_ID**](#how-to-get-topic-id) **= 2 and Target** is channel have name **Target Chat Demo** with **ID = 1716791967**

➡️ I want **clone** **10 message** in [**Topic\_ID**](#how-to-get-topic-id) **= 2** and **start from** [**message\_id**](#how-to-get-message-id-start) **is 7** and each copy is spaced **3 seconds** apart

{% code title="Use Syntax" overflow="wrap" %}

```
/clone 1894696594 -> 28887387 limit:10 delay:3 start_id:7 from_topic:2
```

{% endcode %}

❇️ **Example For Group Topics to Group Topics**

&#x20;I have a **Group Source** have support **Topics,** group name is **Topics Group Test** with **ID = 1894696594** and [**Topic\_ID**](#how-to-get-topic-id) **= 2** and a **Group Target** have support **Topics,** group name is **Target** **Topics Group Test** with **ID = 1818893682** and [**Topic\_ID**](#how-to-get-topic-id) **= 2**&#x20;

➡️ I want **clone** **10 message** in **Topic\_ID =2** and **start from** [**message\_id**](#how-to-get-message-id-start) **is 7** and each copy is spaced **3 seconds** apart to **Group Target have** [**Topic\_ID**](#how-to-get-topic-id) **=4**

{% code title="Use Syntax" overflow="wrap" %}

```
/clone 1894696594 -> 1818893682 limit:10 delay:3 start_id:7 from_topic:2 to_topic:4
```

{% endcode %}

#### # How to Get message ID start?

1. From Source Clone scroll to message you want start copy
2. Click right click select **Copy Post Link** from **Message**
3. We will receive link same like \*\*"<https://t.me/c/1656164752/7553"**&#x20>;
4. Copy Message\_ID is last path, corresponding = **7553**

<figure><img src="/files/wxBRsCsXRgzct9M2KGiu" alt=""><figcaption></figcaption></figure>

#### # How to Get Topic ID?

{% hint style="warning" %}
**Topics are only supported when the source or target is a Group**
{% endhint %}

1. From Group Source Clone or Target
2. &#x20;Click right click select **Copy Post Link** from **Message**
3. We will receive link same like \*\*"<https://t.me/c/1656164752/2/7553"**&#x20>;
4. Copy **Topic\_ID** is path near the end, corresponding = **2**

<figure><img src="/files/ZG3QufLzXPFW4IBCytBD" alt=""><figcaption><p>How to get TopicID</p></figcaption></figure>

{% embed url="<https://youtu.be/YWl8wddARQ8>" %}
Clone Message
{% endembed %}

### Clone By ID messages

{% code title="Syntax Clone By ID message" overflow="wrap" %}

```
/clone SOURCE_CHAT_ID -> TARGET_CHAT_ID delay:x start_id:[x]
```

{% endcode %}

**start\_id**: is a list of message IDs separated by commas will clone ([How to Get](#how-to-get-message-id-start)) {**Optional**, **Default = 2**}.&#x20;

❇️ **Example** ❇️&#x20;

{% code overflow="wrap" %}

```
/clone 1656164752 -> 1716791967 delay:5 start_id:2,50,99,500
```

{% endcode %}

## ❇️ How To Setup Condition For Clone?

From BOT **Auto Forward Messages** type **/clone** or click Menu and **select /clone** to get **describe**

<figure><img src="/files/K2v6vy3NX8o3oktyJXMx" alt=""><figcaption><p>Select clone from menu bot</p></figcaption></figure>

<figure><img src="/files/Puf2sxhJLMGduBXgSQs5" alt=""><figcaption><p>Menu Clone</p></figcaption></figure>

### Filters Clone

This menu is used to filters messages by type when process clone.&#x20;

{% code title="Describe Status" %}

```
🚫  is status Deactivated - if you want keep when clone
✅  is status Activated - if you want to ignore
```

{% endcode %}

{% tabs %}
{% tab title="Option Explained" %}

* **Document:** check ✅ if you want to **ignore document messages**
* **Video:** check ✅ if you want to **ignore video messages**
* **Audio:** check ✅ if you want to **ignore audio messages**
* **Sticker:** check ✅ if you want to **ignore sticker messages**
* **Text:** check ✅ if you want to **ignore messages** that **contain text**
* **Forwards:** check ✅ if you want to **ignore "Forwarded from" messages**
* **Photos:** check ✅ if you want to **ignore photo messages**
* **Polls:** check ✅ if you want to **ignore poll messages**
* **Voice:** check ✅ if you want to **ignore voice messages**
* **Animation(GIFS):** check ✅ if you want to **ignore animation messages**
* **Video note:** check ✅ if you want to **ignore video note**
* **Reply:** check ✅ if you want to **ignore reply messages**
* **Link:** check ✅ if you want to **ignore link messages**
* **Buttons:** check ✅ if you want to **ignore button messages**
* **Photos without Text:** check ✅ if you want to **ignore post Photo without Text**
* **Without Username:** check ✅ if you want to **ignore post of Users Without Username on Telegram (ONLY FOR GROUP)**

<figure><img src="/files/Gd573kXLXvX0S0GnksC6" alt=""><figcaption><p>Menu Filters Clone</p></figcaption></figure>
{% endtab %}
{% endtabs %}

### Cleaner Clone

This menu is used to remove text, video, photo etc from messages when clone if the **conditions match.** It's basically **Filters** but instead of ignoring or allowing messages, **it removes the content it matches**

{% code title="Describe Status" overflow="wrap" %}

```
🚫  is status Deactivated - if you want keep when clone
✅  is status Activated - if you want removes the content it matches type
```

{% endcode %}

{% tabs %}
{% tab title="Option Explained" %}

* **Document:** check ✅ if you want to **remove document messages**
* **Videos:** check ✅ if you want to **remove video messages**
* **Audio:** check ✅ if you want to **remove audio messages**
* **Sticker:** check ✅ if you want to **remove sticker messages**
* **Text:** check ✅ if you want to **remove messages** that **contain text**
* **Photos:** check ✅ if you want to **remove photo messages**
* **Hashtag:** check ✅ if you want to **remove hashtag messages**
* **Mention:** check ✅ if you want to **remove mention messages**
* **Photos without Text:** check ✅ if you want to **remove messages only contain Photo**
* **URL:** check ✅ if you want to **remove link messages**
* **URL Preview:** check ✅ if you want to **remove preview url**

<figure><img src="/files/BRHxINYBlPbz1M3JXPPD" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### BlackList And Whitelist

**This is feature help clone and filter content by whitelist and blacklist**

{% hint style="info" %}
If you do not have a **whitelist**, you can create it by following these [instructions](/fundamentals/whitelist-create-and-management#create-new-whitelist)

If you do not have a **blacklist**, you can create it by following these [instructions](/fundamentals/blacklist-create-and-management#create-new-blacklist)
{% endhint %}

### ✅ Activate/Deactivate Whitelist/BlackList for a Clone

**1.**  Select **Whitelist or Blacklist** from **Menu Clone to show list Whitelist or BlackList**

<figure><img src="/files/T2S1x0oKy9UwAoWw4wgc" alt=""><figcaption><p>Select <strong>Whitelist or Blacklist</strong></p></figcaption></figure>

**2.**  Click to your **Whitelist** you want to **Activate or Deactivate** for Clone

{% code title="Describe Status" overflow="wrap" %}

```
🚫  is status Deactivated
✅  is status Activated
```

{% endcode %}

<figure><img src="/files/rlcWXvhIxxU2QMQffiLL" alt=""><figcaption><p><strong>Activate or Deactivate</strong> for Clone</p></figcaption></figure>

### Replace Clone

**This is feature help replace content before clone**&#x20;

{% hint style="info" %}
If you do not have a **replace**, you can create it by following these [instructions](/fundamentals/replace-create-and-management#create-new-replace)
{% endhint %}

**1.**  Select **Replace** from **Menu Clone to show list Replace**

<figure><img src="/files/ml2NwRG7pA4oB0lqgcwJ" alt=""><figcaption><p>Select <strong>Replace</strong> from <strong>Menu Clone</strong></p></figcaption></figure>

**2.**  Click to your **Replace** you want to **Activate or Deactivate** for Clone

{% code title="Describe Status" overflow="wrap" %}

```
🚫  is status Deactivated
✅  is status Activated
```

{% endcode %}

<figure><img src="/files/nUga5PCOoH8gM9qInOmQ" alt=""><figcaption><p><strong>Activate or Deactivate</strong> for Clone</p></figcaption></figure>

{% embed url="<https://youtu.be/3iDXBZG0DKs>" %}

## Add Header and Footer when Clone

{% hint style="info" %}
You can add a header or footer for each post when clone to channels target
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
To reach this first you will need to type **/clone** on **Auto Forward Telegram BOT.** Now click on  **Add Header or Add Footer** ➡️&#x20;

<figure><img src="/files/dqkL0i64mmC1S8st94hB" alt=""><figcaption></figcaption></figure>

&#x20; ➡️ **Enter text content you want show .**

#### Or it can be a display reference to some value as follows

📖 Use Short code to refer:

&#x20; ➡️  **Enter EMPTY if you don't want to show the header.**&#x20;

&#x20; ➡️ **\n** if you want break line.

&#x20; ➡️ **\t** if you want spaces.

&#x20; ➡️ **\[\[ORIGIN\_USERNAME]]** if you want to show the sender username

&#x20; ➡️ **\[\[ORIGIN\_USERID]]** if you want to show the sender userid

&#x20; ➡️ **\[\[ORIGIN\_TEXT]]** if you want to show original content.&#x20;

&#x20; ➡️ **\[\[ORIGIN\_NAME]]** if you want to show the sender name or name original channel.&#x20;

&#x20; ➡️ **\[\[ORIGIN\_POST\_ID]]** if you want show Post ID origin.&#x20;

&#x20; ➡️ **\[\[ORIGIN\_CHAT\_ID]]** if you want show CHAT ID origin.

&#x20; ➡️ **\[\[ORIGIN\_QUOTED\_TEXT]]** if you want to display the original post's QUOTED TEXT.

&#x20; ➡️ **\[\[ORIGIN\_NAME\_URL]]** if you want to show the original link.

&#x20; ➡️ **\[\[FROM\_USER]]** if you want to show the username of sender.

&#x20; ➡️ **\[\[SOURCE\_NAME]]** if you want to show forward source name.

&#x20; ➡️ **\[\[SENDER\_CHAT]]** if you want to show name display of sender.

&#x20; ➡️ **\[\[FORWARD\_FROM\_CHAT]]** if you want to show message owner name

&#x20; ➡️ **\[\[ORIGIN\_POST\_DATE]]** if you want to show post date created

&#x20; ➡️ **\[\[ORIGIN\_DESCRIPTION]]** if you want to show description of channel or group
{% endtab %}
{% endtabs %}

## Show header forward when clone

{% hint style="info" %}
**Show Header Forwarder :** check ✅ if you want all clone messages will be prefixed with "Forwarded from ...".&#x20;
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}

<figure><img src="/files/tMvg3JuFpJtoqyxgK3CN" alt=""><figcaption></figcaption></figure>

To reach this first you will need to type **/clone** on **Auto Forward Telegram BOT.** Now click on  **Show Header Forwarder** ➡️&#x20;
{% endtab %}
{% endtabs %}


# Profile Settings

{% hint style="info" %}
This menu is used to interact with the system. On this menu you can **Restart Bot, Logout, Change Language, Logout.**
{% endhint %}

{% tabs %}
{% tab title="Instructions" %}
To reach this first you will need to type **/profile** on **Auto Forward Telegram BOT**
{% endtab %}
{% endtabs %}

<figure><img src="/files/TRAZwYTUqZAP1Djib50M" alt=""><figcaption></figcaption></figure>

* **Click Settings:** Goto [Setting System](/fundamentals/system-settings)
* **Click Restart BOT:** The Restart BOT feature restarts the system and reloads your current configurations along with the latest updates of the BOT.
* **Language**: This feature allows you to change the language of the BOT's interface and communications
* **Reset Configuration (*****No Recommend*****):** This feature will reset all your configurations to their original default settings. Please consult with the admin before performing a reset.
* **Logout:** This feature logs you out of your account, and you will need to log in again from the beginning.

### **Restart BOT on Telegram**

To reach this first you will need to type **/profile** on **Auto Forward Telegram BOT**

1. **Click Restart BOT:** The Restart BOT feature restarts the system and reloads your current configurations along with the latest updates of the BOT.
2. **Wait at least 5-10 minutes to system Restart**

<figure><img src="/files/4DgFAV82Aq54k81F0Ljp" alt=""><figcaption></figcaption></figure>

### **Restart BOT on Mobile App**

The Restart BOT feature restarts the system and reloads your current configurations along with the latest updates of the BOT.

**Follow Steps:**

1. **At Home Menu select More**
2. **Next At Menu More click Restart Bot**
3. **Wait at least 5-10 minutes**&#x20;

<figure><img src="/files/DxVpkegY4iVgkavLPTa9" alt=""><figcaption></figcaption></figure>


# Reward Center

Reward Center allows you to earn free Reward Credits through daily activities, referrals, promotional campaigns, and other reward opportunities.

Collected Reward Credits can be used toward eligible purchases, subscriptions, addon activations, and future promotional programs within Auto Forward Telegram.

### How to Open Reward Center

You can access Reward Center directly from the Home screen.

<figure><img src="/files/3ojyD5C96gFS9DZhyyKn" alt=""><figcaption></figcaption></figure>

#### Steps

1. Open Auto Forward Telegram
2. Go to the Home page
3. Open the Menu
4. Tap Reward

The Reward Center dashboard will display:

* Current Reward Credit balance
* Daily check-in rewards
* Referral rewards
* Promotional reward activities
* Reward history
* Redeem code section

### Reward Credits

<figure><img src="/files/XqaFC9xVGucf3zLK2XYe" alt=""><figcaption></figcaption></figure>

Reward Credits are bonus credits earned through participation in reward programs.

Your current balance is displayed at the top of the Reward Center.

Credits may be earned from:

* Daily check-ins
* Referral commissions
* Promotional campaigns
* Reward codes
* Special events
* Future reward activities

### Daily Check-In

Earn free Reward Credits every day simply by checking in.

#### How It Works

Visit Reward Center each day and claim your daily reward.

Consecutive check-ins unlock larger rewards.

Example reward schedule:

| Day   | Reward        |
| ----- | ------------- |
| Day 1 | +0.03 Credits |
| Day 2 | +0.04 Credits |
| Day 3 | +0.05 Credits |
| Day 4 | +0.06 Credits |
| Day 5 | +0.08 Credits |
| Day 6 | +0.10 Credits |
| Day 7 | +0.15 Credits |

After completing a reward cycle, a new cycle may begin based on the current promotion rules.

#### Daily Check-In Benefits

* Free credits every day
* Higher rewards for consistent participation
* No purchases required

### Redeem a Code

Reward codes can be redeemed for instant Reward Credits.

#### How to Redeem

1. Open Reward Center
2. Locate the Redeem a Code section
3. Enter your reward code
4. Tap Redeem

If the code is valid, credits will be added immediately to your account balance.

Reward codes may be distributed through:

* Promotions
* Events
* Partnerships
* Giveaways
* Community campaigns

### Refer Friends

Earn Reward Credits by inviting new customers to Auto Forward Telegram.

#### How It Works

1. Share your referral link
2. Your friend purchases a subscription
3. You receive referral rewards

#### Referral Reward Rates

| Subscription Type | Reward |
| ----------------- | ------ |
| 1 Month Plan      | 50%    |
| 2+ Month Plans    | 30%    |
| Renewal Orders    | 5%     |

#### Additional Information

* Maximum reward per purchase: 20 Credits
* Withdrawals available from 50 Credits
* Referral rewards are credited after successful qualifying purchases

Referral percentages and conditions may change during future promotions.

### Watch Ads

Earn additional Reward Credits by watching sponsored advertisements.

#### How It Works

1. Open Reward Center
2. Navigate to Watch Ads
3. Tap Watch
4. Complete the advertisement

Credits are automatically added after successful completion.

#### Limits

Current limits may include:

* Up to 3 ads per day
* Fixed reward amount per completed ad

Daily limits may vary during promotional periods.

### Reward History

View a complete record of your reward activity.

History may include:

* Daily check-ins
* Referral commissions
* Redeem code rewards
* Advertisement rewards
* Promotional bonuses
* Reward deductions

This allows you to track how credits were earned and used.

### Reward Lounge

Reward Lounge contains special reward opportunities and promotional activities.

Available content may change over time and can include:

* Limited-time campaigns
* Seasonal promotions
* Community events
* Bonus reward challenges
* Partner offers

Check regularly for new earning opportunities.

### Frequently Asked Questions

#### Do Reward Credits expire?

Expiration policies may vary depending on the reward source and promotional campaign.

Please refer to the specific promotion details when applicable.

#### Can I transfer Reward Credits to another user?

Reward Credits are generally tied to the account that earned them and cannot be transferred unless explicitly stated otherwise.

#### Can I withdraw Reward Credits?

Certain reward programs may support withdrawals once minimum requirements are met.

Current referral rewards support withdrawal starting from 50 Credits.

#### Why can’t I claim today’s reward?

Possible reasons include:

* Today’s reward has already been claimed
* Daily reset has not occurred yet
* Temporary network issue

Please try again later if necessary.

### Benefits

* Earn free credits every day
* Receive referral commissions
* Participate in special promotions
* Redeem reward codes
* Track reward history
* Reduce subscription and addon costs
* Unlock future reward opportunities

### Summary

Reward Center is the central hub for earning and managing Reward Credits inside Auto Forward Telegram.

Whether through daily check-ins, referrals, advertisements, or promotional campaigns, Reward Center provides multiple ways to earn additional value while using the platform.

Short Description

Earn free Reward Credits through daily check-ins, referrals, reward codes, advertisements, and special promotions. Track your balance, claim rewards, and unlock additional value within Auto Forward Telegram.


# Make Money

Join Our Lucrative Affiliate Program

{% tabs %}
{% tab title="Command" %}
{% code title="Typing Command" %}

```
/make_money
```

{% endcode %}

🌟 Copy your Affiliate Link and invite friends to earn money

{% endtab %}
{% endtabs %}

## 💫 Join Our Lucrative Affiliate Program 💫

🌟 **Make Money by Referring Friends to Auto Forward Messages!**&#xD83C;�

Welcome to our exciting affiliate program, where you have the fantastic opportunity to earn money by inviting your friends to become part of the Auto Forward Messages community. The process is simple and rewarding! When your referred users upgrade to a paid plan, you'll earn a percentage based on their spending.

🌟 Introducing Valuable Credits: Earn valuable credits for every successful referral you make!&#x20;

🎁 Accumulate these credits and exchange them for any of our premium paid plans.&#x20;

💰 Once you've collected 50 Credits, you can withdraw your earnings through PayPal or crypto every two weeks.

🌟 How to Earn Credits: It's as easy as 1-2-3!&#x20;

1️⃣ When an Invited User purchases a monthly plan through your Affiliate Link, you'll receive 50% of the amount they pay as credits (upto 20 credits per purchase).&#x20;

2️⃣ If the Invited User purchases from two-month plan using your Affiliate Link, you'll receive 30% of the amount they pay as credits (up to 20 credits per purchase).&#x20;

3️⃣ And guess what? You'll keep receiving 5% of these credits endlessly, as long as the invitee keeps renewing their plan.

🌟 Conditions to Receive Credits: To qualify for the credits, please ensure the following:&#x20;

1️⃣ The users you invite must be new to [@Auto\_Forward\_Messages\_Bot](https://t.me/Auto_Forward_Messages_Bot).&#x20;

2️⃣ The phone number used by the invited users must not have been previously registered with [@Auto\_Forward\_Messages\_Bot](https://t.me/Auto_Forward_Messages_Bot).

💡 Unlock Your Earning Potential: The more friends you invite, the higher your earnings potential becomes! Share your Affiliate Link with your network, on social media, and even on your website or blog. The possibilities are limitless.

💼 Join Now and Start Earning: Ready to embark on your journey to financial success? Join our affiliate program today and watch your earnings soar! 🚀🎉 Remember, your success is our success, and we are thrilled to have you as part of our affiliate family. Happy earning! 🌟💰

<figure><img src="/files/Mc7R8wx9U8WRyjrFcp8B" alt=""><figcaption></figcaption></figure>


# Auto Forward Messages has a free version ?

{% hint style="warning" %}
Once your Auto Forward Telegram period expires, the free package will become available as an option for you to choose.
{% endhint %}

<figure><img src="/files/qh3OzsFygyLzskjqUVsA" alt=""><figcaption><p>Example about show option Free Plan</p></figcaption></figure>

With [@Auto\_Forward\_Messages\_Bot](https://t.me/Auto_Forward_Messages_Bot) you can use it for **free** or **pay** if you want.

Here are the features available in the **Free Package**:

✅ Sponsored Ads

✅ Limit create 3 Forward Tasks

{% code overflow="wrap" %}

```
One forward Tasks means that you create an auto forward from Channels/Grousp/Users to Your Channels/Groups/Users
```

{% endcode %}

✅ Each Forward Task limit 3 IDs include 1 **SOURCE\_CHAT\_ID** and 2 **TARGET\_CHAT\_ID**

<pre data-overflow="wrap"><code>Limit IDs mean is when create a task forward only can enter limit 3 Channels/Groups/Users ID will auto forward
Example:
/forward add work1 ID1 -> ID4,ID5
<a data-footnote-ref href="#user-content-fn-1">ID is is taken from Channels/Groups/Users</a>
</code></pre>

✅ Unlimited messages sent in forwarding missions

✅ ON/OFF Show Forward Header

✅ Free until death

🟡 Use low configuration server

🟡 Often overloaded and lost connection

🚫 Can't forward to Bots

🚫 Can't edit, delete, reply message same source chat

🚫 Can't use premium feature

❇️ **Recommendation: For best performance and uninterrupted work use premium plans**

If you want more advanced features, use the **/upgrade** command to view package details.

If you have any questions, let me know.

[^1]: <https://docs-v2.autoforwardtelegram.com/guides/get-information-channels-groups-your-account>


# Upgrade Plans Package

<figure><img src="/files/hdJWWlIMh8eZDQEoiq4B" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
There's also a free version of Auto Forward Messages. [Click to find out](/auto-forward-messages-has-a-free-version)
{% endhint %}

{% hint style="success" %}
There are two payment methods: [from bot](#1.-buy-and-upgrade-package-from-bot) or [mobile application](#2.-buy-and-upgrade-package-from-mobile-app) below
{% endhint %}

## 1. Buy and upgrade package from BOT

{% tabs %}
{% tab title="Command" %}
From Bot Typing Command\
`/upgrade`
{% endtab %}
{% endtabs %}

<figure><img src="/files/f9bJh1pbDMf4leNNQpSo" alt=""><figcaption></figcaption></figure>

#### 1. Select the package you want to upgrade like Gold, Diamond or Platinum

<figure><img src="/files/XFYPGXzsmpM7O9A9fKeP" alt=""><figcaption></figcaption></figure>

#### 2. Next choose your upgrade period and payment method

#### 2. Payment and confirmation to admin

## 2. Buy and upgrade package from Mobile App

1. Download application AutoForward for Telegram at [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward) or [AppStore](https://bit.ly/autoforward-for-telegram-ios)
2. Open app and **Sign In Account**

![](/files/JShvEIqcEfCpSNNT5qGj)![](/files/VAGD3j2CUFRqFanHUqSa)

3. To get info login please to bot autoforward on telegram and select **Show info account** or typing **/profile** then copy **User ID and Token login**

![](/files/8G4GvCfInOIzHYmloJSn)![](/files/2M814AJv36DNQgLwi2xh)

4. After copy info account comeback to app and fill info and click Sign In.

![](/files/I99wIOHQc57K5seYPibr)![](/files/EF2hAUPvgYJHKuw2koTE)

5. At Home Autoforward click to **Join Premium** then select package want join

![](/files/l65zYEqOHBZhs5tEprKJ)![](/files/bY7UPgKQTCRLgCglz3CW)

6. **Click to Subscribe to pay and please wait few seconds to completed.**

![](/files/98sEt8ttzP6zMXn7PXRn)![](/files/g8kLjrXkTyYTf2F255Z1)

7. Final. Send screenshot or copy payment info send to admin [redf0x1](https://t.me/redf0x1) . thankyou


# Upgrade Plan via Android/IOS App

<figure><img src="/files/P8vlzEQeamHPNUbbSIjj" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}

### **Download Mobile App or use Web**

✅ **iOS** → [App Store](https://apps.apple.com/us/app/autoforward-for-telegram/id6447486093)\
✅ **Android** → [Google Play](https://play.google.com/store/apps/details?id=com.autoforward.telegramforward)\
✅ **Web** → [web.autoforwardtelegram.com](https://web.autoforwardtelegram.com/)
{% endhint %}

To get info login please to [bot autoforward on telegram](https://t.me/Auto_Forward_Messages_Bot) and select Settings or typing **/settings** then copy **UserID and Token login**

<figure><img src="/files/JdibbqI4hF9GHsL8h8kA" alt=""><figcaption></figcaption></figure>

3. &#x20;After copy info account and back to app select Login with Account and fill info and click **Login Now**.

<figure><img src="/files/qH3DVLbBC5KiFDdG1Mm5" alt="" width="374"><figcaption></figcaption></figure>

<figure><img src="/files/GJ7gzFCNjwttry3Z8BFc" alt="" width="368"><figcaption></figcaption></figure>

4. At Home Autoforward click to **item Upgrade** then select package want join.

![](/files/v3KNXrEQtya86pgCH93T)![](/files/FIK0BQ5qdNRBIFsyFMmb)

5. **Click to Subscribe to pay and please wait few seconds to completed.**

![](/files/98sEt8ttzP6zMXn7PXRn)![](/files/g8kLjrXkTyYTf2F255Z1)

6. **Final. if have issue please send screenshot or copy payment info send to** [**Supporter**](https://t.me/BotRedFoxBot)[ ](https://t.me/BotRedFoxBot) **. Thankyou**


# How To Upgrade Current Package?

### Introduction

The AutoForward bot on Telegram offers various service packages with different features. This guide explains how to upgrade your package using two methods: direct payment and mobile app payment.

### Prerequisites

Before upgrading your package, make sure you have:

* An active Telegram account
* The AutoForward bot installed and configured on your Telegram account

### Option 1: Direct Payment

#### Step 1: Access the AutoForward Bot

1. Open your Telegram app.
2. Start a conversation with the [Auto Forward Messages](https://t.me/Auto_Forward_Messages_Bot).

#### Step 2: Check Current Package Details

<figure><img src="/files/FCrF5otNGnJ7dBFSlQNn" alt=""><figcaption><p>Subscription Plans Available</p></figcaption></figure>

1. In the bot chat, type `/upgrade` to retrieve information about available upgrade packages.
2. The bot will provide details of the available upgrade options, including features and pricing.

#### Step 3: Make a Direct Payment

1. Select the upgrade package you desire.
2. Follow the bot's instructions to make a direct payment to the specified payment method.
3. **Send the difference payment amount to complete the upgrade.** *<mark style="color:orange;">For example: The current package is Gold 4.99$ and you want to upgrade to Diamond for 7.99$. Please deposit an additional 3$ for the upgrade</mark>*

#### Step 4: Confirmation

1. Send confirm the payment and update your package to [Admin](https://t.me/redf0x1)
2. **The number of days remaining from your previous package will be preserved in the upgraded package.**

### Option 2: Mobile App Payment

✅ [**IOS VERSION**](https://bit.ly/autoforward-for-telegram-ios)      ✅ [**ANDROID VERSION**](https://bit.ly/autoforward-for-telegram-android)

<div align="left"><figure><img src="/files/S8JzzC2iqpIwPwsj6z9P" alt="" width="375"><figcaption></figcaption></figure></div>

**Step 1: Access Your Mobile App**

1. Open your preferred mobile payment app.

#### Step 2: Upgrade Package

1. In the app's menu home, select the "**Upgrade**" option.
2. Choose the new package you wish to upgrade to.

#### Step 3: Instant Upgrade

1. Upon selecting the package, the new features will be upgraded immediately.
2. The cost of the new package will be charged, and the remaining value of your previous package will be adjusted accordingly and additional days added to the new package.

   *<mark style="color:orange;">For example: The current package is</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**Gold**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">4.99$ and you want to upgrade to Diamond for 7.99$.</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**Gold**</mark>* <mark style="color:orange;">subscription ends immediately.</mark> <mark style="color:orange;"></mark>*<mark style="color:orange;">**Diamond**</mark>* <mark style="color:orange;"></mark><mark style="color:orange;">subscription begins today and he is charged $7.99. Because you paid for a full month for</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**Gold**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">but used only half of it, half of a month's subscription ($2.49) will be adjusted accordingly and additional days added to the new package.</mark>

### Conclusion

You have successfully learned how to upgrade your AutoForward bot package on Telegram using both direct payment and mobile app payment methods. Enjoy the enhanced features and capabilities of your upgraded package.

Please note that the availability of specific packages and payment methods may vary. Be sure to follow the instructions provided by the AutoForward bot and your chosen mobile payment app for a smooth package upgrade process.


# How to remove all your personal data?

From Telegram open or search [@Auto\_Forward\_Messages\_Bot](https://t.me/Auto_Forward_Messages_Bot) on telegram and select **Show info account** or typing **/profile** then click to **Logout .** All your personal data has been deleted from our server following your request to disconnect from the bot. Thank you

<figure><img src="/files/ENfGSpyHsHgPRdBMOyPj" alt=""><figcaption></figcaption></figure>


# How to download App For Mobile

Introducing the AutoForward for Telegram app, designed to enhance your Telegram experience. We recommend upgrading to this feature-rich app, available on both Google Play and the App Store.

<figure><img src="/files/FiTBvWXxKg4rijeSJhCw" alt=""><figcaption></figcaption></figure>

🟢 **For Android** : [Click To Download On Google Play](https://bit.ly/autoforward-for-telegram-android)

🟢 **For IOS**: [Click To Download On Apple Store](https://bit.ly/autoforward-for-telegram-ios)


# How to get UserID and Token for Login App Mobile

{% hint style="success" %}
Download App For Mobile

🟢 **For Android** : [Click To Download On Google Play](https://bit.ly/autoforward-for-telegram-android)

🟢 **For IOS**: [Click To Download On Apple Store](https://bit.ly/autoforward-for-telegram-ios)
{% endhint %}

To get info login please open or search [@Auto\_Forward\_Messages\_Bot](https://t.me/Auto_Forward_Messages_Bot) on telegram and select **Show info account** or typing **/settings** then copy **User ID and Token login**

<figure><img src="/files/ggNxnUPVFxNeIDSC648q" alt=""><figcaption></figcaption></figure>

4. After copy info account comeback to app and fill info and click Login Now.


# How to logout account and login new account on app?

### **To can logout and login new account on app**

1. First open app. Click to **Tab Profile**

   ![](/files/Y3x1M4TX6QiAe6BskNKz)
2. Scroll to bottom then click **Logout** it will back to SignIn

   ![](/files/8MvS7Zb6GriYV1oyJzoX)![](/files/c1Iw6k6hHfkwRQul9C9f)

### **Example**

![](/files/briBBVeNEIjO5qkcgQnV)


# \[Mobile App] Replace: Create And Management

## Open Replace Screen&#x20;

* &#x20;Login Account and open to Home AutoForward

<figure><img src="/files/koV8XfUXdvPpx0QQSric" alt=""><figcaption><p>Home Menu</p></figcaption></figure>

* At **Home Menu** select item **Replace** to open **Replace Screen**

## Create New Replace&#x20;

**Step1.** At **Replace Screen** click icon add on top right to create new Replace

<figure><img src="/files/JEkGgHwmTGVjBA54Vrg8" alt=""><figcaption></figcaption></figure>

**Step2.** At **Replace Create** enter the parameters to create&#x20;

{% hint style="warning" %}
(\*) : Required fill

Optional: can skip
{% endhint %}

<figure><img src="/files/FTC3O0A0tNWeR02ow2nE" alt=""><figcaption></figcaption></figure>

* **Label(\*)**: is the nickname you want to define for your Replace. if use regex please select Basic -> Regex
* **Full Content Original(Optional)**: Is your content before replacing. You may skip it.
* **Original Words(\*)**: is the word or phrase you want to replace. If using regex, enter the syntax here
* **New Words Replace(\*)**: is the word or phrase you will to replace.
* **Apply For Task(Optional)**: If you have created a task before, you can choose to apply it now or skip it and do it later
* <mark style="color:green;">**Once you have filled in the information, click Create Replace to complete**</mark>

#### &#x20;\* **Label** Option

* **Basic** : Use content is text basic
* **Regex**: Use content is regex
* **Remove Line**: This feature is used to remove lines from the message. You will use keywords to check message lines and if a keyword or one of the keywords (if multiple) is found on the line, AutoForward will remove that line from the final result.

## Management and apply for Task

**Step 1.** Open **Replaces Screen**

<figure><img src="/files/d1Iweo14c7zUFnEfr9ho" alt=""><figcaption></figcaption></figure>

**Step 2.** At **Replace Screen** click **item Replace you want apply. A popup will show**

<div align="left"><figure><img src="/files/2ylrRUxyKfmnbs5TuHVY" alt="" width="375"><figcaption></figcaption></figure></div>

**Step 3. Click Activate/Deactivate For Task to show list Task will apply or deactivate**

<figure><img src="/files/fNHQ3a0s45dlFRqZs6rv" alt=""><figcaption></figcaption></figure>

**Final  click Task you want apply or deactivate to Done**


# To Use Replace/Whitelist/Blacklist With Text Formatting Special

The bot is designed to analyze the display of content containing links, bold text, and italic text and convert it to raw content. this is tools support for feature replace

### 1. Why Use This Bot?

<mark style="color:red;">Special text formatting can interfere with the functionality of replace, whitelist, and blacklist features. This is because these features rely on plain text matching, and formatting such as bold, italics, links, or emojis may cause mismatches or prevent these features from working as expected. Converting the formatted content into raw text using the bot can help overcome this limitation.</mark>

The [**FindMyIDs**](https://t.me/FindMyIDs_Bot) bot is designed to help users read and extract information from special text formatting in Telegram, including:

* **Bold**
* *Italic*
* `Monospace`
* ~~Strikethrough~~
* [Hyperlinks](https://example.com)
* 🎉 VIP Emojis
* 🅰️ Text Styles

Additionally, the bot supports **converting** these formats into raw content for easy processing and provides tools to utilize features like replace, whitelist, and blacklist efficiently.

### 2. Purpose of Use

The bot helps you:

* View special text formatting in messages.
* Analyze and store information from these formats.
* **Convert text formatting into raw content** for further use or processing.
* Utilize features such as replace, whitelist, and blacklist effectively in Telegram groups and channels.
* Manage content in Telegram groups and channels more efficiently.

### 3. Usage Steps

#### Step 1: Connect to the Bot

1. Search for the @**FindMyIDs\_Bot** on Telegram or access it via this [link](https://t.me/FindMyIDs_Bot).
2. Click **Start** to begin using the bot.

**Step 2: Forward a Message or Post**

<figure><img src="/files/3clS43DpEwscmjij7yMI" alt=""><figcaption></figcaption></figure>

* Forward a post or message containing special text formatting directly to the bot.
* Once forwarded, select the **Get HTML** option to receive a detailed output with formatting converted into HTML or raw content.

<figure><img src="/files/oUP1xGtvyF9Hds1SHhB8" alt=""><figcaption></figcaption></figure>

**Step 3: Receive Results**

The bot will return:

* A list of detected formats.
* Specific content from each format.
* **Raw content** of the message, without formatting.
* <mark style="color:green;">**Use Raw content for replace, whitelist,  blacklist**</mark>

### 4. Example

For example, you want to change the url of **Contract Link** to another link.

* **Post Original:**

  [`Contract Link` ](https://0xppl.com/0xb8fe58030ea0c97982aad054a687ba32de82a405)

  `Name : Biosphere3`&#x20;

  `Symbol : BIOS Dev Purchase`&#x20;

  Amount : 4600.0 VIRTUALS (42.61%)&#x20;

You can forward the post you just shared to **FindMyIDs Bot** to get its raw content output, which will include details like links, text formatting, and emojis stripped into plain text or parsed HTML

* **Result Raw Content**&#x20;

  \<a href="[https://0xppl.com/0xb8fe58030ea0c97982aad054a687ba32de82a405">Contract](https://0xppl.com/0xb8fe58030ea0c97982aad054a687ba32de82a405">Contract) Link\</a>

  Name : \<code>Biosphere3\</code>

  Symbol : \<code>BIOS\</code>

  Dev Purchase Amount : \<b>4600.0 VIRTUALS (42.61%)\</b>

  \<a href="[https://0xppl.com/">Deployer](https://0xppl.com/">Deployer) Link\</a>

**Copy raw content new emoji and open web** [**https://web.autoforwardtelegram.com/**](https://web.autoforwardtelegram.com/) **create a replace**

<figure><img src="/files/83bbx7MdxDUMMk8QtYsU" alt=""><figcaption></figcaption></figure>

**Example about change Emoji Premium**

<figure><img src="/files/PPs4QEZfAAXnJ0QdMXrN" alt=""><figcaption></figcaption></figure>

<mark style="color:green;">**After obtaining the raw content, use it for replace, whitelist, and blacklist operations**</mark>

**Raw Content Emoji Premium in this case:**

```
<emoji id="5463424023734014980">🛫</emoji>
```

**Now you want change it to emoji premium other. At BOT write new content with new emoji then enter. Next reply new post and typing /html it will get new raw content as below**

<figure><img src="/files/n8otcjT3wL7luDL2II3F" alt=""><figcaption></figcaption></figure>

**Copy raw content new emoji and open web** [**https://web.autoforwardtelegram.com/**](https://web.autoforwardtelegram.com/) **create a replace**

<figure><img src="/files/TknPMVJLrRVkVywaCpoR" alt=""><figcaption></figcaption></figure>


# FAQ


# 📭 Bot Not Forwarding Messages – How to Troubleshoot

**📭 Bot Not Forwarding Messages – How to Troubleshoot**

If you notice that the bot isn’t forwarding messages as expected, don’t worry — this guide will walk you through the common causes and how to resolve them quickly.

***

### 🛠️ Step 1: Review All Active Filters and Rules

Before assuming there’s a bug, it’s important to check if the issue is caused by any filtering or automation features you’ve enabled.

Please carefully review the following:

**✅ Blacklist**

Blocks messages containing specific keywords, usernames, or content types.

➡️ Check if the message being blocked contains any blacklisted items.

**✅ Whitelist**

Allows the bot to forward only messages that match certain criteria.

➡️ Make sure the source of your message is on the allowed list.

**✅ Filters**

Filters can restrict message types such as:

• Only text

• Only media (photos/videos)

• Only forwarded messages

➡️ Ensure the filter settings are not too restrictive.

**✅ Cleaner**

Automatically deletes certain messages after they’re received.

➡️ This could remove messages before they are forwarded.

**✅ Rules (Custom Conditions)**

You may have defined rules that unknowingly exclude certain message types or sources.

➡️ Disable all rules temporarily to test if they are the cause.

**✅ Other Active Tasks**

Check whether other forwarding tasks are working properly.

➡️ If all tasks are failing, the issue may be global (e.g. network, bot permissions, or system-wide settings).

**✅ Source Group or Channel Type**

If your source chat is a large group or big channel, it may behave differently due to Telegram or Discord limitations.

➡️ In such cases, **try enabling Debug Mode in the app or web version** to see detailed logs and message handling behavior.

> ⚠️ Pro Tip: If you’re not sure which filter is causing the issue, try disabling all filters and rules. Then test if the bot works normally again.

***

## **Verify Source,Target ID is correct**

1. Search for the @**FindMyIDs\_Bot** on Telegram or access it via this [link](https://t.me/FindMyIDs_Bot).
2. Click **Start** to begin using the bot.

**Step 2: Forward a Message or Post**

![](https://docs-v2.autoforwardtelegram.com/~gitbook/image?url=https%3A%2F%2F3402573870-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FddnL4cgrrb4y0Pnwxc5r%252Fuploads%252FqEDSRwnyLZEBL701ounV%252Fimage.png%3Falt%3Dmedia%26token%3D9500163e-5b28-448a-b650-09d06142b586\&width=768\&dpr=3\&quality=100\&sign=e8293136\&sv=2)

* Forward a post or message containing special text formatting directly to the bot.

### 🧪 Step 2: Simulate the Problem in a New Test Setup

If the issue persists even with all filters and rules disabled, please help us investigate further by creating a new, clean test environment.

#### 🔧 What You Need to Do:

#### 1. Create a New Source Channel

• You can make it private and empty — just for testing.

#### 2. Create a New Target Channel

• Set it to public or private — either is fine.

#### **3. Setup a new Task Forward**

Create a simple forwarding task from Telegram Channel Source to the Telegram Channel Target.

{% content-ref url="/pages/DUx5bVirKOAt75QwTXvw" %}
[How To Create Task Auto Forward ?](/guides/how-to-create-task-auto-forward)
{% endcontent-ref %}

{% embed url="<https://www.youtube.com/watch?v=DSCp3rvKXuE>" %}

***

#### 📤 Step 3: Share the Following Info with [Admin](https://t.me/redf0x1)

Once you’ve set up the test environment, please send the following:

**• 👤 Your AutoForward UserID**

**• 🔗 Invitation link to the Telegram channel source and target**

**• 🔗 GRANT ACCESS AS ADMIN TO SUPPORT FIX BUG**

You can send this information directly to the [admin](https://t.me/redf0x1) via our support contact.

***

### 🧑‍💻 Step 4: Admin Will Help Troubleshoot

Once we receive your test setup and links, our team will:

• Verify bot connectivity

• Reproduce the issue

• Help identify the root cause

• Guide you through the fix (or apply it directly)

***

❓ Need Help?

If you need assistance during setup or have questions, don’t hesitate to contact our support team. We’re here to make sure your bot runs smoothly!


# Why Do Some Users Get Logged Out When Connecting to the Telegram Bot?

We have received some feedback that when connecting to our bot, a few users get logged out of their previous Telegram sessions. However, this is not an issue on our end but rather a security mechanism implemented by Telegram to protect user accounts.

#### **Reasons**

Telegram has strict security measures and limits the number of concurrent login sessions. When the bot connects to your account through Telegram's official API, the system may recognize this as a new session and log out older sessions to ensure security.

#### **Security Commitment**

We prioritize security and data encryption to ensure your information remains protected. If you have any concerns, please feel free to contact us for assistance.

Thank you for trusting and using our services!


# Why is my bot experiencing delays when forwarding messages?

First of all, we sincerely apologize for the inconvenience you have experienced. We understand that delays in using the service can be frustrating and affect your overall experience.

**The delay when forwarding messages can be caused by a few factors:**

📊 **Large Amount of Data from Telegram Groups:** When there is a significant amount of data to be processed, especially from large groups or channels, the system may need additional time, resulting in random delays.

⚙️ **Too Many Tasks or Features Being Used Simultaneously:** If you are creating multiple tasks at the same time, using features like replace, blacklist, or whitelist, it may increase the workload for the bot, leading to potential delays.

👥 **Participating in Too Many Channels, Groups, or Chats:** If your bot is involved in too many chats, channels, or groups, particularly those with a large number of members, this can also increase processing time and result in message delays.

***

### **🛠️ How to Reduce Delays?**

To help reduce the chance of delays, consider the following:

📉 **Limit the Number of Tasks:** Reduce the number of simultaneous tasks, especially those involving replace, blacklist, or whitelist features, to decrease the bot's workload.

🗑️ **Delete unnecessary tasks, replace, blacklist, whitelist:** Remove any unnecessary tasks, replace operations, or blacklist/whitelist entries. This will help reduce the processing burden on the bot and minimize delays.

💬 **Minimize Channel/Group Involvement:** Try to reduce the number of channels, groups, or chats that the bot is participating in, particularly those with a high number of members.

🗑️ **Delete Unnecessary Channels/Groups/Chats**: Remove channels, groups, or chats that are not necessary. This helps to reduce the overall data load and makes the bot more efficient.

**We are constantly working on optimizing our system to minimize these delays and provide a more seamless experience for you.**

Sincerely

**AutoForward Team**&#x20;




---

[Next Page](/llms-full.txt/1)

