[C#] TelegramBot - Отправка данных боту

r3xq1

HDD-drive
Пользователь
Регистрация
14.01.2020
Сообщения
21
Реакции
-4
Баллы
4
Telegram
Наша программа будет уметь делать следующие функции:
  • Отправлять скриншот
  • Отправлять сообщения
  • Отправлять файлы
  • Получать информацию ( пока о боте )
Сразу хочу предупредить чтобы успешно подключиться к боту вы не должны находится за NAT
Если Вы не можете подключиться к боту используйте VPN сервер, или же подключитесь напрямую через Proxy к TelegramBotClient - Об этом в следующем уроке.

Создаём класс Telega.cs
Подключим все зависимости:
C#:
using System;
using System.IO;
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;
Создадим переменную bot от TelegramBotClient внутри класса Telega

C#:
public class Telega
{
   private static TelegramBotClient bot; // Переменная bot
}
Запишем функцию отправки и удаления сообщения
C#:
public class Telega
{
   private static TelegramBotClient bot;

   public static async Task SendMessage(string token, int destID, string text)
   {
      if (!string.IsNullOrWhiteSpace(token))
      {
          try
          {
             bot = new TelegramBotClient(token); // Подключение к боту
             Message ss = await bot.SendTextMessageAsync(destID, text); // Отправка сообщения
            Console.WriteLine($"Вы отправили боту текст с сообщением: {ss.Text}"); // В консоль получим сообщение какой текст отправили.
            Console.WriteLine($"Всего сообщений: {ss.MessageId} | Чат ID: {ss.Chat.Id} | Date: {ss.Date}");
         // await bot.DeleteMessageAsync(destID, ss.MessageId); // Удаления сообщения
          }
          catch (ArgumentException ex) { System.IO.File.AppendAllText("ConnectError.txt", $"{ex.Message}\r\n"); }
      }
   }
}
В классе Program.cs
C#:
using System;
using System.IO;
using System.Text;

internal static partial class Program
{
    // Получаете данные в своём телеграм боте, и после прописываете их в коде.
    private static string token = "8600:AAHzYkm8eZKd***"; // тут ваш токен
    private static int id = 49755****; // тут ваш айди

    private static StringBuilder stringBuilder = new StringBuilder();

    public static void Main()
    {
       Console.Title = "TelegramBot";
       stringBuilder.AppendLine($"Привет {Environment.UserName} это я твой бот =)");
       try
       {
          Telega.SendMessage(token, id, stringBuilder?.ToString()).Wait();
       }
      catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
    }
}
1578998502939.png
Как видим сообщение отправляется =)

Теперь в классе Telega.cs - запишем функцию которая будет отправлять скриншот
C#:
public static async Task SendPhoto(string token, int chatId, string filePath)
{
     if (!string.IsNullOrWhiteSpace(token) || System.IO.File.Exists(filePath))
     {
         using (var form = new MultipartFormDataContent())
         {
             form.Add(new StringContent(chatId.ToString(), Encoding.UTF8), "chat_id");
             using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
             {
                form.Add(new StreamContent(fileStream), "photo", filePath.Split('\\').Last());
                using (var client = new HttpClient())
                {
                    await client.PostAsync($"https://api.telegram.org/bot{token}/sendPhoto", form);
                    Console.WriteLine("Скриншот отправлен успешно!");
                }
             }
         }
     }
}
В классе Program.cs вызывается таким образом
C#:
using System;
using System.IO;

internal static partial class Program
{
      // Получаете данные в своём телеграм боте, и после прописываете их в коде.
     private static string token = "860740080:AAHzYkm8eSYmZKd***"; // Ваш токен
     private static int id = 49755****; // Ваш ID

     private static readonly string DesktopFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Screenshot_4.png"); // Ваш файл.

     public static void Main()
     {
        Console.Title = "TelegramBot"; // Заголовок консоли
        try
        {
            Telega.SendPhoto(token, id, DesktopFile).Wait(); // Отправка фото и ожидание (wait())
        }
       catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
     }
}
1578998615245.png

Супер фотография отправлена =)

