# Использование бота

## Как работать с описанием 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/6b2dad8b6c280f3a3a1c857937db1d9d202627ea" alt="" width="563"><figcaption><p>Настройка блока в MaviBot: использование функций для установки команд и описаний</p></figcaption></figure></div>

После запуска (это нужно сделать один раз с помощью команды администратора):

<div data-with-frame="true"><figure><img src="/files/3c1a2632fa2d2150136f71dfea8ac589d518927f" 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:красный;"><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/4e48fce4980a23ba84b1eb8bf2ec19756dafb120" 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/9aeca890465eec8fb024d64f1fc74b9d65280c02" 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>Параметр default означает, что команды будут работать в личных сообщениях с ботом.</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/ru/chatbot/messendzhery/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.
