# Використання бота

## Як працювати з описом Telegram-бота (повним і коротким)

### Щоб налаштувати вітальне повідомлення

**tg\_set\_bot\_description(description, language\_code)** - опис бота, який показується, коли чат із ботом порожній

Параметри:

<table><thead><tr><th width="315.25">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td><strong>description</strong></td><td>Якщо передати порожній рядок як опис бота, наявний опис буде видалено.</td></tr><tr><td><strong>language_code</strong></td><td><p>Двобуквений код мови відповідно до стандарту ISO 639-1 для локалізації тексту.</p><p></p><p>Якщо залишити порожнім, короткий опис буде застосовано до всіх користувачів, для яких не встановлено окремий короткий опис.</p></td></tr></tbody></table>

<details>

<summary>Приклад</summary>

Приклад налаштування вітального повідомлення та меню бота:

<div data-with-frame="true"><figure><img src="/files/61bb94662896f3cbe6b82c1273f04405f05119b3" alt="" width="563"><figcaption><p>Налаштування блоку в MaviBot: використання функцій для встановлення команд і описів</p></figcaption></figure></div>

Після запуску (це слід зробити один раз за допомогою команди адміністратора):

<div data-with-frame="true"><figure><img src="/files/5b1c9b59bc2df16d860204c5b444845729cef68d" alt="" width="375"><figcaption><p>Вітальне повідомлення та меню бота</p></figcaption></figure></div>

Приклад коду для копіювання:

`tg_set_bot_description('Ласкаво просимо! Я — ваш віртуальний помічник, Yurgram.🤖') command = [["private_office", "Особистий кабінет"]] tg_set_command(command, '', 'default')`

</details>

### Щоб налаштувати короткий опис для попереднього перегляду

**tg\_set\_bot\_short\_description(description, language\_code)** - короткий опис бота, який відображається на сторінці профілю бота та надсилається разом із посиланням, коли користувачі діляться ботом.

Параметри:

<table><thead><tr><th width="315.25">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td><strong>description</strong></td><td>Якщо передати порожній рядок як опис бота, наявний опис буде видалено.</td></tr><tr><td><strong>language_code</strong></td><td><p>Двобуквений код мови відповідно до стандарту ISO 639-1 для локалізації тексту.</p><p></p><p>Якщо залишити порожнім, короткий опис буде застосовано до всіх користувачів, для яких не встановлено окремий короткий опис.</p></td></tr></tbody></table>

### Щоб отримати поточний опис

**tg\_get\_bot\_description(language\_code)** - використовуйте цей метод, щоб отримати поточний опис бота для вказаної мови користувача.

<table><thead><tr><th width="315.25">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td><strong>language_code</strong></td><td><p>Двобуквений код мови відповідно до стандарту ISO 639-1 для локалізації тексту.</p><p></p><p>Якщо залишити порожнім, короткий опис буде застосовано до всіх користувачів, для яких не встановлено окремий короткий опис.</p></td></tr></tbody></table>

### Щоб отримати поточний короткий опис

**tg\_get\_bot\_short\_description(language\_code)** - використовуйте цей метод, щоб отримати поточний короткий опис бота для вказаної мови користувача.

<table><thead><tr><th width="315.25">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td><strong>language_code</strong></td><td><p>Двобуквений код мови відповідно до стандарту ISO 639-1 для локалізації тексту.</p><p></p><p>Якщо залишити порожнім, короткий опис буде застосовано до всіх користувачів, для яких не встановлено окремий короткий опис.</p></td></tr></tbody></table>

## Як налаштувати команди для бота

### Щоб налаштувати команди

**`tg_set_command(commands, language, scope, platform_id, user_id)`**