Переходим к следующему запишем в класс Telega.cs функцию отправки файла
C#:
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); // Отправка файла с параметрами.
          }
     }
}
В классе Program.cs вызываем так:
C#:
using System;
using System.IO;

internal static partial class Program
{
   private static string token = "860740080:AAHzYkm8eSYmZKd***"; // Ваш токен
   private static int id = 49755****; // Ваш ID

   private static readonly string DesktopFile =     Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Lesson.cs"); // Ваш файл

   public static void Main()
   {
      Console.Title = "TelegramBot"; // Заголовок консоли
      try
      {
        Telega.SendFile(token, id, DesktopFile).Wait(); // Отправка файла с ожиданием (wait())
       }
       catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
   }
}
1578998686099.png

Файл успешно отправился =)

Если Вы хотите массово отправить файлы сделайте это следующим способом:
C#:
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); }
}
Вызывается так:
C#:
private static readonly string DesktopFile = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
Telega.MassSendFiles(token, id, DesktopFile, "*zip");
Ну и на по следок получим информацию о боте:
В классе Telega.cs запишем функцию которая получит нужную нам информацию:
C#:
public static void GetInfo(string token)
{
    if (!string.IsNullOrWhiteSpace(token))
    {
         try
         {
            bot = new TelegramBotClient(token);
            var basa = new StringBuilder();
            User me = bot.GetMeAsync().Result;
            if (me.IsBot)
            {
               basa.AppendLine($"Логин бота: {me.Username}");
               basa.AppendLine($"Имя бота: {me.FirstName}");
               basa.AppendLine($"ID бота: {me.Id.ToString()}");
            }
                 Console.WriteLine(basa?.ToString());
        }
      catch (AggregateException) { Console.WriteLine("Соединение блокировано, используйте Proxy Сервер"); }
   }
}
Вызывается просто:
C#:
Telega.GetInfo(token);
Console.ReadKey();
На этом всё =) Всем удачи.


Готовый код:
C#:
namespace NewBot
{
    using System;
    using System.IO;
    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;

    public class Telega
    {
        private static TelegramBotClient bot;
        public static async Task SendMessage(string token, int destID, string text)
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(token))
                {
                    bot = new TelegramBotClient(token); // Подключение к боту
                    Message ss = await bot.SendTextMessageAsync(destID, text); // Отправка сообщения
                    Console.WriteLine($"Вы отправили боту текст с сообщением: {ss.Text}");
                    Console.WriteLine($"Всего сообщений: {ss.MessageId} | Чат ID: {ss.Chat.Id} | Date: {ss.Date}");
                    await bot.DeleteMessageAsync(destID, ss.MessageId); // Удаления сообщения
                }
            }
            catch { }
        }

        public static async Task SendPhoto(int chatId, string filePath, string token)
        {
            if (!string.IsNullOrWhiteSpace(token) || System.IO.Directory.Exists(filePath))
            {
                using (var form = new MultipartFormDataContent())
                {
                    form.Add(new StringContent(chatId.ToString(), Encoding.UTF8), "chat_id");

                    using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                    {
                        form.Add(new StreamContent(fileStream), "photo", filePath.Split('\\').Last());

                        using (var client = new HttpClient())
                        {
                            await client.PostAsync($"https://api.telegram.org/bot{token}/sendPhoto", form);
                            Console.WriteLine("Скриншот отправлен успешно!");
                        }
                    }
                }
            }
        }

        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); // Отправка файла с параметрами.
                }
            }
        }

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

        public static void GetInfo(string token)
        {
            if (!string.IsNullOrWhiteSpace(token))
            {
                try
                {
                    bot = new TelegramBotClient(token);
                    var basa = new StringBuilder();
                    User me = bot.GetMeAsync().Result;
                    if (me.IsBot)
                    {
                        basa.AppendLine($"Логин бота: {me.Username}");
                        basa.AppendLine($"Имя бота: {me.FirstName}");
                        basa.AppendLine($"ID бота: {me.Id.ToString()}");
                    }
                    Console.WriteLine(basa?.ToString());
                }
                catch (AggregateException) { Console.WriteLine("Соединение блокировано, используйте Proxy Сервер"); }
            }
        }
    }
}
C#:
namespace NewBot
{
    using System;
    using System.IO;
    using System.Text;
    using System.Threading.Tasks;

