# 2. Создаем бота

Создаем бота и называем его "**Клуб без рекуррентных платежей**"

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

Создавать бота мы будем в **2 этапа**:

1. Этап выдачи доступов после оплаты
2. Настройка повторной оплаты и исключение, если оплаты нет.

### 1. Отправка товара и выдача доступов после оплата

Нажимаем на блок "**Сообщение**" и выбираем элемент "**Товар**"

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

Далее выбираем **нужный нам товар,** пишем в текст кнопки **"Оплатить"** и нажимаем кнопку **"Сохранить"**

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

Далее, создаем блок "**Действие**" и выбираем "**Отправить через вебхук**"

Ниже копируем настройки для вебхука

**URL-адрес обработчика**

```
https://api.telegram.org/bot({channel.token})/createChatInviteLink
```

Затем, нажимаем "**+Добавить параметр**" и копируем ниже из таблицы данные.

**Параметры:**

<table><thead><tr><th width="430.50971999286605">Параметр</th><th>Значение</th></tr></thead><tbody><tr><td>chat_id</td><td>Айди канала</td></tr><tr><td>member_limit</td><td>1</td></tr></tbody></table>

Затем сохраняем результат в любую переменную. Рекомендую создать переменную **`return`**, чтобы дальше по инструкции только копировать настройки.

{% hint style="danger" %}
Вам нужно заменить только текст "**Айди канала**". \
\
**Больше ничего менять не нужно!**\
\
Чтобы узнать **ID группы** или **ID канала**, воспользуйтесь подсказкой ниже.
{% endhint %}

{% embed url="<https://docs.leadconverter.su/faq/populyarnye-voprosy/kak-uznat-id-telegram-kanala>" %}

{% embed url="<https://docs.leadconverter.su/faq/populyarnye-voprosy/kak-uznat-id-telegram-gruppy-chata>" %}

Что у нас получилось

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

Сохраняем настройки.

#### Далее, нам нужно добавить вашего бота в Telegram-канал с правами "**Администратора**".

{% hint style="info" %}
Нужно добавлять не бота LeadConverter, а **вашего бота**, который отправляет товар пользователю, потому что именно он будет выдавать ссылку после оплаты
{% endhint %}

### 1.1 Проверяем есть ли бан у пользователя на канале. Если есть, снимаем бан.

Далее, создаем блок "**Действие**" и выбираем "**Отправить через вебхук**"

Ниже копируем настройки для вебхука

**URL-адрес обработчика**

```
https://api.telegram.org/bot({channel.token})/unbanChatMember
```

Затем, нажимаем "**+Добавить параметр**" и копируем ниже из таблицы данные.

**Параметры:**

<table><thead><tr><th width="430.50971999286605">Параметр</th><th>Значение</th></tr></thead><tbody><tr><td>chat_id</td><td>Айди канала</td></tr><tr><td>user_id</td><td>{{user_id}}</td></tr><tr><td>only_if_banned</td><td>(bool)true</td></tr></tbody></table>

**Сохранить результат в:** ОСТАВЛЯЕМ ПУСТЫМ.

{% hint style="danger" %}
Вам нужно заменить только текст "**Айди канала**". \
\
**Больше ничего менять не нужно!**\
\
Чтобы узнать **ID группы** или **ID канала**, воспользуйтесь подсказкой ниже.
{% endhint %}

{% embed url="<https://docs.leadconverter.su/faq/populyarnye-voprosy/kak-uznat-id-telegram-kanala>" %}

{% embed url="<https://docs.leadconverter.su/faq/populyarnye-voprosy/kak-uznat-id-telegram-gruppy-chata>" %}

Что у нас получилось

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

### 1.2 Отправляем ссылку на вход на канал после оплаты.

Возвращаемся к нашему боту и создаем блок "Сообщение" и пишем текст:

<details>

<summary>Оплата успешно принята! Ваша ссылка на канал<img src="https://cdn.jsdelivr.net/emojione/assets/3.1/png/32/1f447.png" alt="👇"><br>‌Канал: ({return.result.invite_link}) ‌<br>Добро пожаловать :)</summary>

</details>

**Сохраняем** и соединяем все блоки

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

Далее, нам нужно **протестировать эту связку.**

Выбираем удобный способ запуска бота и проходим всю цепочку оплаты.

{% embed url="<https://docs.leadconverter.su/kak-zapustit-bota>" %}

**Оплата прошла успешно** и выдан **доступ на канал**, а значит, можно приступать ко **второму этапу настройки**

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

### 2. Настройка повторной оплаты и исключение из канала/чата в случае неуплаты

Добавляем блок "**Задержка**", выбираем пункт "**Через указанное время**", в графе "**Дней**" указываем 28 дней и нажимаем кнопку "**Сохранить**"

