Всем привет, сегодня покажу как написать обычного Telegram бота который будет выполнять какие либо функции.
Начнем:
Для начала нам понадобится написать основу для этого бота
Вот и все, в конце всего что мы сделали у нас получится телеграм бот который имеет пока только 1 команду
[LIKES=1] Скачать [/LIKES]
Начнем:
Для начала нам понадобится написать основу для этого бота
Код:
[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]
[LIKES=1] Скачать [/LIKES]