    internal static partial class Program
    {
        // private static string token = "860740080:AAHzYkm8eSYmZKd***";
        // private static int id = 49757;
        private static readonly string txtfile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "file.txt");
        private static StringBuilder stringBuilder = new StringBuilder();
        public static void Main()
        {
            Console.Title = "TelegramBot Test connect by Antlion";
            stringBuilder.AppendLine($"Привет бот это: {Environment.UserName}");
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\"Для подключения требуется VPN сервер!\"\r\n");

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write("Введите токен для подключения: ");

            string token = Console.ReadLine(); // тут вводим наш токен бота

            Console.Write("Введите ID: ");
            int id = Convert.ToInt32(Console.ReadLine());
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine();

            Task.Run(() =>
            {
                //Telega.SendMessage(token, id, stringBuilder.ToString()).Wait();
                //Telega.SendPhoto(id, file, token).Wait();
                Telega.SendFile(token, id, txtfile).Wait();

            });
                //string desktopath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Files");
                //Task.Run(() => Telega.MassSendFiles(token, id, desktopath, "*.*"));
                Telega.GetInfo(token);
            Console.ReadKey();
        }
        /*
        public static void Main()
        {
            Console.Title = "TelegramBot";
            try
            {
                Telega.GetInfo(token);
                Console.ReadKey();
            }
            catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
        }
        */
    }
}
Код писался давно, многое можно переписать, но лень) Может кому-то будет полезно, что-то для себя возьмёт.
Пользуйтесь! ))
 
Последнее редактирование:

h0peIess

RAID-массив
Пользователь
Регистрация
04.12.2018
Сообщения
56
Реакции
57
Баллы
19
Наша программа будет уметь делать следующие функции:
  • Отправлять скриншот
  • Отправлять сообщения
  • Отправлять файлы
  • Получать информацию ( пока о боте )
Сразу хочу предупредить чтобы успешно подключиться к боту вы не должны находится за NAT
Если Вы не можете подключиться к боту используйте VPN сервер, или же подключитесь напрямую через Proxy к TelegramBotClient - Об этом в следующем уроке.

Создаём класс Telega.cs
Подключим все зависимости:
C#:
using System;
using System.IO;
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;
Создадим переменную bot от TelegramBotClient внутри класса Telega

C#:
public class Telega
{
   private static TelegramBotClient bot; // Переменная bot
}
Запишем функцию отправки и удаления сообщения
C#:
public class Telega
{
   private static TelegramBotClient bot;

   public static async Task SendMessage(string token, int destID, string text)
   {
      if (!string.IsNullOrWhiteSpace(token))
      {
          try
          {
             bot = new TelegramBotClient(token); // Подключение к боту
             Message ss = await bot.SendTextMessageAsync(destID, text); // Отправка сообщения
            Console.WriteLine($"Вы отправили боту текст с сообщением: {ss.Text}"); // В консоль получим сообщение какой текст отправили.
            Console.WriteLine($"Всего сообщений: {ss.MessageId} | Чат ID: {ss.Chat.Id} | Date: {ss.Date}");
         // await bot.DeleteMessageAsync(destID, ss.MessageId); // Удаления сообщения
          }
          catch (ArgumentException ex) { System.IO.File.AppendAllText("ConnectError.txt", $"{ex.Message}\r\n"); }
      }
   }
}
В классе Program.cs
C#:
using System;
using System.IO;
using System.Text;

internal static partial class Program
{
    // Получаете данные в своём телеграм боте, и после прописываете их в коде.
    private static string token = "8600:AAHzYkm8eZKd***"; // тут ваш токен
    private static int id = 49755****; // тут ваш айди

    private static StringBuilder stringBuilder = new StringBuilder();

    public static void Main()
    {
       Console.Title = "TelegramBot";
       stringBuilder.AppendLine($"Привет {Environment.UserName} это я твой бот =)");
       try
       {
          Telega.SendMessage(token, id, stringBuilder?.ToString()).Wait();
       }
      catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
    }
}
Как видим сообщение отправляется =)