<table><thead><tr><th width="239.27734375">Параметр </th><th>Опис</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> commands</strong></td><td><p>Команди бота у вигляді списку списків, де кожен вкладений список складається з 2 елементів:<br></p><p>1 – назва команди, 2 – її опис (ліміт — 100 команд).</p></td></tr><tr><td><strong>language</strong></td><td><p>Двобуквений код мови відповідно до ISO 639-1, наприклад, 'ru' або 'en'.</p><p></p><p>Якщо не вказано, команди застосовуватимуться до всіх користувачів, для мови яких не призначено окремі команди.</p></td></tr><tr><td><strong>scope</strong></td><td>Параметр, що визначає коло користувачів, для яких створюються команди. Значення за замовчуванням — <em><strong>'default'</strong></em>.</td></tr><tr><td><strong>platform_id</strong></td><td><p>Ідентифікатор чату в Telegram <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a>. </p><p></p><p>Застосовується лише для певних значень <strong>scope</strong> параметра.</p></td></tr><tr><td><strong>user_id</strong></td><td><p>Ідентифікатор користувача в Telegram <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a>. </p><p></p><p>Застосовується лише для певних значень <strong>scope</strong> параметра.</p></td></tr></tbody></table>

<details>

<summary>Приклад</summary>

<div data-with-frame="true"><figure><img src="/files/823f32db0c2575fd4fa6a0e1eac13bad9f65d62f" alt="" width="563"><figcaption></figcaption></figure></div>

**command = \[\["count", "повернути кількість користувачів"],\["unpin", "відкріпити всі повідомлення"]] tg\_set\_command(command, '', 'all\_chat\_administrators')**

У цьому прикладі команди розміщено в окремій змінній. Ви також можете додати ці команди безпосередньо у функцію.

**tg\_set\_command('\[\["count", "повернути кількість користувачів"],\["unpin", "відкріпити всі повідомлення"]]', '', 'all\_chat\_administrators')**

{% hint style="warning" %}
Щоб викликати команди, введіть символ '/' у полі введення повідомлення. Якщо все налаштовано правильно, ви побачите список доступних команд. Команди будуть відображатися жирним шрифтом, а їхні описи — праворуч.
{% endhint %}

Щоб використовувати команди, налаштуйте реакцію на повідомлення, що містять команди.

</details>

## **Як переглянути команди для бота**

### **tg\_get\_command()** &#x20;

<mark style="color:за замовчуванням;background-color:blue;">**Щоб переглянути команди**</mark>

**`tg_get_command(language, scope, platform_id, user_id)`**

<table><thead><tr><th width="262.8671875">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td><strong>language</strong></td><td>Двобуквений код мови відповідно до ISO 639-1, наприклад, 'ru' або 'en'.<br>Якщо не вказано, буде показано команди, застосовані до всіх користувачів у межах заданої області, для яких немає окремо призначених команд для їхньої мови.</td></tr><tr><td><strong>scope</strong></td><td>Параметр, що визначає коло користувачів, для яких слід показати команди (необов’язковий параметр; якщо не використовується, буде застосовано значення за замовчуванням <em><strong>'default'</strong></em> ).</td></tr><tr><td><strong>platform_id</strong> </td><td><p>Ідентифікатор чату в Telegram <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a>. <br></p><p>Застосовується лише для певних значень <strong>scope</strong> параметра.</p></td></tr><tr><td><strong>user_id</strong></td><td><p>Ідентифікатор користувача в Telegram <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a>. <br></p><p>Застосовується лише для певних значень <strong>scope</strong> параметра..</p></td></tr></tbody></table>

{% hint style="info" %}
Якщо ви не хочете використовувати параметр мови, але потрібно використати параметр scope, обов’язково вкажіть порожній параметр першим, як у прикладі:

**tg\_get\_command('', scope)**
{% endhint %}

<details>

<summary>Приклад</summary>

***command = tg\_get\_command('', 'all\_chat\_administrators')***

Призначте цю функцію змінній, і змінна міститиме відповідь сервера з командами для вказаного в параметрі кола користувачів.

***{"ok":true,"result":\[{"command":"count","description":"повернути кількість користувачів"},{"command":"unpin","description":"відкріпити всі повідомлення"}]}***

Якщо функцію викликано без параметрів, scope буде встановлено як ***'default'***.

***command = tg\_get\_command()***

</details>

## **Як видалити команди в боті**

### **tg\_delete\_command()**

<mark style="color:за замовчуванням;background-color:blue;">**Щоб видалити команди**</mark>

