Научно-образовательный журнал для студентов и преподавателей «StudNet» №12/2020
СОЗДАНИЕ ТЕЛЕГРАМ-БОТА С ПОМОЩЬЮ СРЕДЫ РАЗРАБОТКИ
VISUAL STUDIO
CREATION TELEGRAM BOT WITH THE VISUAL STUDIO DEVELOPMENT ENVIRONMENT
УДК 004.62
Журавлев Александр Александрович, студент, Уральский федеральный университет им. Б. Н. Ельцина, ИРИТ-РтФ, г. Екатеринбург
Zhuravlev A.A. [email protected]
Аннотация
Бот - это компьютерная программа, фактически виртуальный собеседник, который работает на основе установленных правил и алгоритмов. Сегодня чат-ботов можно встретить в различных сферах, например, в бизнесе (консультирование клиента по продукту). В данной статье предлагается описание процесса создания Телеграм-бота, который отвечает пользователю, написавшего ему сообщение по следующему шаблону: «Вы написали: 'текст, отправленный пользователем'». Для создания бота используется консольное приложение среды разработки Visual Studio, а также пакет Telegram.Bot из
диспетчера пакетов NuGet. Результат создания бота и присвоение ему определенного функционала можно считать успешным.
Annotation
A bot is a computer program, in fact, a virtual interlocutor that works on the basis of established rules and algorithms. Today chat bots can be found in various fields, for example, in business (consulting a client on a product). This article offers a description of the process of creation a Telegram bot, which responds to the user who wrote him a message using the following template: «You wrote: 'text sent by user'». The bot is created using the Visual Studio development environment console application, as well as the Telegram.Bot package from NuGet packages manager. The result of creation a bot and assigning a certain functionality to it can be considered successful.
Ключевые слова: создание, Телеграм-бот, среда разработки, Visual Studio.
Keywords: creation, Telegram-bot, development environment, Visual Studio.
Введение
Бот - это компьютерная программа, фактически виртуальный собеседник, который работает на основе установленных правил и алгоритмов. Он умеет импортировать человеческое поведение во время общения с потенциальным клиентом [1].
Сегодня чат-ботов можно встретить в различных сферах, например, в бизнесе (консультирование клиента по продукту).
Чтобы понять, как работают боты необходима разработка собственного бота. В данной статье в качестве объекта исследования будет выбран Телеграм-бот.
Цель статьи - с помощью консольного приложения среды разработки Visual Studio разработать Телеграм-бота, который может общаться с пользователем, написавшем ему сообщение.
Материалом исследования является приложение Телеграм.
В статье используется эмпирический метод исследования, поскольку основной источник результатов - моделирование.
Постановка задачи
С помощью консольного приложения среды разработки Visual Studio разработать Телеграм-бота, который отвечает пользователю, написавшему ему сообщение, по следующему шаблону: «Вы написали: 'текст, отправленный пользователем'».
Создание бота
Для создания бота, в первую очередь, необходимо добавить в контакты Telegram BotFather. Далее выполнить настройку разрабатываемого бота. Алгоритм создания бота следующий:
1. В чате BotFather выбирается команда работы с ботом: в данном случае команда /newbot (новый бот) (рисунок 1).
2. Далее боту присваивается имя (tutorialBot) (рисунок 2).
3. И наконец, создается пользовательское имя бота (messageTutorial_bot) (рисунок 3).
4. После чего пользователь получает сообщение об успешном создании бота, а также токен (адрес, по которому можно взаимодействовать с ботом) (рисунок 4).
Результаты создания Телеграм-бота представлены ниже.
Рисунок 1 - Выбор функции /newbot
Рисунок 2- Присвоение имени боту
Рисунок 3 - Создание пользовательского имени бота
Done! Congratulations on your new bat You will find it at t.me/messageTutorial_bot.You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot ping our Bot Su pport if you wa nt a better u sern a m e for it. Just mate sure the bot is fully operational before you do this,
Use this token to access the HTTP API: 11005 9 S312: AAF t>6c a Z kTF a 5 n fl2KflO™ -nOfyOlzERno-M
Keep your token secure and store it safely, it can be used by anyone to control your bot.
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
Рисунок 4 - Успешное создание бота и получение токена
Работа с ботом
Создадим бота, который будет отвечать пользователю, написавшему ему сообщению, по следующему шаблону: «Вы написали: 'текст, отправленный пользователем'».
На рисунке 5 представлено отправка сообщения созданного бота без обратной связи.
Рисунок 5 - Отправка сообщение боту без обратной связи
Для того чтобы наделить бота определенным функционалом необходимо написать соответствующий код. С помощью консольного приложения среды разработки Visual Studio создадим такой код.
Для работы с Телеграм-ботом необходимо загрузить пакет Telegram.Bot из Диспетчера пакетов NuGet (рисунок 6).
ТЫ 6ot Aft n т MTTP-be$ed r*tff«ce otaled <or on buridng boto for Те*ефви»
Рисунок 6 - Установка пакета Telegram.Bot для работы с ботом
Ниже представлен код, который наделяет бота функционалом, описанном в разделе «Постановка задачи». using System; using Telegram.Bot; using Telegram.Bot.Args;
namespace TelegramBot
{
class Program {
private static TelegramBotClient client;
static void Main(string[] args) {
client = new
TelegramBotClient(" 1100598312:AAFb6caZkTFa5nR2xROrw-nOfyDlzERJo-M") { Timeout = TimeSpan.FromSeconds(10) }; ;
var me = client.GetMeAsync().Result;
Console.WriteLine($"ID бота: {me.Id}. Имя бота: {me.FirstName}");
client.OnMessage += OnMessage; client.StartReceiving();
Console.ReadKey();
}
public static async void OnMessage(object sender, MessageEventArgs e) {
var text = e?.Message?.Text;
if(text == null) {
return;
}
Console.WriteLine($"Получено сообщение: '{text}' в чате '{e.Message.Chat.Id}'");
await client.SendTextMessageAsync(chatId: e.Message.Chat, text: $"Вы написали: '{text}'").ConfigureAwait(false);
}
}
Результат работы программы представлен на рисунках 7 и 8.
ID бота: 110059S312. Имя бота: tutorialBot
Рисунок 7 - Данные созданного бота
Получено сообщение: '/start' в 12941091161 Получено сообщение: "Привет" в "294109116" Получено сообщение: "Привет!" в "294109116"
Рисунок 8 - Сообщения, которые бот получает от пользователя
После написания программного кода, отправим сообщение Телеграм-боту. Как видно из рисунка 9, бот выполняет необходимый функционал: отвечает по шаблону «Вы написали: 'текст, отправленный пользователем'».
Рисунок 9 - Обратная связь от бота
Заключение
В данной статье представлено создание простого Телеграм-бота с помощью консоли в среде разработки Visual Studio. Функция бота заключается в том, чтобы ответить пользователю, который ему пишет. Для разработки бота, в первую очередь, нужно добавить в контакты Telegram BotFather, после чего выполнить настройки создаваемого бота. Далее в Visual Studio разрабатывается код, который позволяет боту отвечать по следующему шаблону: «Вы написали: 'текст, отправленный пользователем'». Результат создания и присвоения боту определенного функционала можно считать успешным.
Литература
1. Чат-боты в маркетинге и бизнесе: функции, роли, возможности [Электронный ресурс]. URL: https://www.epochta.ru/blog/articles/chat-bots/
}
2. Задачи, которые решают чат-боты [Электронный ресурс]. URL: https://www.cossa.ru /trends/190984/
3. Бхаргава А.. Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих. - СПб.: Питер, 2017. - 288 С.
4. Дасгупта С. Алгоритмы / С. Дасгупта, Х. Пападимитриу, У. Вазирани; Пер. с англ. под ред. А. Шеня. — М.: МЦНМО, 2014. — 320 С.
5. Клейнберг, Дж., Тардос Е.. Алгоритмы: разработка и применение. Классика Computers Science / Пер. с англ. Е. Матвеева. — СПб.: Питер, 2016. — 800 С.
6. Седжвик, Роберт, Уэйн, Кевин. Алгоритмы на Java, 4-е изд.: Пер. с англ. - М. : ООО «И.Д. Вильямс», 2013. - 848 С.
Literature
1. Chatbots in marketing and business: functions, roles, opportunities [Electronic resource]. URL: https://www.epochta.ru/blo g/articles/chat-bots/
2. Tasks that chat bots solve [Electronic resource]. URL: https://www.cossa.ru /trends/190984/
3. Bhargava A.. Grokah algorithms. Illustrated guide for programmers and curious. - St. Petersburg: Peter, 2017 . - 288 P.
4. Dasgupta S. Algorithms / S. Dasgupta, H. Papadimitriou, U. Wazirani; Translate from English under the editorship of A. Shen. - M: 2014. - 320 P.
5. Kleiberg J., Tardos E.. Algorithms: development and application. Classic Computers Science / Translate from Eng E. Matveeva. - St. Peterburg: Peter, 2016. - 800 P.
6. Sedgwick, Robert, Wayne, Kevin. Algorithms in Java, 4th ed.: Translate from English - M.: LLC «I.D. Williams», 2013. - 848 P.