Пишем echo-bot
И так, в прошлом уроке мы установили библиотеку и зарегистрировали нашего бота(эти статьи можете найти в моем телеграмм канале). Теперь пришло время научить его отвечать на наши сообщения.
Сегодня мы напишем echo-bot, то есть бота который будет отвечать на наше сообщения, таким же сообщением.
Подготовка
Импортируем в проект библиотеку Telegram.Bot, Telegram.Bot.Args, System.Threading и System.Net если вы работаете через прокси.
Так же вне функции объявляем экземпляр класса ITelegramBotClient и даем ему имя botClient
WebProxy wp = new WebProxy("http://46.72.175.5:10262", true);И так мы пробудили нашего зверя, теперь нужно заставить его работать. Для этого создаем async функцию Bot_OnMessage. В ней проверяем если сообщение присланное ботом не пустое, то отправляем ему сообщение с таким же текстом
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);
static async void Bot_OnMessage(object sender, MessageEventArgs e)Тут уже обсудим синтакис. Почти любую вещь в телеграмме можно найти через сообщение. Например чат id мы находим через e.Message.Chat, то есть chatid у нас принимает id чата из которого пришло сообщение. А текст мы берем из e.Message.Text , то есть текст полученного сообщения.
{
if (e.Message.Text != null)
{
await botClient.SendTextMessageAsync(
chatId: e.Message.Chat,
text: e.Message.Text
);
}
}
Важно
Все функции для чат бота должны быть async, а все методы работают только через await
Итоговый код выглядит следующим образом:
На этом второй урок окончен, если вы столкнулись с багами - пишите мне в лс
А больше подобного контента вы можете найти в моем телеграмм канале
Удачи, программисты!