Теперь в классе Telega.cs - запишем функцию которая будет отправлять скриншот
C#:
public static async Task SendPhoto(string token, int chatId, string filePath)
{
     if (!string.IsNullOrWhiteSpace(token) || System.IO.File.Exists(filePath))
     {
         using (var form = new MultipartFormDataContent())
         {
             form.Add(new StringContent(chatId.ToString(), Encoding.UTF8), "chat_id");
             using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
             {
                form.Add(new StreamContent(fileStream), "photo", filePath.Split('\\').Last());
                using (var client = new HttpClient())
                {
                    await client.PostAsync($"https://api.telegram.org/bot{token}/sendPhoto", form);
                    Console.WriteLine("Скриншот отправлен успешно!");
                }
             }
         }
     }
}
В классе Program.cs вызывается таким образом
C#:
using System;
using System.IO;

internal static partial class Program
{
      // Получаете данные в своём телеграм боте, и после прописываете их в коде.
     private static string token = "860740080:AAHzYkm8eSYmZKd***"; // Ваш токен
     private static int id = 49755****; // Ваш ID

     private static readonly string DesktopFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Screenshot_4.png"); // Ваш файл.

     public static void Main()
     {
        Console.Title = "TelegramBot"; // Заголовок консоли
        try
        {
            Telega.SendPhoto(token, id, DesktopFile).Wait(); // Отправка фото и ожидание (wait())
        }
       catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
     }
}

Супер фотография отправлена =)

Переходим к следующему запишем в класс Telega.cs функцию отправки файла
C#:
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); // Отправка файла с параметрами.
          }
     }
}
В классе Program.cs вызываем так:
C#:
using System;
using System.IO;

internal static partial class Program
{
   private static string token = "860740080:AAHzYkm8eSYmZKd***"; // Ваш токен
   private static int id = 49755****; // Ваш ID

   private static readonly string DesktopFile =     Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Lesson.cs"); // Ваш файл

   public static void Main()
   {
      Console.Title = "TelegramBot"; // Заголовок консоли
      try
      {
        Telega.SendFile(token, id, DesktopFile).Wait(); // Отправка файла с ожиданием (wait())
       }
       catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
   }
}

Файл успешно отправился =)

Если Вы хотите массово отправить файлы сделайте это следующим способом:
C#:
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); }
}
Вызывается так:
C#:
private static readonly string DesktopFile = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
Telega.MassSendFiles(token, id, DesktopFile, "*zip");
Ну и на по следок получим информацию о боте:
В классе Telega.cs запишем функцию которая получит нужную нам информацию:
C#:
public static void GetInfo(string token)
{
    if (!string.IsNullOrWhiteSpace(token))
    {
         try
         {
            bot = new TelegramBotClient(token);
            var basa = new StringBuilder();
            User me = bot.GetMeAsync().Result;
            if (me.IsBot)
            {
               basa.AppendLine($"Логин бота: {me.Username}");
               basa.AppendLine($"Имя бота: {me.FirstName}");
               basa.AppendLine($"ID бота: {me.Id.ToString()}");
            }
                 Console.WriteLine(basa?.ToString());
        }
      catch (AggregateException) { Console.WriteLine("Соединение блокировано, используйте Proxy Сервер"); }
   }
}
Вызывается просто:
C#:
Telega.GetInfo(token);
Console.ReadKey();
На этом всё =) Всем удачи.


Готовый код:
C#:
namespace NewBot
{
    using System;
    using System.IO;
    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;

