|
|||||||
Скачать файл из сообщения
Время создания: 06.02.2020 22:42
Текстовые метки: c#, bots, telegram, telegram.bot
Раздел: Компьютер - C# - Telegramm
Запись: Kozlov-AE/Tetra/master/base/1581018163mzt7vbsxib/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
1. getFileметод представляет собой JSON объект (1,7 КБ отклик) , которые содержат данные для доступа к файлу изображения. 2. Также обратите внимание, что телеграмма создает массив изображений для любого изображения. первый элемент этого массива содержит небольшую миниатюру исходного изображения, а последний элемент массива содержит исходное изображение. ------------------------------------------------------------ Это старый пост. Но так как нет хорошей документации о том, как вы должны загружать файл в бот telegram, для всех, кто интересуется, вот как вы должны это сделать (один из способов): DownloadFile(message.Photo[message.Photo.Length - 1].FileId, @"c:\photo.jpg"); в котором: private static async void DownloadFile(string fileId, string path) { try { var file = await Bot.GetFileAsync(fileId); using (var saveImageStream = new FileStream(path, FileMode.Create)) { await file.FileStream.CopyToAsync(saveImageStream); } } catch (Exception ex) { Console.WriteLine("Error downloading: " + ex.Message); } } message.Photo[message.Photo.Length - 1] Является последним элементом в message.Photoмассиве, который содержит самые высокие данные качества изображения. Очевидно, что вы можете использовать DownloadFile для загрузки и другие виды файлов (например message.Document). --------------------------------------------------- Я использую telegram.bot v14.10.0, но не могу найти file.FileStream, поэтому я нахожу альтернативный способ получить изображение из telegram. мой способ - использовать telegram api напрямую для этого случая. var test = _myBot.GetFileAsync(e.Message.Photo[e.Message.Photo.Count() - 1].FileId); var download_url = @"https://api.telegram.org/file/bot<token>/" + test.Result.FilePath; using (WebClient client = new WebClient()) { client.DownloadFile(new Uri(download_url), @"c:\temp\NewCompanyPicure.png"); } //then do what you want with it |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|