'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №5 (86) том 2
  4. Научная статья № 101

Просмотры  164 просмотров

Клоков М.Г.

  


РАЗРАБОТКА TELEGRAM-БОТА ДЛЯ УПРАВЛЕНИЯ НАПОМИНАНИЯМИ С ИСПОЛЬЗОВАНИЕМ PYTHON *

  


Аннотация:
в статье описана разработка Telegram-бота, предназначенного для создания и управления напоминаниями. Основное внимание уделяется удобству взаимодействия пользователя с ботом через текстовые команды и встроенные кнопки. Использованы язык программирования Python, библиотека aiogram, планировщик задач apscheduler и база данных SQLite. Представлены возможности бота: установка напоминаний по времени, дате, таймеру, просмотр списка задач, удаление задач через интерфейс. Система отнесена к программам пользовательской помощи.   

Ключевые слова:
Телеграм-бот, напоминания, пользовательский интерфейс, планировщик задач   


В условиях цифровизации и повсеместного использования мобильных технологий возрастает потребность в интеллектуальных средствах автоматизации повседневных задач. Одной из таких задач является организация напоминаний о действиях, событиях или задачах, требующих внимания пользователя в определённый момент времени. Традиционные решения, такие как встроенные напоминания в мобильных операционных системах или специализированные приложения (например, Google Календарь или Todoist), зачастую оказываются избыточными, требуют отдельной авторизации, синхронизации или взаимодействия с внешними сервисами.В то же время, мессенджеры становятся важной частью повседневной цифровой коммуникации, и платформа Telegram — одна из наиболее популярных в России и странах СНГ. Telegram предоставляет открытое и хорошо документированное API, что позволяет разрабатывать собственные автоматизированные системы — ботов, которые могут выполнять широкий спектр функций.Telegram-боты обеспечивают удобный и привычный канал взаимодействия с пользователем: отправка сообщений, получение команд, отображение кнопок и меню. Это делает их эффективным инструментом для построения систем напоминаний, работающих внутри самого мессенджера, без необходимости переключения между приложениями.Целью данной работы является разработка и реализация Telegram-бота, предоставляющего пользователю функциональность установки, хранения, отображения и удаления напоминаний. Основной упор сделан на удобство использования, простоту команд и автономность работы (без серверной базы данных или внешнего API). В качестве инструментария используются язык программирования Python, асинхронная библиотека aiogram, встроенная база данных SQLite и планировщик задач apscheduler.Существует множество программных решений, направленных на организацию персональных напоминаний. Google Календарь — кроссплатформенное решение, позволяющее создавать события с уведомлениями, повторениями и интеграцией с другими сервисами Google. Однако для работы требуется интернет-соединение, а взаимодействие зачастую предполагает использование графического интерфейса и дополнительных действий со стороны пользователя. Todoist, Any.do, Microsoft To Do — специализированные приложения для управления задачами, в которых реализованы функции напоминаний, повторяющихся задач и синхронизации. Несмотря на богатый функционал, такие приложения часто перегружены возможностями, требуют отдельной регистрации и могут не подходить для быстрого создания простых напоминаний «в один клик». Встроенные напоминания в ОС (iOS/Android) — хотя эти инструменты удобны, они ограничены рамками конкретной операционной системы и плохо масштабируются в кросс-платформенной среде. Кроме того, пользователю приходится открывать отдельное приложение или пользоваться голосовыми ассистентами, что не всегда удобно или возможно. Основные недостатки существующих решений: отсутствие полноценной локальной автономности, необходимость установки отдельного приложения, слабая поддержка русского языка и произвольных формулировок, ограниченное взаимодействие через мессенджеры. Таким образом, возникает необходимость в разработке Telegram-бота, ориентированного на простоту взаимодействия, поддержку естественного языка и возможность локального хранения задач без внешних сервисов. Именно такие требования легли в основу настоящей работы.Выбор технологического стека для реализации Telegram-бота определялся критериями простоты интеграции, поддержки асинхронного взаимодействия, автономности и широкого распространения инструментов. В качестве языка программирования был выбран Python — высокоуровневый язык с богатой экосистемой и встроенной поддержкой асинхронности, что особенно важно при разработке чат-ботов.Для работы с Telegram Bot API применялась библиотека aiogram (версия 3.x), предоставляющая удобную маршрутизацию команд, обработку callback-запросов и интеграцию с asyncio. Она зарекомендовала себя как стабильное и гибкое решение для построения асинхронных Telegram-ботов.В качестве хранилища данных использована встраиваемая реляционная СУБД SQLite, не требующая установки серверной части. Это обеспечивает автономность работы бота и упрощает развертывание проекта. Связь с базой реализована через стандартный модуль sqlite3.Для отложенного исполнения напоминаний в проекте используется библиотека apscheduler, предоставляющая поддержку различных типов триггеров (в том числе DateTrigger для единичных задач), совместимость с асинхронными приложениями и управление задачами по уникальным идентификаторам. Благодаря своей надёжности и независимости от внешних систем, apscheduler позволяет точно планировать отправку напоминаний без необходимости в использовании cron-планировщиков или сторонних сервисов.Совокупность выбранных технологий обеспечивает надёжную и масштабируемую архитектуру бота с возможностью дальнейшего расширения функционала.Разработанный Telegram-бот реализован как асинхронное приложение с модульной логикой и локальным хранилищем данных. Архитектура включает пять основных компонентов: пользовательский интерфейс через Telegram API, модуль обработки команд, хранилище SQLite, планировщик задач apscheduler и обработчик callback-запросов. Пользователь отправляет команду, которая интерпретируется и преобразуется в запланированное действие. Вся информация о напоминаниях сохраняется в базе данных и одновременно регистрируется в планировщике. При запуске приложения происходит восстановление всех напоминаний из базы данных и повторная их регистрация в apscheduler, что отражено в листинге 1.Листинг 1. Код восстановления задач при запуске.Telegram-бот реализован на языке Python с использованием библиотеки aiogram, обеспечивающей удобную маршрутизацию команд и асинхронное взаимодействие с Telegram API. Команды пользователя разбираются вручную, включая конструкции вроде «напомни через 10 минут…» или «напомни в 14:30…». После обработки входной строки рассчитывается момент срабатывания напоминания и задача сохраняется в базе данных, а затем планируется через apscheduler, что отражено в листинге 2.Листинг 2. Код добавления задачи в планировщик.Для управления напоминаниями реализована команда /list, которая выводит активные задачи с inline-кнопками. Нажатие на кнопку вызывает удаление задачи из базы и отмену её в планировщике по ID (см. листинг 3).Листинг 3. Код удаления задачи по нажатию кнопки.Все компоненты работают в асинхронном режиме, обеспечивая мгновенный отклик, корректную обработку команд и высокую устойчивость к сбоям и перезапускам.Целью тестирования разработанного Telegram-бота являлась проверка корректности обработки пользовательских команд, устойчивости работы при перезапуске и адекватности взаимодействия с пользователем в различных сценариях. Тестирование проводилось вручную с последовательной фиксацией результатов, а также в полуавтоматическом режиме через симуляцию команд в чат-окне.Были выделены ключевые пользовательские сценарии, включающие: добавление напоминаний различных типов, получение списка задач, удаление задач через интерфейс и реакцию на некорректные команды. Особое внимание уделялось устойчивости бота при перезапуске — задачей было удостовериться, что напоминания сохраняются и восстанавливаются корректно. Результаты тестирования представлены в таблице 1.Таблица 1. Результаты тестирования Telegram-бота.Все основные сценарии были успешно пройдены. Бот корректно интерпретирует команды как в формате «через», так и с указанием даты/времени. Inline-интерфейс с кнопками оказался интуитивно понятным и стабильным. При перезапуске системы задачи из базы данных корректно восстанавливаются и заново планируются. Были выявлены незначительные уязвимости при вводе сильно искажённых команд (например, «через сто сто сто минут»), однако они не приводили к сбоям, лишь инициировали сообщения об ошибке.В результате работы был создан Telegram-бот, обеспечивающий установку, хранение и выполнение напоминаний с использованием естественных текстовых команд. Реализована поддержка временных интервалов, указания точного времени и даты, а также команды для просмотра и удаления задач. Использование SQLite и apscheduler позволило достичь автономности и устойчивости системы при перезапуске. Проведённое тестирование подтвердило корректную обработку команд, устойчивость интерфейса и надёжную работу логики напоминаний, что свидетельствует о достижении поставленной цели.Разработанный бот демонстрирует возможности создания надёжной системы пользовательских напоминаний на базе Telegram, Python и встраиваемых инструментов. Благодаря простой архитектуре и гибкой реализации он может служить основой для создания более сложных ассистентов с расширенным функционалом. Полученные результаты подтверждают целесообразность использования мессенджеров в качестве платформы для персонализированных сервисов.   


Полная версия статьи PDF

Номер журнала Вестник науки №5 (86) том 2

  


Ссылка для цитирования:

Клоков М.Г. РАЗРАБОТКА TELEGRAM-БОТА ДЛЯ УПРАВЛЕНИЯ НАПОМИНАНИЯМИ С ИСПОЛЬЗОВАНИЕМ PYTHON // Вестник науки №5 (86) том 2. С. 824 - 831. 2025 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/22929 (дата обращения: 20.07.2025 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/22929



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки © 2025.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.