Отправка сообщения

ВАЖНО

Вместо {token} нужно указать токен БОТа в телеграме, полученный от https://t.me/BotFather

Предупреждение — Используйте параметр parse_mode только если он вам действительно необходим. В противном случае возможны ошибки при отправке сообщений.

Если вы никак не форматируете содержимое сообщения (форматированием считается, например, наклонный или подчеркнутый текст) — не используйте parse_mode в запросе.


Inline клавиатура
{
    "reply_markup": {
        "inline_keyboard": [
            [
                {
                    "text": "Ссылка на сайт",
                    "url": "https://twin24.ai"
                },
                {
                    "text": "WebApp",
                    "web_app": {
                        "url": "https://twin24.ai"
                    }
                }
            ],
            [
                {
                    "text": "Ссылка на сайт2",
                    "url": "https://twin24.ai"
                },
                {
                    "text": "WebApp2",
                    "web_app": {
                        "url": "https://twin24.ai"
                    }
                }
            ]
        ]
    }
}

Описание тела запроса (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": {
        "one_time_keyboard": true,
        "input_field_placeholder": "выберите пункт",
        "resize_keyboard": true,
        "keyboard": [
            [
                {
                    "text": "Просто кнопка-ответ"
                },
                {
                    "text": "WebApp",
                    "web_app": {
                        "url": "https://twin24.ai"
                    }
                }
            ],
            [
                {
                    "text": "Запрос контакта",
                    "request_contact": true
                },
                {
                    "text": "Запрос локации",
                    "request_location": true
                }
            ]
        ]
    }
}

Описание тела запроса (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": {
		"remove_keyboard": true
	}
}

Описание тела запроса (Удаление 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

нет

Идентификатор "темы" для отправки сообщения в тему группы, в которой включены "темы"

Успешный ответ в формате Json
{
    "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даТекст сообщения

Редактирование сообщения

ВАЖНО

Метод редактирования сообщения аналогичный методу отправки сообщения с несколькими особенностям:

  1. Новый обязательный параметр message_id, который принимает идентификатор сообщения для редактирования
  2. В ответе появляется поле edit_date, в которое записывается дата изменения сообщения
  3. НЕВОЗМОЖНО ОТРЕДАКТИРОВАТЬ СООБЩЕНИЕ С REPLY КЛАВИАТУРОЙ (с инлайн все также можно)
  4. Если передать тот же текст при редактировании, что и в оригинале, то вернется ошибка 400 (для редактирования только инлайн клавиатуры без редактирования текста нужно использовать метод editMessageReplyMarkup без параметра text)


  • Нет меток