ЗАГРУЗКА И СКАЧИВАНИЕ ФАЙЛА В TELEGRAM BOT C#

  Рет қаралды 6,268

Excalib

Excalib

Күн бұрын

Пікірлер: 31
@Booster33
@Booster33 2 жыл бұрын
Единственный канал, на котором понятными словами рассказывается о работе с Telegram через C#. Спасибо!!!
@Excalib
@Excalib 2 жыл бұрын
Спасибо!
@dimaandrianov5791
@dimaandrianov5791 2 жыл бұрын
Братан хорош!! Давай вперед!! Контент в кайф. Можно еще? Вообще красавчик!
@virtu_ozz
@virtu_ozz Жыл бұрын
Очень круто наблюдать за процессом написания кода. Хочу еще)
@murtazotoshniyozov4688
@murtazotoshniyozov4688 7 ай бұрын
Добрый день. У меня вопрос по этому видео. Способ, который вы показали, предназначен для работы с файлами небольшого размера, такими как kb. Но когда дело касается файла большого размера (например, КБ или ГБ) бот работает ооочень медленно. Как это можно решить? Например, предположим, что есть бот, который содержит фильмы. Пользователь выбирает фильм, и бот возвращает фильм с таким названием.
@Excalib
@Excalib 7 ай бұрын
Я эту проблему не решал, но насколько я знаю там сама телега скорость режет для юзеров без премиума, не могу дать четкий ответ
@Zaket_1
@Zaket_1 2 жыл бұрын
супер,продолжай в том же духе)
@krasty0
@krasty0 2 жыл бұрын
тебе забашляли за рекламу фреймворка?
@Excalib
@Excalib 2 жыл бұрын
Нет, друга фреймворка, пользуюсь сам
@krasty0
@krasty0 2 жыл бұрын
@@Excalib ну да-да, я так и подумал
@Excalib
@Excalib 2 жыл бұрын
Можешь тоже забашлять, твой фреймворк Прорекламирую
@You2Ber42
@You2Ber42 Жыл бұрын
Круто! Посдкажи, а если мне надо скачивать сообщения из указанной группы, и получать файлы прикрепленные к сообщениям (большие по 5-15гб) как это лучше сделать? С учетом того что это надо делать на android устройстве? Т.е. при запуске надо: 1. Получить сообщения из указанной группы. 2. Из каждого соообщению к которому прикреплен файл скачать файл. Смотрел bot api там вроде ограничение в размере и нет возможности получить список сообщений группы. Смотрел TDLib там все есть но он блин весит 16 мб под андроид и главное что там нужно вводить логин и пароль, а я хотел бы сделать для всех сервис, а не только для себя но боюсь мало кто захочет свой пароль вводить, да и хранить его надо безопасно что тоже лишние проблемы. Остается ProtoM но он крайне сложный в реализации. Общий смысл такой что бы хранить файлы не в облаке а в телеграме, потому что облака банят, свой ftp накладно поднимать. При этом уже есть канал куда выкладывают файлы с описанием. Т.е. его можно распарсить и показать пользователю, ну и скачать если пользователь выберет.
@kosiuk843
@kosiuk843 Жыл бұрын
Здравствуйте, вы разобрались как лучше это сделать? скачивание файлов что привышает 20мб
@You2Ber42
@You2Ber42 Жыл бұрын
@@kosiuk843 Без protoM никак, ну точнее можно из protoM как то вырезать часть которая отвечает за работу с файлами но это титаническая работа, поэтому просто оставил эту затею.
@kosiuk843
@kosiuk843 Жыл бұрын
@@You2Ber42 то есть единственный вариант сделать загрузку файлов свыше 20 мб, это сделать веб апп с инпутом, так пробовали?
@kosiuk843
@kosiuk843 Жыл бұрын
@@You2Ber42или вы по другому реализовали этот интерфейс
@You2Ber42
@You2Ber42 Жыл бұрын
@@kosiuk843 я забил и использовал FTP
@SwubleStudio
@SwubleStudio 2 жыл бұрын
Привет! А будет ли тутор по созданию ВК Бота?! Заранее благодарю❤
@Excalib
@Excalib Жыл бұрын
Не планировал)
@_V_A_
@_V_A_ 2 жыл бұрын
34 строка - нету "сенд" у меня, сделал все один в один
@Excalib
@Excalib 2 жыл бұрын
Чего нет? Не понимаю о чем речь откройте репозиторий
@dxmp
@dxmp 11 ай бұрын
отличный бот, только почему-то не сохраняет файлы больше 20мб
@Excalib
@Excalib 10 ай бұрын
Ограничение телеги
@ВячеславГеоргиу-э8я
@ВячеславГеоргиу-э8я 2 жыл бұрын
подскажите это же не Phpstorm, а что?
@loving_evil
@loving_evil Жыл бұрын
Rider
@BiChezGame
@BiChezGame 2 жыл бұрын
Может мне тут кто поможет?) я на грани отчаяния) Вот есть код, как реализовать команду \getfiles. нужно что бы пользователь мог скачать выбранный файл из уже загруженных в папку Download. Файлы в сохраняются в этой папке когда пользователь скидывает файл в чат class Program { string path = @"D:\Skillbox\C#\HomeWork9\HomeWork9\HomeWork9\bin\Download"; static TelegramBotClient bot = new TelegramBotClient("тут мой токен"); static void Main(string[] args) { var cts = new CancellationTokenSource(); Program p = new Program(); var receiverOptions = new ReceiverOptions { AllowedUpdates = { } }; bot.StartReceiving( p.HandleUpdateAsync, HandleErrorAsync, receiverOptions, cancellationToken: cts.Token); var me = bot.GetMeAsync(); Console.WriteLine($"Start listening for @{me.Id}"); Console.ReadLine(); cts.Cancel(); } //Метод скачивания файлов static async void Download(string fileId,string fileName, string path) { var file = await bot.GetFileAsync(fileId); FileStream fs = new FileStream(path + fileName, FileMode.Create); await bot.DownloadFileAsync(file.FilePath, fs); fs.Close(); fs.Dispose(); } private static Task HandleErrorAsync(ITelegramBotClient arg1, Exception arg2, CancellationToken arg3) { throw new NotImplementedException(); } //Метод, обрабатывающий сообщения async Task HandleUpdateAsync(ITelegramBotClient bot, Update update, CancellationToken cancellationToken) { if (update.Type == Telegram.Bot.Types.Enums.UpdateType.Message && update?.Message?.Text != null) { await HandleMessage(bot, update.Message); return; } if (update.Message.Type == Telegram.Bot.Types.Enums.MessageType.Document) { Console.WriteLine($"FileId : {update.Message.Document.FileId}"); Console.WriteLine($"FileName : {update.Message.Document.FileName}"); Console.WriteLine($"FileSize : {update.Message.Document.FileSize}"); Download(update.Message.Document.FileId, update.Message.Document.FileName,path); } } //Метод, принимающий сообщения async Task HandleMessage(ITelegramBotClient bot, Message message) { if (message.Text == "/start") { await bot.SendTextMessageAsync(message.Chat.Id, $"Привет, {message.Chat.Username}. Скидывай сюда файлы и я их сохраню." + $" Посмотреть загруженные файлы можно с помощью команды: /list" + " Скачать выбранный файл можно с помощью команды: /getfiles"); } else if (message.Text == "/list") { DirectoryInfo files = new DirectoryInfo(path); var FileListName = files.GetFiles().ToList(); if (FileListName.Count == 0) { await bot.SendTextMessageAsync(message.Chat.Id, "Файлов пока нет"); } for (int i = 0; i < FileListName.Count; i++) { await bot.SendTextMessageAsync(message.Chat.Id, FileListName[i].Name); } } else { await bot.SendTextMessageAsync(message.Chat.Id, "Команда не распознана"); } } }
@Excalib
@Excalib 2 жыл бұрын
Пишите в телеграме
@warpArtifact
@warpArtifact Жыл бұрын
все очень просто тебе просто нужно заюзать спец бота, чтобы взять чатАйди под темы
@alberltteregulov4536
@alberltteregulov4536 2 жыл бұрын
Братан хорош!! Давай вперед!! Контент в кайф. Можно еще? Вообще красавчик!
@alberltteregulov4536
@alberltteregulov4536 2 жыл бұрын
Я выражаю максимальный дизреспект этому комментарию
Уроки C# - Создаём Telegram бота
28:33
XpucT
Рет қаралды 100 М.
小天使和小丑太会演了!#小丑#天使#家庭#搞笑
00:25
家庭搞笑日记
Рет қаралды 57 МЛН
VAMPIRE DESTROYED GIRL???? 😱
00:56
INO
Рет қаралды 6 МЛН
啊?就这么水灵灵的穿上了?
00:18
一航1
Рет қаралды 51 МЛН
Советский мультфильм про нашу жизнь !
13:49
Дедушка Аргентинца
Рет қаралды 4,9 МЛН
小天使和小丑太会演了!#小丑#天使#家庭#搞笑
00:25
家庭搞笑日记
Рет қаралды 57 МЛН