SendFile#
Универсальный метод для упрощенной отправки файлов
Запрос#
Поля запроса#
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
file_source | string | Да | URL-адрес файла (начинается с http/https) или путь к локальному файлу |
chat_id | integer | Нет* | ID чата (*обязательно, если не передан user_id) |
disable_link_preview | boolean | Нет | Если false, сервер не будет генерировать превью для ссылок в тексте сообщения |
user_id | integer | Нет* | ID пользователя (*обязательно, если не передан chat_id) |
text | string | Нет | Новый текст сообщения (до 4000 символов) |
attachments | array | Нет | Вложения сообщения. Если пусто, все вложения будут удалены |
link | object | Нет | Ссылка на другое сообщение |
notify | boolean | Нет | Отправлять ли пуш-уведомление пользователю (true/false) |
format | string | Нет | Формат разметки текста (HTML, Markdown) |
Пример запроса#
request := models.SendFileReq{
UserID: 123456789,
FileSource: "https://example.com/image.png",
DisableLinkPreview: True
}
response, err := bot.Helpers.SendFile(
context.Background(), request
)
Синхронный запрос:
request = SendFileReq(
user_id=123456789,
file_source="https://example.com/image.png",
disable_link_preview=True
)
bot.helpers.send_file(request)
Асинхронный запрос:
request = SendFileReq(
user_id=123456789,
file_source="https://example.com/image.png",
disable_link_preview=True
)
await bot.helpers.send_file_async(request)
const request: SendFileReq = {
user_id: 987654321,
file_source: "https://example.com/image.png",
disable_link_preview: true
}
const response = await bot.helpers.sendFile(request)
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
sender | object | Пользователь, отправивший сообщение |
recipient | object | Получатель сообщения. Может быть пользователем или чатом |
timestamp | integer | Время создания сообщения в формате Unix-time |
linked_message | object | Пересланное или ответное сообщение |
body | object | Содержимое сообщения |
stat | object | Статистика сообщения. Возвращается только для постов в каналах |
url | string | Публичная ссылка на пост в канале. Отсутствует для диалогов и групповых чатов |
Пример тела ответа#
{
"sender": {
"user_id": 111222,
"first_name": "MyBot",
"is_bot": true
},
"recipient": {
"chat_id": 123456789,
"chat_type": "group"
},
"timestamp": 1679051234,
"body": {
"mid": "msg-111222333",
"seq": 42,
"text": "Вот отчет за этот месяц",
"attachments": [
{
"type": "file",
"payload": {
"token": "file_token_xyz",
"filename": "march.pdf"
}
}
]
}
}