Пишем echo-bot

И так, в прошлом уроке мы установили библиотеку и зарегистрировали нашего бота(эти статьи можете найти в моем телеграмм канале). Теперь пришло время научить его отвечать на наши сообщения.

Пишем echo-bot C, Программирование, Telegram, Длиннопост

Сегодня мы напишем echo-bot, то есть бота который будет отвечать на наше сообщения, таким же сообщением.


Подготовка


Импортируем в проект библиотеку Telegram.Bot, Telegram.Bot.Args, System.Threading и System.Net если вы работаете через прокси.

Так же вне функции объявляем экземпляр класса ITelegramBotClient и даем ему имя botClient


WebProxy wp = new WebProxy("http://46.72.175.5:10262", true);
wp.Credentials = new NetworkCredential("insta71250", "Jyjc4557Hq");
botClient = new
TelegramBotClient("910830403:AAHJQJVMShxhh4VCrsndq_3oviEPMMa2JFI");
var me = botClient.GetMeAsync().Result;
botClient.OnMessage += Bot_OnMessage;
Thread.Sleep(int.MaxValue);

И так мы пробудили нашего зверя, теперь нужно заставить его работать. Для этого создаем async функцию Bot_OnMessage. В ней проверяем если сообщение присланное ботом не пустое, то отправляем ему сообщение с таким же текстом


static async void Bot_OnMessage(object sender, MessageEventArgs e)
{
if (e.Message.Text != null)
{
await botClient.SendTextMessageAsync(
chatId: e.Message.Chat,
text: e.Message.Text
);
}
}

Тут уже обсудим синтакис. Почти любую вещь в телеграмме можно найти через сообщение. Например чат id мы находим через e.Message.Chat, то есть chatid у нас принимает id чата из которого пришло сообщение. А текст мы берем из e.Message.Text , то есть текст полученного сообщения.


Важно


Все функции для чат бота должны быть async, а все методы работают только через await


Итоговый код выглядит следующим образом:

Пишем echo-bot C, Программирование, Telegram, Длиннопост

На этом второй урок окончен, если вы столкнулись с багами - пишите мне в лс


А больше подобного контента вы можете найти в моем телеграмм канале


Удачи, программисты!