'
Токарев Э.А., Галимянов Ф.А.
СТРУКТУРИРОВАНИЕ ОБРАБОТЧИКОВ В TELEGRAM-БОТАХ ДЛЯ ОПТИМИЗАЦИИ ВЗАИМОДЕЙСТВИЯ *
Аннотация:
в данной статье рассказывается, для каких целей можно использовать телеграмм бота, а также объясняется процесс разработки телеграмм бота на языке Python с использованием библиотеки pyTelegramBotAPI.
Ключевые слова:
телеграмм боты, обработчики сообщений, создание бота, информационные технологии
Цель данной работы – написать собственного телеграмм бота, изучить, как он устроен и продемонстрировать его в действии.Задачи:1. Выяснить, для каких задач можно использовать бота.2. Проинструктировать, как создать своего бота.3. Изучить принципы работы телеграмм-бота.1. Для чего используются телеграмм-боты. • Получение данных.Телеграмм-боты могут выдавать данные по запросу, такие как сведения о погоде, обменных курсах, актуальных новостях и т.д.• Взаимодействие.Боты могут служить для взаимодействия с людьми через телеграм, например, для пересылки текстов, изображений, видеоклипов и звуковых файлов.• Автоматизация процессов.Боты способны облегчить автоматизацию разнообразных процессов, например, для установки напоминаний, организации заданий, рассылки сообщений по заданному графику и прочего.• Развлечение.Имеются телеграм-боты, разработанные для развлекательных целей, например, для участия в играх, создания шуток, прохождения тестов и прочего.• Ведение бизнеса.Боты могут найти применение в коммерции для автоматизации взаимодействия с клиентами, например, для обработки заказов, реагирования на запросы и прочего.• Обучение.Боты могут быть применены в обучающих целях, например, для изучения иностранных языков, доступа к образовательным ресурсам и прочего.2. Как создать собственного телеграмм ботаУстановка PyCharm Community Edition на компьютер.Чтобы изучить принципы работы телеграмм-бота более детально, необходимо сначала его создать и запустить в PyCharm. PyCharm - это интегрированная среда разработки (IDE), которую можно использовать для создания Python-программ. Программу можно скачать с официального сайта: https://www.jetbrains.com/pycharm/download/.Получение токена бота.Перед созданием бота в Telegram вам необходимо иметь учетную запись Telegram и установленное приложение Telegram. После этого вы можете создать бота, перейдя к BotFather по ссылке: https://telegram.me/BotFather. Как только вы отправите ему сообщение “/start”, BotFather отправит вам инструкцию по созданию нового бота.После прохождения данных инструкций, он предоставит вам токен доступа, который нужно сохранить в надёжном месте. Он понадобится далее.Установка pyTelegramBotAPI.Мы будем использовать библиотеку pyTelegramBotAPI. Откройте PyCharm Community Edition, создайте новый проект и установите её, выполнив следующую команду в терминале PyCharm: pip install pyTelegramBotAPI (рис 1.).Рисунок 1. Открытие терминала и установка Telegram API. Импортирование модуля telebot, создание бота (рис 2.).Рисунок 2. Импортирование telebot.После выполнения всех этих действий можно начинать писать код для нашего бота.3. Принцип работы Телеграмм-бота. Telebot использует обработчики сообщений (рис 3.) для реагирования на сообщения от пользователей. Обработчики сообщений могут быть определены для различных типов сообщений, таких как текстовые сообщения, фотографии, видео и другие.Рисунок 3. Обработчик для любого текстового сообщения.“@bot.message_handler” – это обработчик сообщений. В данном случае он производит обработку любого сообщения, содержащего текст.“@def send_methods(msg)” – это функция, вызываемая обработчиком. В нашем случае она принимает входящее от пользователя сообщение “msg”.Обратим внимание на метод “bot.send_message()”. С помощью него бот может общаться с пользователем. Внутри круглых скобок метода сначала передаётся “msg.chat.id”, который нужен для того, чтобы бот отправил сообщение только тому пользователю, кто ему написал. Далее можно в кавычках задать текст, который бот воспроизведёт.Чтобы можно было запустить бота, необходимо в самом конце программы дописать одну строчку (рис 4.).Рисунок 4. Запуск цикла ожидания сообщений от Telegram.Теперь давайте запустим бота и проверим, как он работает. Для этого нажмите на зелёную кнопку Run (рис 5.) и зайдите в диалог с вашим ботом. Если вы не знаете, как открыть диалоговое окно, то перейдите в BotFather и найдите сообщение подобного формата “@NAME_bot” и нажмите на него (NAME – имя бота, которого вы регистрировали).Рисунок 5. Запуск бота.Как мы уже знаем, бот на любое текстовое сообщение ответит этой фразой. Но что если отправить цифры в сообщении? (рис. 6.).Рисунок 6. Демонстрация работы бота.Интересный факт: цифры тоже относятся к текстовой информации, но не будем зацикливаться на этом.Обработчики могут срабатывать не только на тип сообщения, но и на строго определённые команды. Достаточно лишь придумать название команды и вписать её в обработчик, например: “commands=[‘команда’]”.Давайте теперь напишем бота, у которого есть обработчики команд и отдельный обработчик текста, который будет правильно расположен (рис 7.).Рисунок 7. Более сложный бот с обработчиками команд и обработчиком текста в конце.Давайте запустим этого бота и напишем команду “/start” (рис 8.).Рисунок 8. Демонстрация команды старт.При получении сообщения, бот проверяет каждый обработчик. В данном случае сразу же сработал самый первый обработчик “start”, а все остальные обработчики даже не будут проверяться, пока не исполнится код из первого обработчика. В нашем случае бот исполнил весь код (нам пришло ответное сообщение). Теперь быстро проверим остальные команды (рис 9.).Рисунок 9. Демонстрация остальных команд.Обратите внимание, что, если отправить команду без символа “/”, бот распознает это сообщение, как текст (рис 10.).Рисунок 10. Важность написания символа "/" для команд.Что происходит в данном случае? Сначала проверяется обработчик команды “start”, но из-за того, что текст не является командой, он не срабатывает. Затем по цепочке проверяются все остальные обработчики, и только в последнюю очередь проверяется текстовый обработчик, который срабатывает. Если бы обработчик текста был в самом начале, то мы никогда бы не получили ответ от команд, так как всегда срабатывал бы самый первый обработчик, а остальные даже бы не проверялись.Заключение.Использование обработчиков сообщений в Telegram-ботах является ключевым элементом для эффективного взаимодействия с пользователями. Основываясь на типах сообщений, таких как текст, фото или видео, или конкретных командах начинающихся с символа "/", можно настраивать бота, чтобы он реагировал адекватно и целенаправленно на каждый тип взаимодействия. При этом, порядок расположения обработчиков играет критическую роль, поскольку бот проверяет их последовательно, что подчеркивает важность стратегического планирования в разработке бота. Обработчики позволяют боту не только эффективно управлять потоком коммуникаций, но и обеспечивать пользовательский опыт, понимая и правильно реагируя на различные формы входящих сообщений. Это создает возможности для разработчиков создавать более умные и адаптируемые инструменты автоматизации, способные обслуживать широкий спектр запросов и потребностей пользователей.
Номер журнала Вестник науки №5 (74) том 1
Ссылка для цитирования:
Токарев Э.А., Галимянов Ф.А. СТРУКТУРИРОВАНИЕ ОБРАБОТЧИКОВ В TELEGRAM-БОТАХ ДЛЯ ОПТИМИЗАЦИИ ВЗАИМОДЕЙСТВИЯ // Вестник науки №5 (74) том 1. С. 523 - 532. 2024 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/14277 (дата обращения: 06.12.2024 г.)
Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2024. 16+
*