Telegram-бот «Фонетический разбор слова» на Python | Статья в журнале «Юный ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Отличный выбор методов исследования Высокая практическая значимость Необычная тема исследования Актуальная тема исследования

Рубрика: Информатика

Опубликовано в Юный учёный №8 (71) сентябрь 2023 г.

Дата публикации: 01.08.2023

Статья просмотрена: 165 раз

Библиографическое описание:

Урбан, И. Б. Telegram-бот «Фонетический разбор слова» на Python / И. Б. Урбан, Е. Е. Симаков. — Текст : непосредственный // Юный ученый. — 2023. — № 8 (71). — С. 40-45. — URL: https://moluch.ru/young/archive/71/3883/ (дата обращения: 16.11.2024).



На сегодняшний день различные мессенджеры, такие как Telegram, используются не только для переписки с другом или поздравления с праздником. Для многих они стали одним из основных источников информации, средством делового общения, неотъемлемой частью ведения бизнеса. При этом количество пользователей постоянно растет. А для того, чтобы помочь владельцам крупных каналов в выполнении рутинных задач, были разработаны боты — небольшие приложения, которые самостоятельно выполняют заранее созданные задачи.

Ключевые слова: telegram, бот, python, программирование

О telegram -ботах

Сегодня telegram-боты — популярный способ получения, обработки и распространения информации. Боты используются многими сообществами, сервисами и отдельными пользователями сети Интернет. Telegram-бот работает непосредственно через интерфейс приложения Telegram, он имитирует действия «живого» пользователя. Многие компании, развивающие бизнес через глобальную сеть Интернет, используют возможности ботов для коммуникации с целевой аудиторией и выполнения однообразной рутинной работы (без использования наемных сотрудников). Однако их и в личных целях обычных пользователей. Идея данного проекта возникла следующим образом. Младший брат автора исследования учится во втором классе начальной школы. В настоящее время, в рамках школьной программы он изучает тему «Фонетический разбор слова», и иногда у него возникают некоторые трудности с корректным разбором слова. Улучшить навыки по данной теме может помочь telegram-бот. Его можно использовать для тренировки и при проверке домашних заданий, самоконтроле. При этом написанный алгоритм имеет возможность масштабирования и адаптации для решения не только данной конкретной задачи, но и серии схожих задач.

Telegram-бот состоит из двух частей: «backend» — внутренняя часть программы, отвечающая за обработку информации; «frontend» — визуализация данных и взаимодействие с пользователем. Новые боты создаются с помощью специальной утилиты « @BotFather » от создателя платформы Telegram, Павла Дурова. В Telegram используется один общий вид ботов, которых от обычных пользователей отличает только наличие приставки «bot» в имени. Сами же боты делятся на несколько направлений:

— Чат-боты, имитирующий общение на заданную тематику.

— Боты-информаторы о тех или иных событиях (новости, мероприятия).

— Игровые боты — в основном, это текстовые версии разных игр.

— Боты-асистенты, разработанные онлайн-сервисами как дополнение к основной веб-версии.

О разработке telegram-бот ов

Для написания telegram-бота использовался язык программирования Python. Язык Python имеет несколько стандартных примеров использования при разработке приложений, в числе которых Веб-разработка на стороне сервера (backend). Она включает в себя сложные серверные функции, с помощью которых веб-сервисы отображают информацию для пользователя. Например, веб-сайты должны взаимодействовать с базами данных и другими веб-сайтами, а также защищать данные при их отправке по сети. Одним из преимуществ языка Python является наличие большого количества свободно распространяемых библиотек — наборов часто используемых функций, которые разработчики могут включать в свои программы Python, чтобы не писать код с нуля. По умолчанию в Python доступна стандартная библиотека, которая содержит большое количество многократно используемых функций. Кроме того, доступно более 137 000 библиотек Python для различных задач. Чтобы использовать библиотеки в программе, нужно их сначала установить в консоли командой « pip install__ ». Далее в коде программы, перед использованием библиотеки нужно импортировать её командой import__ или from __ import__. В данном проекте использовалась библиотека «aiogram», которая предоставляет наиболее полный объем функций для создания telegram-ботов.

