Единственный канал, на котором понятными словами рассказывается о работе с Telegram через C#. Спасибо!!!
@Excalib2 жыл бұрын
Спасибо!
@dimaandrianov57912 жыл бұрын
Братан хорош!! Давай вперед!! Контент в кайф. Можно еще? Вообще красавчик!
@virtu_ozz Жыл бұрын
Очень круто наблюдать за процессом написания кода. Хочу еще)
@murtazotoshniyozov46887 ай бұрын
Добрый день. У меня вопрос по этому видео. Способ, который вы показали, предназначен для работы с файлами небольшого размера, такими как kb. Но когда дело касается файла большого размера (например, КБ или ГБ) бот работает ооочень медленно. Как это можно решить? Например, предположим, что есть бот, который содержит фильмы. Пользователь выбирает фильм, и бот возвращает фильм с таким названием.
@Excalib7 ай бұрын
Я эту проблему не решал, но насколько я знаю там сама телега скорость режет для юзеров без премиума, не могу дать четкий ответ
@Zaket_12 жыл бұрын
супер,продолжай в том же духе)
@krasty02 жыл бұрын
тебе забашляли за рекламу фреймворка?
@Excalib2 жыл бұрын
Нет, друга фреймворка, пользуюсь сам
@krasty02 жыл бұрын
@@Excalib ну да-да, я так и подумал
@Excalib2 жыл бұрын
Можешь тоже забашлять, твой фреймворк Прорекламирую
@You2Ber42 Жыл бұрын
Круто! Посдкажи, а если мне надо скачивать сообщения из указанной группы, и получать файлы прикрепленные к сообщениям (большие по 5-15гб) как это лучше сделать? С учетом того что это надо делать на android устройстве? Т.е. при запуске надо: 1. Получить сообщения из указанной группы. 2. Из каждого соообщению к которому прикреплен файл скачать файл. Смотрел bot api там вроде ограничение в размере и нет возможности получить список сообщений группы. Смотрел TDLib там все есть но он блин весит 16 мб под андроид и главное что там нужно вводить логин и пароль, а я хотел бы сделать для всех сервис, а не только для себя но боюсь мало кто захочет свой пароль вводить, да и хранить его надо безопасно что тоже лишние проблемы. Остается ProtoM но он крайне сложный в реализации. Общий смысл такой что бы хранить файлы не в облаке а в телеграме, потому что облака банят, свой ftp накладно поднимать. При этом уже есть канал куда выкладывают файлы с описанием. Т.е. его можно распарсить и показать пользователю, ну и скачать если пользователь выберет.
@kosiuk843 Жыл бұрын
Здравствуйте, вы разобрались как лучше это сделать? скачивание файлов что привышает 20мб
@You2Ber42 Жыл бұрын
@@kosiuk843 Без protoM никак, ну точнее можно из protoM как то вырезать часть которая отвечает за работу с файлами но это титаническая работа, поэтому просто оставил эту затею.
@kosiuk843 Жыл бұрын
@@You2Ber42 то есть единственный вариант сделать загрузку файлов свыше 20 мб, это сделать веб апп с инпутом, так пробовали?
@kosiuk843 Жыл бұрын
@@You2Ber42или вы по другому реализовали этот интерфейс
@You2Ber42 Жыл бұрын
@@kosiuk843 я забил и использовал FTP
@SwubleStudio2 жыл бұрын
Привет! А будет ли тутор по созданию ВК Бота?! Заранее благодарю❤
@Excalib Жыл бұрын
Не планировал)
@_V_A_2 жыл бұрын
34 строка - нету "сенд" у меня, сделал все один в один
@Excalib2 жыл бұрын
Чего нет? Не понимаю о чем речь откройте репозиторий
@dxmp11 ай бұрын
отличный бот, только почему-то не сохраняет файлы больше 20мб
@Excalib10 ай бұрын
Ограничение телеги
@ВячеславГеоргиу-э8я2 жыл бұрын
подскажите это же не Phpstorm, а что?
@loving_evil Жыл бұрын
Rider
@BiChezGame2 жыл бұрын
Может мне тут кто поможет?) я на грани отчаяния) Вот есть код, как реализовать команду \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, "Команда не распознана"); } } }
@Excalib2 жыл бұрын
Пишите в телеграме
@warpArtifact Жыл бұрын
все очень просто тебе просто нужно заюзать спец бота, чтобы взять чатАйди под темы
@alberltteregulov45362 жыл бұрын
Братан хорош!! Давай вперед!! Контент в кайф. Можно еще? Вообще красавчик!
@alberltteregulov45362 жыл бұрын
Я выражаю максимальный дизреспект этому комментарию