Загрузка...

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

Тема в разделе C# создана пользователем xZist_inactive 26 дек 2017. 2039 просмотров

Загрузка...
  1. xZist_inactive
    xZist_inactive Автор темы 26 дек 2017 Заблокирован(а) 9 22 дек 2017
    Всем привет, сегодня покажу как написать обычного Telegram бота который будет выполнять какие либо функции.​
    Начнем
    Для начала нам понадобится написать основу для этого бота
    Код
    [/B][/CENTER]
    using System.Collections.Specialized;
    using System.Threading;
    using System.Net;
    using SimpleJSON;
    namespace ConsoleApp3
    {
    class Program
    {
    public static string Token = @""; // токен от нашего бота
    public static int LastUpdateID = 0; // последний ID полученный от бота
    static void Main(string[] args)
    {
    // Дальше нам понадобится класс SimpleJson его вы создадите самостоятельно
    // https://github.com/Bunny83/SimpleJSON/blob/master/SimpleJSON.cs

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

    void GetUpdates()
    {
    using (var webClient = new WebClient())
    {

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

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

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

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


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

    }
    }

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

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

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

    Скачать Source: https://www.sendspace.com/file/8lher6
     
  2. hoodrich_inactive226350
    Спасибо, давно искал.
     
Top