# Функції 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:red;">**ПОЗНАЧЕННЯ:**</mark>

<mark style="color:red;">**!**</mark> — знак оклику вказує на обов’язкові параметри

**parameter=None** — це показує значення за замовчуванням для вказаного параметра.

Це <mark style="color:red;">**неправильно**</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:green;">**правильним**</mark> використанням буде: tg\_send\_message(platform\_id, "Some text", 61818138, None, None, 0, True)
{% endhint %}

### Де я можу взяти <mark style="color:red;">platform\_id</mark> для надсилання сповіщень?

* Вам потрібно мати Telegram-бота, підключеного до вашого проєкту.
* Надішліть цьому боту будь-яке повідомлення з акаунта Telegram, на який ви хочете отримувати сповіщення.
* У списку клієнтів проєкту виберіть діалог клієнта, до якого ви хочете надсилати запити.
* Скопіюйте значення ID з поля месенджера.

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

<details>

<summary>Приклад передавання <mark style="color:red;">platform_id</mark> параметра:</summary>

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

<figure><img src="/files/b7fda8e4821d9b2e3700feb0d8bbaced2354ddcb" 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/5ed73add608e17221062405a9dd04d7ff13cd2aa" alt="" width="563"><figcaption></figcaption></figure>

У функції **tg\_send\_message(!platform\_id, !text)** показаній вище, платформ&#x430;**\_id параметр** передається з використанням лапок, які обрамляють числове значення:

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

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

</details>

### Як визначити кнопки в параметрі reply\_markup

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

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

**Приклад інлайн-кнопок:**

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:blue;">**Якщо ви оберете html:**</mark>

&#x20;        для **жирний текст**, використовуйте  `"<b>caption</b>"`

&#x20;        для *курсивний текст*, використовуйте `"<i>caption</i>"`

2. <mark style="color:blue;">**Для 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/uk/chatbot/mesendzheri/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.