Общий алгоритм работы любого telegram-бота достаточно прост:

— бот имеет токен (уникальный набор цифр и букв), по которому устанавливается соединение программного обеспечения с ботом;

— сообщения, команды и запросы, отправленные пользователями, передаются на программное обеспечение, запущенное на серверах разработчиков;

— получая сообщение или команду, бот действует по заданному сценарию.

С помощью библиотеки «aiogram» данный общий алгоритм реализуется следующим образом. Библиотека использует стандартный токен telegram-бота и устанавливает соединение с платформой Telegram. Далее, с помощью блока кода handler telegram-бот «ловит» сообщения пользователя либо по определенному тексту, либо по команде. Под каждый handler (блок кода, отвечающий за получение сообщений от пользователей и формирование ответов) необходимо создать функцию, описывающую действия бота после срабатывания хэндлера. По данному алгоритму бот будет обрабатывать информацию и отправлять ответ человеку.

В примере, приведенном далее, хэндлер получает сообщение «/start» и отправляет человеку в ответ сообщение «Привет».

Разработка telegram -бота «Фонетический разбор слова»

Далее приведены основные этапы создания telegram-бота для фонетического разбора слова. Сначала создадим основной функционал программы — то есть разбор слова. Затем напишем работу бота в телеграмме.

Для проверки слова и его фонетического разбора, нужна справочная информация. Создадим в отдельном файле «мини словарик».

Чтобы этим словариком можно было пользоваться, импортируем эти справочные списки в файл с основными функциями

Первая функция будет преобразовывать заданное пользователем слово в список из букв это слова, для дальнейшей работы с ним. В ней работает цикл, который «пробегает» по слову занося каждую букву в список. В конце функция соответственно вернёт список из букв заданного слова.

Вторая функция «sound_count», в свою очередь, берёт за исходные данные список, который составит предыдущая функция. В ней также за основу берётся цикл, который проверяет каждую букву с помощью созданного нами «мини словарика» и определяет, сколько звуков она даёт. Выводит эта функция ужу строку типа «n букв и x звуков».

Третья функция «every_let» будет составлять характеристику звука каждой буквы. Код данной функции занимает 215 строк, поэтому опишем его алгоритм без листинга. За входные данные функция принимает список букв, созданный первой функцией, но к нему добавляется ещё один параметр, указываемый пользователем — номер ударного слога, в слове. С помощью цикла «пробегает» по списку букв и подробно описывает звуки, даваемые каждой буквой. В начале функции создаётся главный список «sounds» для характеристик звуков. А цикл записывает каждую характеристику как ещё один временный список «snd1» и его добавляет в главный список. В конце функция вернёт объёмный основной список «sounds».

В начале основного файла импортируем библиотеку aiogram, токен и справочные списки из «словарика»

Создадим первый Handler. Реагировать он будет на команду «start», в ответ поприветствует и отправит инструкцию пользования.

Создадим второй хандлер. Реагировать он будет на команду «f»: «вырезать» слово и номер ударного слога из сообщения пользователя и передавать функциям для расчета. В нём будет функция, преобразовывающая большой список характеристик звуков из третьей функции «every_let» в читабельное сообщение. И это сообщение он отправит пользователю.

Запуск telegram -бота «Фонетический разбор слова»

После завершения написания полного кода готовой программы, её нужно запустить на исполнение, а также разместить на одном из публичных сайтов в глобальной сети Интернет для постоянной работы. Это можно сделать несколькими способами:

  1. Запустить программу на своём компьютере с постоянным доступом в сеть Интернет, но тогда ПК должен быть постоянно включен, что сопровождается затратами электроэнергии и трафика доступа в сеть.
  2. Запустить на сторонних облачных сервисах: Heroku, AWS, Replit.
  3. Запустить на домашнем сервере, при этом необходимо знать особенности настройки сетевого оборудования.