    public class Telega
    {
        private static TelegramBotClient bot;
        public static async Task SendMessage(string token, int destID, string text)
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(token))
                {
                    bot = new TelegramBotClient(token); // Подключение к боту
                    Message ss = await bot.SendTextMessageAsync(destID, text); // Отправка сообщения
                    Console.WriteLine($"Вы отправили боту текст с сообщением: {ss.Text}");
                    Console.WriteLine($"Всего сообщений: {ss.MessageId} | Чат ID: {ss.Chat.Id} | Date: {ss.Date}");
                    await bot.DeleteMessageAsync(destID, ss.MessageId); // Удаления сообщения
                }
            }
            catch { }
        }

        public static async Task SendPhoto(int chatId, string filePath, string token)
        {
            if (!string.IsNullOrWhiteSpace(token) || System.IO.Directory.Exists(filePath))
            {
                using (var form = new MultipartFormDataContent())
                {
                    form.Add(new StringContent(chatId.ToString(), Encoding.UTF8), "chat_id");

                    using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                    {
                        form.Add(new StreamContent(fileStream), "photo", filePath.Split('\\').Last());

                        using (var client = new HttpClient())
                        {
                            await client.PostAsync($"https://api.telegram.org/bot{token}/sendPhoto", form);
                            Console.WriteLine("Скриншот отправлен успешно!");
                        }
                    }
                }
            }
        }

        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); // Отправка файла с параметрами.
                }
            }
        }

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

        public static void GetInfo(string token)
        {
            if (!string.IsNullOrWhiteSpace(token))
            {
                try
                {
                    bot = new TelegramBotClient(token);
                    var basa = new StringBuilder();
                    User me = bot.GetMeAsync().Result;
                    if (me.IsBot)
                    {
                        basa.AppendLine($"Логин бота: {me.Username}");
                        basa.AppendLine($"Имя бота: {me.FirstName}");
                        basa.AppendLine($"ID бота: {me.Id.ToString()}");
                    }
                    Console.WriteLine(basa?.ToString());
                }
                catch (AggregateException) { Console.WriteLine("Соединение блокировано, используйте Proxy Сервер"); }
            }
        }
    }
}
C#:
namespace NewBot
{
    using System;
    using System.IO;
    using System.Text;
    using System.Threading.Tasks;

    internal static partial class Program
    {
        // private static string token = "860740080:AAHzYkm8eSYmZKd***";
        // private static int id = 49757;
        private static readonly string txtfile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "file.txt");
        private static StringBuilder stringBuilder = new StringBuilder();
        public static void Main()
        {
            Console.Title = "TelegramBot Test connect by Antlion";
            stringBuilder.AppendLine($"Привет бот это: {Environment.UserName}");
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\"Для подключения требуется VPN сервер!\"\r\n");

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write("Введите токен для подключения: ");

            string token = Console.ReadLine(); // тут вводим наш токен бота

            Console.Write("Введите ID: ");
            int id = Convert.ToInt32(Console.ReadLine());
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine();

            Task.Run(() =>
            {
                //Telega.SendMessage(token, id, stringBuilder.ToString()).Wait();
                //Telega.SendPhoto(id, file, token).Wait();
                Telega.SendFile(token, id, txtfile).Wait();

            });
                //string desktopath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Files");
                //Task.Run(() => Telega.MassSendFiles(token, id, desktopath, "*.*"));
                Telega.GetInfo(token);
            Console.ReadKey();
        }
        /*
        public static void Main()
        {
            Console.Title = "TelegramBot";
            try
            {
                Telega.GetInfo(token);
                Console.ReadKey();
            }
            catch (AggregateException) { File.AppendAllText("ConnectError.txt", "Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPN\r\n"); }
        }
        */
    }
}
Код писался давно, многое можно переписать, но лень) Может кому-то будет полезно, что-то для себя возьмёт.
Пользуйтесь! ))

Слушай, ты очень подозрительный тип :)
На всех бордах выставляешь свои исходники?
 

r3xq1

HDD-drive
Пользователь
Регистрация
14.01.2020
Сообщения
21
Реакции
-4
Баллы
4
Telegram
Слушай, ты очень подозрительный тип
А в чём подозрительность?))
На всех бордах выставляешь свои исходники?
Да, стараюсь) Чем больше тем лучше!
Разве это плохо?))
Начинающие программисты будут допустим искать инфу, наткнутся на какой-либо форум ( типо этого ) и увидят для себя что-то полезное.
 

h0peIess

RAID-массив
Пользователь
Регистрация
04.12.2018
Сообщения
56
Реакции
57
Баллы
19
А в чём подозрительность?))

Да, стараюсь) Чем больше тем лучше!
Разве это плохо?))
Начинающие программисты будут допустим искать инфу, наткнутся на какой-либо форум ( типо этого ) и увидят для себя что-то полезное.
Я не говорил, что это плохо :D
 
Верх