Skip to main content

Отправка текстовых сообщений

Базовый метод — sendMessage.

Простой пример

curl -X POST https://api.telefon.chat/bot<TOKEN>/sendMessage \
-d 'chat_id=12345&text=Привет!'

Параметры

ПараметрТипОписание
chat_idint / stringID чата (number) или @username (string)
textstringТекст сообщения, до 4096 символов
parse_modestringHTML или MarkdownV2 для форматирования
entitiesarrayАльтернатива parse_mode — список форматируемых сегментов
disable_web_page_previewboolОтключить превью ссылок
disable_notificationboolТихое уведомление
protect_contentboolЗащита от пересылки/копирования
reply_to_message_idintID сообщения, на которое отвечаем
reply_markupobjectInline или Reply клавиатура

Форматирование текста

HTML

{
"chat_id": 12345,
"text": "<b>Жирный</b> <i>курсив</i> <code>код</code> <a href='https://telefon.chat'>ссылка</a>",
"parse_mode": "HTML"
}

Поддерживаемые теги: <b>, <i>, <u>, <s>, <code>, <pre>, <a href>, <blockquote>, <spoiler>.

MarkdownV2

{
"chat_id": 12345,
"text": "*Жирный* _курсив_ \`код\` [ссылка](https://telefon.chat)",
"parse_mode": "MarkdownV2"
}

В MarkdownV2 спецсимволы (_*[]()~\>#+-=|.!`) нужно экранировать обратной косой.

Длинные сообщения

Лимит — 4096 символов на сообщение. Если текст длиннее, разбивайте сами:

def split(text, limit=4000):
for i in range(0, len(text), limit):
yield text[i:i+limit]

for chunk in split(long_text):
bot.send_message(chat_id, chunk)

Ответ на сообщение

{
"chat_id": 12345,
"text": "Это ответ",
"reply_to_message_id": 42
}

В UI получатель увидит цитату с превью оригинала.

Inline-клавиатура

См. раздел Inline-клавиатура.