Я пишу бот-телеграмму, которая берет jpg от своих пользователей и отправляет обратно в виде стикеров.
Я сделал это правильно, загрузив jpg, изменив расширение файла на png, загрузив и отправив его обратно в виде стикерного сообщения пользователю. как показано ниже:
var file = await bot.GetFileAsync(update.Message.Photo.LastOrDefault()?.FileId);
var filename = file.FileId + "." + file.FilePath.Split('.').Last();
var pngFileName = filename.Split('.')[0] + ".png";
using (var saveImageStream = System.IO.File.Open(pngFileName, FileMode.Create))
{
await bot.DownloadFileAsync(file.FilePath, saveImageStream);
await bot.SendTextMessageAsync(update.Message.Chat.Id, "please wait...");
}
using (var stream = System.IO.File.Open(pngFileName, FileMode.Open))
{
await bot.SendStickerAsync(update.Message.Chat.Id, stream);
}
но эти стикеры не загружаются в telegram на устройствах IOS, и этот код работает только для пользователей telegram на android. Я пытался просто изменить расширение файла jpg на webp, но это не сработало.
после этого я скачал стандартные стикеры телеграммы и обнаружил, что стандартный формат стикеров в телеграмме - это файлы webp.
Теперь я хочу знать, как я могу конвертировать полученный файл JPG в файл WebP.
Я много искал и просто нашел это , нашел здесь .
using (Image image = Image.FromFile("image.jpg"))
{
Bitmap bitmap = new Bitmap(image);
WebPFormat.SaveToFile("image.webp", bitmap);
}
Я добавил его файлы в свой проект и добавил "using LibwebpSharp;" в верхней части моего кода, но когда я добавляю его пример кода, VS не может найти класс "WebpFormat".
пожалуйста, помогите мне и ответьте на мой вопрос:
"Как я могу конвертировать jpg в webp в C # telegram bot?"
спасибо