Конечно, способ необходимо выбирать, исходя из целей проекта и возможностей разработчика. В рамках данного исследования оптимальным является второй способ. А именно, бот был размещен на бесплатном сервисе Replit, от создателей портала GitHub. По факту это редактор программного кода, доступный онлайн, с авторизацией и сохранением проектов в облаке.

На публичном ресурсе Replit можно запускать свой собственный код, но в бесплатной версии тарифа он выключится через 30 минут. Однако, есть способ обойти данное ограничение. Этот способ изложен на популярном информационном ресурсе habr.com. Cуть метода заключается в том, что к основному файлу добавляется функция keep_alive() из дополнительного файла, которая запускает небольшой сайт на библиотеке flask.

Также потребуется использование сторонней службы мониторинга «UpTimerRobot», которая по настройке будет заходить на сайт каждые 5 минут. Тем самым будет создавать иллюзию «живого» пользователя из-за чего Replit будет думать, что на сайт постоянно кто-то заходит, и продлевать время работы.

Заключительным этапом является проверка работоспособности telegram-бота. Для чего в поисковой строке Telegram вписываем имя пользователя бота «@FoneticAnaliz_bot». Далее пишем «/start» или нажимаем на кнопку Запустить. В ответ получаем приветствие и инструкцию по пользованию.

Следуя инструкции, отправляем сообщение с запросом фонетического разбора слова, например, «кукла»:

Убеждаемся, что разработанный telegram-бот работает. Кроме того, любой желающий может проверить работоспособность telegram-бота, найдя его по имени пользователя, указанному выше.

Литература:

  1. Гаско, Р. Простой Python просто с нуля / Р. Гаско — М.: Солон-Пресс, 2019. — 256с. — ISBN 978–5-91359–334–4.
  2. Мэтиз, Э. Рик Гаско Простой Python просто с нуля / Э. Мэтиз — С-Пб.: Питер, 2020. — 512с. — ISBN 978–5-4461–1528–0.
  3. Портал «Habr» — URL: https://habr.com/ru/all/ (дата обращения: 24.01.2023).
  4. Портал «tlgrm». Статья «Боты: информация для разработчиков» — URL: https://tlgrm.ru/docs/bots (дата обращения: 03.12.2022).


Ключевые слова

программирование, Telegram, python, бот

Похожие статьи

Разработка алгоритма и программного обеспечения для шифрования данных

Человечество за всю свою историю никогда не развивалось так быстро, как в новейшем времени. Если раньше компьютер могла купить только крупная компания, то сейчас его может позволить себе каждый. Вместе с компьютером в жизнь людей прочно вошел интерне...

Современные интернет-технологии и безопасность личности

На этапе появления «открытый» и «свободный» Интернет в настоящее время стал использоваться для тотального контроля, ограничения доступа к информации и различного рода манипуляций. Различные Интернет-компании и сетевые структуры используют многочислен...

Проблемы размещения бизнес-логики в клиентской части веб-приложений

Интернет с каждым днем охватывает все большее количество сфер жизнедеятельности человека. Вместе с развитием глобальной сети и ростом производительности персональных вычислительных устройств, расширяются и возможности разработки интернет-ресурсов. На...

Роботы. История и реалии

Роботы становятся хорошими помощниками человеку, заметно облегчая его труд. Робототехника — это новая наука, которая не только интересна детям и взрослым, но и полезна, потому что помогает развивать инженерное мышление и искать новые способы для дост...

Дополненная и виртуальная реальность в образовании

Компьютерные технологии активно используются в образовательном процессе практически в каждом уголке земного шара. Однако, до сих пор продолжаются споры между педагогами о пользе и вреде компьютерных игр, что ограничивает их применение. Тем не менее, ...

Смс-сокращения в английском и русском языках. Их сходства и различия

Данная статья очень актуальна, так как ни один человек во всем мире не может обойтись без такого современного устройства, как телефон. Телефон для нас нетолько средство для вербального общения, но и для быстрого обмена сообщениями, которые могут быть...

