Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Телеграм. Работа с файлами
Введение
Телеграм бот может принимать файлы от пользователя, а также передавать файлы пользователю.
В этой статье разберем как это сделаь в рамках платформы Falcon Space.
Отправка файла пользователю в телеграм
Для этого мы используем команду sendDocument вместо sendMessage.
Параметры будут те же, что и у sendmessage + добавляются поля fileUrl, fileName (необязательный параметр).
В fileUrl находится путь к файлу на сайте. Если файла не будет, то бот просто не отправит сообщение.
Пример вызова команды:
select 'sendDocument' [Type],
'Некоторый текст' [Text],
@chatID ChatId,
@messageID ReplyToMessageId,
0 DisableNotification,
'/uploads/1.txt' FileUrl,
'Некий документ' FileName
end
Прием файла от пользователя через бота телеграм
Пользователь может отправить картинки или документы.
Если это картинки, то тип сообщения (messageType) будет Photo. Если просто некий неграфический файл - то тип сообщения Document.
Переданные файлы сохраняются на диск в папки /uploads/telegram/{fileId}.
В процедуру telegram_bot_action передается информация и документах и картинках в бот в параметре @parameters:
в Key передается doc (если документ), либо image0, image1, image2.
В Value передается путь к файлу, сохраненному на сайте в /uploads/telegram подпапке. Вы можете извлечь эти данные о файлах и сохранить где-то в БД для последующей обработки.
ВАЖНО! Если передается множество файлов, то они передаются в бот как ОТДЕЛЬНЫЕ команды с типом Photo или Document.
При передаче картинок в бот передается сразу несколько ее копий в разных разрешениях (в целях упрощения обработки возможно имеет смысл брать только image0).
В appsettings.json есть настройка telegram:fileSizeLimit, которая задает в байтах максимальный размер (по умолчанию 60Мб). Если загружаемый файл превысил этот размер, то он не загружается, а в лог идет запись о факте превышения максимального размера файла.
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта