# Функции API Telegram

Функции API значительно расширяют возможности бота в Telegram. Используя функции API, вы можете работать с вложениями, группами и чатами в Telegram — например, автоматизировать блокировку или разблокировку пользователей и многое другое!

{% hint style="info" %}
Источник: [API бота Telegram](https://core.telegram.org/bots/api)
{% endhint %}

{% hint style="warning" %}
Важно!&#x20;

Чтобы понять, как работать с функциями API, мы настоятельно рекомендуем ознакомиться с правилами указания функций и параметров в калькуляторе.

<mark style="color:красный;">**ОБОЗНАЧЕНИЯ:**</mark>

<mark style="color:красный;">**!**</mark> — восклицательный знак указывает на обязательные параметры

**parameter=None** — это показывает значение по умолчанию для указанного параметра.

Достаточно <mark style="color:красный;">**неправильно**</mark> просто скопировать текст функции из документации, например так: tg\_send\_message(platform\_id, "Some text", client\_message\_id=61818138, reply\_markup=None, parse\_mode=None, disable\_web\_page\_preview=0, protect\_content=False)

Значения после знаков равенства представляют значения по умолчанию для каждого параметра. Поэтому, если вам не нужен какой-то параметр, но нужен следующий за ним, нельзя просто пропустить ненужный — вместо этого нужно явно передать его значение по умолчанию.

Таким образом, <mark style="color:зелёный;">**правильным**</mark> использованием будет: tg\_send\_message(platform\_id, "Some text", 61818138, None, None, 0, True)
{% endhint %}

### Где мне взять <mark style="color:красный;">platform\_id</mark> для отправки уведомлений?

* Вам нужно, чтобы к вашему проекту был подключён бот Telegram.
* Отправьте любое сообщение этому боту из аккаунта Telegram, на который вы хотите получать уведомления.
* В списке клиентов проекта выберите диалог с клиентом, которому хотите отправлять запросы.
* Скопируйте значение ID из поля мессенджера.

<div data-with-frame="true"><figure><img src="/files/36fd604e2c3c1dceb398cb6ad86a0ed5a7c2732c" alt="" width="359"><figcaption></figcaption></figure></div>

<details>

<summary>Пример передачи <mark style="color:красный;">platform_id</mark> параметра:</summary>

1. Параметр platform\_id можно передавать без явного указания числовых значений.

<figure><img src="/files/1738c03c2a4be36d95b4d735f8e63b97e053e35d" alt=""><figcaption><p>platform_id был указан без какого-либо значения</p></figcaption></figure>

`react = tg_set_reaction(platform_id, 1556, '👌')`

Функции с этим параметром будут работать даже без явного указания значения platform\_id.\
Важно: в большинстве функций этот параметр обязателен и не должен опускаться. <br>

2\. Если вам нужно использовать функцию в конкретном чате, канале или группе, вы должны передать platform\_id в виде числового значения.

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

В функции **tg\_send\_message(!platform\_id, !text)** показанной выше, platfor&#x6D;**\_id параметр** передаётся в кавычках, заключающих числовое значение:

`tgmess = tg_send_message('1234566788', 'Hello!')`&#x20;

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

</details>

### Как задавать кнопки в параметре reply\_markup

**Пример кнопок ответа:**

`opts = {"keyboard": [[{"text": "Left"}, {"text": "Right"}]]}`

**Пример inline-кнопок:**

opts = {"inline\_keyboard": \[\[{"text": "Package 1","callback\_data":1}, {"text": "Package 2","callback\_data":2}]]}

### Как использовать форматирование текста (Markdown) в параметре parse\_mod&#x65;**?**&#x20;

Текст **parse\_mode** параметр форматирует весь текст или его части в *курсив* или **жирный**. Он может принимать значения: html, markdown или markdownV2.

1. <mark style="color:синий;">**Если вы выберете html:**</mark>

&#x20;        числовых **жирный текст**, используйте  `"<b>caption</b>"`

&#x20;        числовых *курсивный текст*, используйте `"<i>caption</i>"`

2. <mark style="color:синий;">**Для Markdown:**</mark>

&#x20;        числовых **жирный текст**, используйте  `"*caption*"`

&#x20;        числовых *курсивный текст*, используйте  `"_caption_"`

**Пример отправки курсивного текста:**\
`tg_send_message(47615196, "<i>italic</i>",None,None,"html")`

**Пример отправки жирного текста:**\
`tg_send_message(platform_id, '*test*', None, None, 'markdown')`


---

# 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.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.
