Делаем Telegram бот на C# и ASP.NET

Автор Denis Lisitsin
Делаем Telegram бот на C# и ASP.NET

Приветствую всех на канале экстремального программирования в этом видео мы разработаем простенький бот для телеграм на си Sharp Z3 за диплом — это всё на ажур первым делом создадим много ботов в телеграм делать при помощи bloodfire которого необходимо добавить свои контакты выполняем команду неё.

Вот и теперь нам необходимо ввести название нашего. Бота после жима команду OK. Теперь нужно название контакта для.

Бота и опять же мой командир всё будет зарегистрирован в Telegram и мы получаем API ключ для дальнейшей работы так, что с копируем его переходим к её здесь мы создаем новый проект asp.net Web Application и вводим название проекта в следующем окне выбираем тип проекта в нашем случае mvc.

Убедитесь, что в пути от дефекация на новый конфиг. А ещё по желанию можно добавить тесты ижма. Коми OK проект создан теперь немножечко почистим его от всякого шлака уберём все штуки которые нам не нужны Content Font Script Save US. Хорошо теперь открываем любимый консольный менеджер пакетов и. Вадим install-package Telegram Bot этот пакет является telegram-bot-api и предоставляет набор типов для удобной работы. Всё теперь можно приступить коду добавить в модели класс назовем его appsettings класс будет статичным и будет включать в себя парочку свойств из 1 свойства героя который будет содержать конечно ссылку опубликованный бот второе свойство. Неймана будет содержать название контакта нашего работа 3 свойства Ok в нём будет храниться api-ключ. Давайте по быстренькому заполняем все свойства OK наши настройки готовы. Для чего нужен api-ключ. Понятно А по поводу всего остального мы поговорим немного позже создаем новый называем его вот он опять таки будет статичным и будет служить для первичной инициализации бота команд сделаю закрытая статичное поле в котором будет храниться отеля клиент или как он там добавлю пространство имен Telegram Bot ополе будет с типом Telegram Bot Client вот так. Потом добавлю асинхронный который будет возвращать экземпляр клиента. Тут мы первым делом проверим инициализирована или наше поле. Если да то просто возвращаем клиент иначе создаем новые экземпляры sape ключом который записан в AppStore things дали вызываю вебхук, но параметры его пока оставить пустым парочку слов о покупках вот можно делать двумя путями 1 топорный метод соседа дяди. Васи вопрос 1 в определённое время будем копить элегии и узнавать есть для чего нового либо наш вариант своими руками мы как бы говорим телеграмму слышишь если для меня будут какие-то новости то будь добр только имя вот по этой ссылке и все все обновления будут приходить к нам по мере поступления, что удобно для приложений снижает нагрузку. В общем — это что-то вроде местного почтальона только трезвого. Хорошо теперь поработаем командами создадим папку Common и добавим класс команд он будет абстрактным. И включает в себя абстрактное свойства name абстрактный метод якут и метод контент который будет сопоставлять команду введённое пользователем с текущей командой команда мы будем сверять по имени самой команды и по имени. Бота Дело в том, что в чатах. Частенько бывает много ботов и команды могут пересекаться поэтому проверяем её целиком так и дополни метод экзекьют он будет принимать сообщения с командой я также экземпляры Telegram Bot Client для того чтобы была возможность отправить ответ обратно. Упс не тот на экспресс. Нам нужен телеграм бот types. Вот так вот теперь создадим первую команду классно заметила команд наследуем от команд жмем на кнопку и получаем заполненный класс видимыми команды Hello так метод языке будет асинхронным отдали воспользуемся клиентом для того чтобы отправить текстовое сообщение санки скучаю параметров важные. Чита и. Собственно сам текст сообщения национальном ещё можно цитировать отправителя при помощи аргументы Light имя. Саша получим всю информацию знаешь, что ты. Где у нас находится в месяц свойства чат свойства — это айди сообщение отправителя в месяц свойствами. подставим эти параметры в метод и напишем текст сообщения также. Если вы хотите наделить бот полезна функционалом то именно в этом методе должен быть код отвечающий за полезную логику дополнительный анализ выполнения действий и отправка ответа. Напомни, что помимо текста мы можем отправлять картинки звук контакты и так далее хорошо. Прощаемся классу бот продолжим доделывать инициализация добавить свойство типа ireadonlylist который будет хранить коллекцию команд назовем его команда так что-то не катит добавить дополнительное поле с типом лист которая будет хранить коллекцию команд. Ага И вот теперь мы можем сделать свойства так чтобы можно было возвращать коллекцию только для чтения добавим отсутствующие пространство имен и методы геттинг коллекцию команд и добавим туда нашу Hello команд собственно все остальные команды должны будут в дальнейшем инициализироваться вот тут ну основная логика готова осталось сделать контроллер по поводу Home Controller он мне нужен. Хотя может с ним сделать что-нибудь. Типа такого теперь делу добавляем новый контроллер из предложенного списка выбираем Web API 2 Controller займись Controller добавим ему метод типа мог резал и назовем его апдейт возвращать он будет. О'кей явно покажем ему маршрут при помощи атрибута Road он будет в следующем месяце будет. Хотя может быть любым не важно важно лишь то, что при.

0 комментариев
0

Читайте также