SendMessage#
Метод предназначен для отправки текстового сообщения или медиафайла пользователю или в чат.
Запрос#
Поля запроса#
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
UserID | integer | Да* | ID пользователя-получателя * обязателен, если не указан ChatID |
ChatID | integer | Да* | ID чата-получателя * обязателен, если не указан UserID |
DisableLinkPreview | boolean | Нет | Если false, сервер не будет генерировать превью для ссылок в тексте сообщения |
Text | string | Нет | Новый текст сообщения (до 4000 символов) |
Attachments | array | Нет | Вложения сообщения. Если пусто, все вложения будут удалены |
Link | object | Нет | Ссылка на другое сообщение |
Notify | boolean | Нет | Отправлять ли пуш-уведомление пользователю (true/false) |
Format | string | Нет | Формат разметки текста (HTML, Markdown) |
Пример запроса#
response, err := bot.Messages.SendMessage(
context.Background(),
models.SendMessageReq{
ChatID: 123456,
Text: "Hello, world!",
Notify: true
}
)
Ответ#
| Поле | Тип | Описание |
|---|---|---|
Sender | object | Пользователь, отправивший сообщение |
Recipient | object | Получатель сообщения. Может быть пользователем или чатом |
Timestamp | integer | Время создания сообщения в формате Unix-time |
LinkedMessage | object | Пересланное или ответное сообщение |
Body | object | Содержимое сообщения |
Stat | object | Статистика сообщения. Возвращается только для постов в каналах |
URL | string | Публичная ссылка на пост в канале. Отсутствует для диалогов и групповых чатов |
Пример тела ответа#
{
"message": {
"recipient": {
"chat_id": 123456789,
"chat_type": "dialog",
"user_id": 111222333
},
"timestamp": 1773838491240,
"body": {
"mid": "mid.000000000782a4e0019d01035e6843dd",
"seq": 116250279361922013,
"text": "Hello world!"
},
"sender": {
"user_id": 9876543210,
"first_name": "John",
"username": "id5047259512_1_bot",
"is_bot": true,
"last_activity_time": 1773838491258
}
}
}