Боты позволяют минимизировать время для каких-либо однотипных действий. Если быть точнее - с помощью бота мы можем автоматизировать и оптимизировать какие-либо рутинные процессы.
Существует множество ботов, которые выполняют разные и интересные функции. Как пример можно взять Telegram-бота от Яндекс, который переводит присланное предложение пользователя на выбранный им язык, бот-антивирус от Dr.web, который проверяет файл на вирусы, киноман бот, с помощью которого можно выбрать фильм по своим предпочтениям.
В работе была поставлена задача разработать Telegram-бота для ИУЦТ, благодаря которому можно будет узнать расписание: учебных групп, преподавателей, аудиторий, также посмотреть различные нормативные документы (лицензия, аккредитация и т.д.).
Python – это универсальный современный язык программирования высокого уровня, к преимуществам которого относят высокую производительность программных решений и структурированный, хорошо читаемый код. Синтаксис Питона максимально облегчен, что позволяет выучить его за сравнительно короткое время. Ядро имеет очень удобную структуру, а широкий перечень встроенных библиотек позволяет применять внушительный набор полезных функций и возможностей. ЯП может использоваться для написания прикладных приложений, а также разработки WEB-сервисов. Python может поддерживать широкий перечень стилей разработки приложений, в том числе, очень удобен для работы с ООП и функционального программирования. Питон активно развивается. Примерно раз в 2 года выходят обновления. Важной особенностью языка является отсутствие таких стандартов кодировки как ANSI, ISO и некоторых других, они работают благодаря интерпретатору.
PostgreSQL — это популярная свободная объектно-реляционная система управления базами данных. PostgreSQL базируется на языке SQL и поддерживает многочисленные возможности. Преимущества PostgreSQL: поддержка БД неограниченного размера, мощные и надёжные механизмы транзакций и репликации, расширяемая система встроенных языков программирования и поддержка загрузки C-совместимых модулей, наследование, легкая расширяемость.
Библиотека telebot для создания телеграм-бота, types для создания удобной интерактивной клавиатуры бота, time для того, чтобы делать паузу в 0.7 секунды между ответами бота, psycopg2 для подключения PostgreSQL к нашему проекту и defaultdict для оптимизации хэш-таблицы.
Написание кода для создания функций и команд, с помощью которых можно будет просматривать различные расписания или документы. Создаются 2 команды: start для начала работы бота и menu для получения главного меню. 4 функции для вывода определенных данных из БД (таблицы: schedule_group, schedule_ people, schedule_ room, regulations). Функция home, которая возвращает в главное меню. Также была реализована кнопочная клавиатура пользователя для того, чтобы облегчить работу с ботом.
Кнопка “Запустить” реализует команду start, которая выведет немного справочной информации и кнопку menu.
После нажатия на кнопку срабатывает команда menu, которая показывает главное меню пользователя, где он может выбрать то, что ему нужно (расписание аудиторий или другие таблицы).
- Работа с TelegramAPI в Python [сайт] URL: https://tlgrm.ru/docs/bots/samples#python
- Руководство по Python 3.xx версии [сайт] URL: https://metanit.com/python/tutorial/
- Руководство по PostgreSQL [сайт] URL: https://habr.com/ru/post/340460/
- Пример Telegram-бота на Python [сайт] URL: https://thecode.media/python-bot/
- Работа с PostgreSQL в Python [сайт] URL: https://habr.com/ru/post/317394/