Отправка сообщения
- Метод: POST
- Authorization: No Auth
- URL: https://api.telegram.org/bot{token}/sendMessage?chat_id={chat_id}&parse_mode=MarkdownV2&message_thread_id={topic_id}
ВАЖНО
Вместо {token} нужно указать токен БОТа в телеграме, полученный от https://t.me/BotFather
Предупреждение — Используйте параметр parse_mode только если он вам действительно необходим. В противном случае возможны ошибки при отправке сообщений.
Если вы никак не форматируете содержимое сообщения (форматированием считается, например, наклонный или подчеркнутый текст) — не используйте parse_mode в запросе.
Описание тела запроса (inline клавиатура):
Поле | Описание |
---|---|
reply_markup | объект "клавиатуры" |
reply_markup.inline_keyboard | Инлайн клавиатура (под сообщением) |
reply_markup.inline_keyboard.text | Текст кнопки |
reply_markup.inline_keyboard.url | ссылка для перехода при нажатии кнопки |
reply_markup.inline_keyboard.web_app | объект веб-аппа |
reply_markup.inline_keyboard.web_app.url | ссылка на веб-апп |
Описание тела запроса (reply клавиатура):
Поле | Описание |
---|---|
reply_markup | объект "клавиатуры" |
reply_markup.one_time_keyboard | true - клавиатура исчезнет (свернется) после нажатия клавиши false - [значение по умолчанию] клавиатура будет существовать, пока ее не удалят или не заменят новой |
reply_markup.input_field_placeholder | Текст-подсказка в поле ввода |
reply_markup.resize_keyboard | true - клавиатура уменьшится по количеству строк для удобства false - [значение по умолчанию] полноразмерная клавиатура |
reply_markup.keyboard | Реплай клавиатура (вместо системной клавиатуры / кнопки) |
reply_markup.keyboard.text | Текст кнопки |
reply_markup.keyboard.web_app | объект веб-аппа |
reply_markup.keyboard.web_app.url | ссылка на веб-апп |
reply_markup.keyboard.request_contact | запрос номера телефона |
reply_markup.keyboard.request_location | запрос геолокации |
Описание тела запроса (Удаление reply клавиатуры):
Поле | Описание |
---|---|
reply_markup | объект "клавиатуры" |
reply_markup.remove_keyboard | true – удалить reply клавиатуру в чате |
{ "text": "Какой-то текст для отправки\nА это уже на следующей строке будет" }
Описание тела запроса (Текст сообщения):
Поле | Описание |
---|---|
text | Текст для отправки. Для переноса строка используется символ переноса строки "\n" |
Описание параметров метода:
Параметр | Обязательность | Описание |
---|---|---|
chat_id | да | Идентификатор чата, в который будет отправлено сообщение. Узнать идентификатор чата можно, например, через https://t.me/myidbot |
parse_mode | нет | Режим парсинга текста. Может быть MarkdownV2 или HTML. Подробнее можно прочитать здесь *Используется для форматирования текста (жирный, с наклоном и тд.) |
message_thread_id | нет | Идентификатор "темы" для отправки сообщения в тему группы, в которой включены "темы" |
{ "ok": true, "result": { "message_id": 1902, "from": { "id": 5351196660, "is_bot": true, "first_name": "Тестовый бот", "username": "test_bot" }, "chat": { "id": -1001586696720, "title": "Тестовая группа", "type": "supergroup" }, "date": 1663837925, "text": "Тест\nТест" } }
ВАЖНО
В случае успешного ответа код ответа будет 200. Неуспешные ответы возвращают другой код ответа. Подробнее можете изучить на официальном сайте api telegram
Описание полей ответа:
Поле | Обязательность | Описание |
---|---|---|
ok | да | Результат запроса. При успешном запросе всегда возвращает "true" |
result | да | Массив результата ответа |
message_id | да | Идентификатор сообщения |
from | да | Массив информации отправителя |
id | да | Идентификатор отправителя |
is_bot | да | Признак того, бот ли отправитель |
first_name | да | Имя отправителя |
username | да | Уникальный username отправителя |
chat | да | Массив информации чата, куда отправлено сообщение |
id | да | Идентификатор чата |
title | да | Название чата |
type | да | Тип чата |
date | да | Дата отправки сообщения |
text | да | Текст сообщения |
Редактирование сообщения
ВАЖНО
Метод редактирования сообщения аналогичный методу отправки сообщения с несколькими особенностям:
- Новый обязательный параметр message_id, который принимает идентификатор сообщения для редактирования
- В ответе появляется поле edit_date, в которое записывается дата изменения сообщения
- НЕВОЗМОЖНО ОТРЕДАКТИРОВАТЬ СООБЩЕНИЕ С REPLY КЛАВИАТУРОЙ (с инлайн все также можно)
- Если передать тот же текст при редактировании, что и в оригинале, то вернется ошибка 400 (для редактирования только инлайн клавиатуры без редактирования текста нужно использовать метод editMessageReplyMarkup без параметра text)
- Метод: GET/POST
- Authorization: No Auth
- URL: https://api.telegram.org/bot{token}/editMessageText?chat_id={chat_id}&parse_mode=MarkdownV2&text={text}&message_thread_id={topic_id}&message_id={message_id}