Что нового
Теневой форум

Добро пожаловать на FSELL- крупнейший теневой форум. У нас Вы сможете найти огромное количество заработка в интернете, купить паспорт, ксиву, оружие, куча многих товаров и услуг, в виде пробива, взлома, нанять киллера. Все это Вы найдете на нашем форуме! Не пренебрегайте услугами Гарант-Сервиса, это убережет Вас от мошенников.

[Source] C# Telegram Bot ответ на простые команды

Forgeq

Один герой, но так много имён
Продвинутый
Всем привет, сегодня покажу как написать обычного Telegram бота который будет выполнять какие либо функции.


Начнем:


Для начала нам понадобится написать основу для этого бота
Код:
[b]using System.Collections.Specialized;
[b]using System.Threading;
[b]using System.Net;
[b]using SimpleJSON;
[b]namespace ConsoleApp3
[b]{
    [b]class Program
    [b]{
        [b]public static string Token = @""; // токен от нашего бота
        [b]public static int LastUpdateID = 0; // последний ID полученный от бота
        [b]static void Main(string[] args)
        [b]{
        [b]// Дальше нам понадобится класс SimpleJson его вы создадите самостоятельно
     [b]//   https://github.com/Bunny83/SimpleJSON/blob/master/SimpleJSON.cs

[b][b]// Далее создаем функцию проверки полученных сообщений боту

        [b][b]void GetUpdates()
        [b]{
            [b]using (var webClient = new WebClient())
            [b]{

                [b][b]string response = webClient.DownloadString("https://api.telegram.org/bot" + Token + "/getUpdates" + "?offset=" + (LastUpdateID + 1));

                [b][b]var N = JSON.Parse(response);
                [b]foreach (JSONNode r in N["result"].AsArray)
                [b]{
                    [b]string comm = r["message"]["text"]; // Команда для бота
                    [b]string chat = r["message"]["chat"]["id"]; // Чат ID с кем ведется переписка
                    [b]LastUpdateID = r["update_id"].AsInt; // последний id полученного диалога
                    [b]// Дальше делаем проверку первой полученной команды
                    [b]if (r["message"]["text"] == "/start")
                    [b]{
                        [b]SendMessage("Привет, я бот которого пишут по примеру темы на ********.NET", r["message"]["chat"]["id"].AsInt);
                    [b]}
                [b]}
            [b]}
        [b]}
        [b]// Далее готовим функцию для ответа на команды

        [b][b]void SendMessage(string message, int chatid)
        [b]{
            [b]using (var webClient = new WebClient())
            [b]{
                [b]var pars = new NameValueCollection();

                [b][b]pars.Add("text", message); // текст который отправляем
                [b]pars.Add("chat_id", chatid.ToString()); // чат id на который идет ответ можете задать свой, либо работать по тем от которых идут сообщения

                [b][b][b]webClient.UploadValues("https://api.telegram.org/bot" + Token + "/sendMessage", pars);

            [b][b]}
        [b]}

       [b][b]// Далее делаем бесконечный цикл использования проверки сообщений для бота, я делаю на примере ConsoleApp так что мне достаточно писать это в main классе, если используете форму можете прописать в Form_Load

[b][b]while (true)
            [b]{
                [b]GetUpdates();
        [b]Thread.Sleep(500);
    [b]}

        [b][b]}
    [b]}
[b]}
[B]
Вот и все, в конце всего что мы сделали у нас получится телеграм бот который имеет пока только 1 команду

s4069038.jpg


[LIKES=1] Скачать [/LIKES]
 

Allkatraz

Member
Всем привет, сегодня покажу как написать обычного Telegram бота который будет выполнять какие либо функции.


Начнем:


Для начала нам понадобится написать основу для этого бота
Код:
[b]using System.Collections.Specialized;
[b]using System.Threading;
[b]using System.Net;
[b]using SimpleJSON;
[b]namespace ConsoleApp3
[b]{
    [b]class Program
    [b]{
        [b]public static string Token = @""; // токен от нашего бота
        [b]public static int LastUpdateID = 0; // последний ID полученный от бота
        [b]static void Main(string[] args)
        [b]{
        [b]// Дальше нам понадобится класс SimpleJson его вы создадите самостоятельно
     [b]//   https://github.com/Bunny83/SimpleJSON/blob/master/SimpleJSON.cs

[b][b]// Далее создаем функцию проверки полученных сообщений боту

        [b][b]void GetUpdates()
        [b]{
            [b]using (var webClient = new WebClient())
            [b]{

                [b][b]string response = webClient.DownloadString("https://api.telegram.org/bot" + Token + "/getUpdates" + "?offset=" + (LastUpdateID + 1));

                [b][b]var N = JSON.Parse(response);
                [b]foreach (JSONNode r in N["result"].AsArray)
                [b]{
                    [b]string comm = r["message"]["text"]; // Команда для бота
                    [b]string chat = r["message"]["chat"]["id"]; // Чат ID с кем ведется переписка
                    [b]LastUpdateID = r["update_id"].AsInt; // последний id полученного диалога
                    [b]// Дальше делаем проверку первой полученной команды
                    [b]if (r["message"]["text"] == "/start")
                    [b]{
                        [b]SendMessage("Привет, я бот которого пишут по примеру темы на ********.NET", r["message"]["chat"]["id"].AsInt);
                    [b]}
                [b]}
            [b]}
        [b]}
        [b]// Далее готовим функцию для ответа на команды

        [b][b]void SendMessage(string message, int chatid)
        [b]{
            [b]using (var webClient = new WebClient())
            [b]{
                [b]var pars = new NameValueCollection();

                [b][b]pars.Add("text", message); // текст который отправляем
                [b]pars.Add("chat_id", chatid.ToString()); // чат id на который идет ответ можете задать свой, либо работать по тем от которых идут сообщения

                [b][b][b]webClient.UploadValues("https://api.telegram.org/bot" + Token + "/sendMessage", pars);

            [b][b]}
        [b]}

       [b][b]// Далее делаем бесконечный цикл использования проверки сообщений для бота, я делаю на примере ConsoleApp так что мне достаточно писать это в main классе, если используете форму можете прописать в Form_Load

[b][b]while (true)
            [b]{
                [b]GetUpdates();
        [b]Thread.Sleep(500);
    [b]}

        [b][b]}
    [b]}
[b]}
[B]
Вот и все, в конце всего что мы сделали у нас получится телеграм бот который имеет пока только 1 команду

s4069038.jpg


РКН телегу блочит, поэтому без прокси это работать не будет
 
Вверх