Так мы через **28 дней**, за 2 дня **до окончания подписки**, отправим сообщение с товаром.

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

Далее соединяем блок "**Сообщение**" с блоком "**Задержка**".

{% hint style="warning" %}
Данная конструкция будет работать **только в том случае**, если в блоке "**Сообщение**" нет кнопок. \
\
Если кнопка есть, нужно использовать блок "**Разделитель**" и разместить его после блока "**Действие**".
{% endhint %}

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

Копируем блок с элементом "**Товар**"

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

И размещаем его после блока "**Задержка**" и соединяем.

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

Далее редактируем текст элемента "**Товар**".

<details>

<summary>Через 2 дня у тебя заканчивается подписка. ‌ ‌<br><br>В случае неуплаты, бот исключит тебя из канала.</summary>

</details>

Далее, создаем блок "**Сообщение**", добавляем текст и добавляем связь **от предыдущего блока**

<details>

<summary>Подписка успешно продлена! <br><br>Спасибо, что остаешься с нами :)</summary>

</details>

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

Теперь, нам нужно соединить связь от "**Шаг 4**" с задержкой.

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

Далее приступаем к настройке "Исключения из канала/чата", если не был оплачен тариф.

Во **втором товаре**, после задержки, нажимаем на кнопку "**Добавить реакцию на бездействие**"

<figure><img src="/files/6JwqnZ7uJuBzUsOHcDLU" alt=""><figcaption></figcaption></figure>

И в поле "**Дней**" указываем число **2,** затем нажимаем на кнопку "**Сохранить**"

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

Далее, создаем блок "**Действие**" и выбираем "**Отправить через вебхук**"

Ниже копируем настройки для вебхука

**URL-адрес обработчика**

```
https://api.telegram.org/bot({channel.token})/banChatMember
```

Затем, нажимаем "**+Добавить параметр**" и копируем ниже из таблицы данные.

**Параметры:**

| Параметр | Значение     |
| -------- | ------------ |
| chat\_id | Айди канала  |
| user\_id | {{user\_id}} |

Затем сохраняем результат в любую переменную. Рекомендую создать переменную **`return`**, чтобы дальше по инструкции только копировать настройки.

{% hint style="danger" %}
Вам нужно заменить только текст "**Айди канала**". \
\
**Больше ничего менять не нужно!**\
\
Чтобы узнать **ID группы** или **ID канала**, воспользуйтесь подсказкой ниже.
{% endhint %}

{% embed url="<https://docs.leadconverter.su/faq/populyarnye-voprosy/kak-uznat-id-telegram-kanala>" %}

{% embed url="<https://docs.leadconverter.su/faq/populyarnye-voprosy/kak-uznat-id-telegram-gruppy-chata>" %}

Что у нас получилось.

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

{% hint style="info" %}
Это действие отвечает за "**Исключение пользователя из канала/чата**"
{% endhint %}

Далее, соединяем связь от "**Реакции на бездействие**" с созданным блоком "**Действие**".

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

Теперь, копируем блок с "**Товаром**"

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

Размещаем после "**Действия**", которое исключает из канала,  соединяем блоки как на скриншоте:

"**Действие 2**" содединяем с "**Шаг 5**"

"**Шаг 5**" соединяем с "**Действие**"

Эта конструкция, позволит **после исключения из канала/чата**, отправить товар повторно и в случае оплаты - **выдать доступы** еще раз.

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

Теперь осталось отредактировать текст в "**Шаг 5**"

Открываем блок и меняем текст.

<details>

<summary>Доступ закрыт за неуплату! ‌ ‌<br><br>Если ты хочешь вернуться в клуб, оплати доступ, нажав на кнопку "Оплатить".</summary>

</details>

Наш бот готов :)

Осталось протестировать эту конструкцию на работоспособность, **перед приглашением пользователей**.

### Как правильно тестировать этого бота?

Поменять настройки "**Задержки**" и "**Реакции на бездествие**" на меньшее время. Например указать **1 минуту** и запустить бота с нуля.

{% hint style="warning" %}
Тестировать бота нужно **с помощью дополнительного аккаунта**.\
\
Бот не сможет исключить из канала/чата **администратора** или **создателя канала**
{% endhint %}

Если остались вопросы - смело задавайте вопрос в техподдержку. Мы всегда поможем :)

{% content-ref url="/pages/-MasAPNcg291uNezFqb4" %}
[Как задать вопрос в поддержку?](/kak-zadat-vopros-v-podderzhku.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.leadconverter.su/primery/primery-botov/bot-dlya-kluba-bez-rekurrentnykh-platezhei/2.-sozdaem-bota.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