Роль хэширования в работе «белого хакера»

Алгоритмы защиты информации берут свое начало в Римской империи, когда предпринимались первые попытки зашифровать информацию, чтобы она не попала к посторонним людям. Однако любой человек, знающий путь составления шифра мог получить засекреченную инф...

Разработка веб-приложения «Семейный органайзер»

В статье рассматриваются способы организации повседневной семейной жизни. Предлагается разработка веб-приложения, которое позволит управлять задачами, семейным бюджетом и совместными списками покупок. Основное внимание уделяется этапам разработки веб...

Компьютерная интеграция в производство. Эксплуатация в различных сферах деятельности

Мультимедийный характер воздействия компьютера на человека привел к тому, что вырос рынок виртуальных игр, видеохостингов, сайтов кинофильмов. Возможность производить большое количество манипуляций с данными за короткий промежуток времени дала старт ...

Программы-шпионы (прилипалы) в интернете

В статье представлена информация, взятая из открытых источников информации, о программах, которые считывают информацию в ходе разговора у разговаривающего или осуществляют прослушивание разговоров людей, находящихся рядом с разговаривающим. Проанализ...

Похожие статьи

Разработка алгоритма и программного обеспечения для шифрования данных

Человечество за всю свою историю никогда не развивалось так быстро, как в новейшем времени. Если раньше компьютер могла купить только крупная компания, то сейчас его может позволить себе каждый. Вместе с компьютером в жизнь людей прочно вошел интерне...

Современные интернет-технологии и безопасность личности

На этапе появления «открытый» и «свободный» Интернет в настоящее время стал использоваться для тотального контроля, ограничения доступа к информации и различного рода манипуляций. Различные Интернет-компании и сетевые структуры используют многочислен...

Проблемы размещения бизнес-логики в клиентской части веб-приложений

Интернет с каждым днем охватывает все большее количество сфер жизнедеятельности человека. Вместе с развитием глобальной сети и ростом производительности персональных вычислительных устройств, расширяются и возможности разработки интернет-ресурсов. На...

Роботы. История и реалии

Роботы становятся хорошими помощниками человеку, заметно облегчая его труд. Робототехника — это новая наука, которая не только интересна детям и взрослым, но и полезна, потому что помогает развивать инженерное мышление и искать новые способы для дост...

Дополненная и виртуальная реальность в образовании

Компьютерные технологии активно используются в образовательном процессе практически в каждом уголке земного шара. Однако, до сих пор продолжаются споры между педагогами о пользе и вреде компьютерных игр, что ограничивает их применение. Тем не менее, ...

Смс-сокращения в английском и русском языках. Их сходства и различия

Данная статья очень актуальна, так как ни один человек во всем мире не может обойтись без такого современного устройства, как телефон. Телефон для нас нетолько средство для вербального общения, но и для быстрого обмена сообщениями, которые могут быть...

Роль хэширования в работе «белого хакера»

Алгоритмы защиты информации берут свое начало в Римской империи, когда предпринимались первые попытки зашифровать информацию, чтобы она не попала к посторонним людям. Однако любой человек, знающий путь составления шифра мог получить засекреченную инф...

Разработка веб-приложения «Семейный органайзер»

В статье рассматриваются способы организации повседневной семейной жизни. Предлагается разработка веб-приложения, которое позволит управлять задачами, семейным бюджетом и совместными списками покупок. Основное внимание уделяется этапам разработки веб...

Компьютерная интеграция в производство. Эксплуатация в различных сферах деятельности

Мультимедийный характер воздействия компьютера на человека привел к тому, что вырос рынок виртуальных игр, видеохостингов, сайтов кинофильмов. Возможность производить большое количество манипуляций с данными за короткий промежуток времени дала старт ...

Программы-шпионы (прилипалы) в интернете

В статье представлена информация, взятая из открытых источников информации, о программах, которые считывают информацию в ходе разговора у разговаривающего или осуществляют прослушивание разговоров людей, находящихся рядом с разговаривающим. Проанализ...

Задать вопрос