**tg\_delete\_command(language, scope, platform\_id, user\_id),** де

<table><thead><tr><th width="308.98828125">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td><strong>language</strong></td><td>Двобуквений код мови відповідно до ISO 639-1, наприклад, 'ru' або 'en' (необов’язковий параметр; якщо не вказано, буде видалено команди, застосовані до всіх користувачів у межах заданого кола, для яких немає окремо призначених команд для їхньої мови).</td></tr><tr><td><strong>scope</strong></td><td>Параметр, що визначає коло користувачів, для яких буде видалено команди.<br>Якщо не вказано, буде застосовано значення за замовчуванням <em><strong>'default'</strong></em> .</td></tr><tr><td><strong>platform_id</strong></td><td>Ідентифікатор чату (необов’язковий параметр, застосовується лише для певних значень параметра scope).</td></tr><tr><td><strong>user_id</strong></td><td>Ідентифікатор користувача (необов’язковий параметр, застосовується лише для певних значень параметра scope).</td></tr></tbody></table>

{% hint style="info" %}
Якщо ви не хочете використовувати параметр мови, але потрібно використати параметр scope, обов’язково вкажіть порожнє значення для першого параметра, як у прикладі:

**tg\_delete\_command('', scope)**
{% endhint %}

{% hint style="info" %}
Команда на кшталт tg\_delete\_command() видалить команди без указання параметра мови, використовуючи значення scope за замовчуванням.
{% endhint %}

<details>

<summary>Приклад</summary>

Ви можете видалити встановлені команди, викликавши функцію з параметрами в калькуляторі:

<div data-with-frame="true"><figure><img src="/files/bf9a9609a3fa2a20a0d96f0a5c63881ba0aec043" alt="" width="563"><figcaption></figcaption></figure></div>

**Приклад коду для копіювання:**

**`tg_delete_command('', 'all_chat_administrators')`**

</details>

## Як налаштувати реакції на команди

Для команд у приватному чаті з ботом потрібно реагувати на повідомлення такого виду: **'/command\_name'** — де **command\_name** — це команда.

Для команд у групах і чатах повідомлення матимуть вигляд: **'/command\_name\@bot\_username'** — де **command\_name** — це команда, а **@bot\_username** — це ім’я користувача бота.

**Список значень scope:**

<table><thead><tr><th width="214.984375">Параметр</th><th>Значення</th></tr></thead><tbody><tr><td><strong>'default'</strong></td><td>Параметр за замовчуванням означає, що команди працюватимуть у приватних повідомленнях із ботом.</td></tr><tr><td><strong>'all_private_chats'</strong></td><td>Усі приватні чати: команди доступні всім у приватних чатах, де додано бота.</td></tr><tr><td><strong>'all_group_chats'</strong></td><td>Усі групові та супергрупові чати: команди доступні всім у цих типах чатів, де додано бота.</td></tr><tr><td><strong>'all_chat_administrators'</strong> </td><td>Команди для адміністраторів усіх групових і супергрупових чатів, де додано бота.</td></tr><tr><td><strong>'chat'</strong></td><td>Команди для конкретного чату (якщо ви оберете цей варіант, слід вказати <strong>platform_id</strong>).</td></tr><tr><td><strong>'chat_administrators'</strong></td><td>Команди для адміністраторів конкретного чату (якщо ви оберете цей варіант, слід вказати <strong>platform_id</strong>).</td></tr><tr><td><strong>'chat_member'</strong></td><td>Команди для конкретного учасника певного чату (якщо ви оберете цей варіант, слід вказати обидва <strong>platform_id</strong> та <strong>user_id</strong>; вказаний користувач має бути учасником цього чату).</td></tr></tbody></table>

{% hint style="info" %}
Якщо ви не хочете використовувати параметр мови, але потрібно використати параметр scope, обов’язково вкажіть порожнє значення для першого параметра, як у прикладі:

**tg\_delete\_command('', scope)**
{% endhint %}


---

# 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.mavibot.ai/doc/uk/chatbot/mesendzheri/telegram/api/chatbot.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.
