Telegram-бот канала института

ВВЕДЕНИЕ

Боты позволяют минимизировать время для каких-либо однотипных действий. Если быть точнее - с помощью бота мы можем автоматизировать и оптимизировать какие-либо рутинные процессы.

Существует множество ботов, которые выполняют разные и интересные функции. Как пример можно взять Telegram-бота от Яндекс, который переводит присланное предложение пользователя на выбранный им язык, бот-антивирус от Dr.web, который проверяет файл на вирусы, киноман бот, с помощью которого можно выбрать фильм по своим предпочтениям.

В работе была поставлена задача разработать Telegram-бота для ИУЦТ, благодаря которому можно будет узнать расписание: учебных групп, преподавателей, аудиторий, также посмотреть различные нормативные документы (лицензия, аккредитация и т.д.).

Общая характеристика инструментария

Общая характеристика Python

Python – это универсальный современный язык программирования высокого уровня, к преимуществам которого относят высокую производительность программных решений и структурированный, хорошо читаемый код. Синтаксис Питона максимально облегчен, что позволяет выучить его за сравнительно короткое время. Ядро имеет очень удобную структуру, а широкий перечень встроенных библиотек позволяет применять внушительный набор полезных функций и возможностей. ЯП может использоваться для написания прикладных приложений, а также разработки WEB-сервисов. Python может поддерживать широкий перечень стилей разработки приложений, в том числе, очень удобен для работы с ООП и функционального программирования. Питон активно развивается. Примерно раз в 2 года выходят обновления. Важной особенностью языка является отсутствие таких стандартов кодировки как ANSI, ISO и некоторых других, они работают благодаря интерпретатору.

Общая характеристика PostgreSQL

PostgreSQL — это популярная свободная объектно-реляционная система управления базами данных. PostgreSQL базируется на языке SQL и поддерживает многочисленные возможности. Преимущества PostgreSQL: поддержка БД неограниченного размера, мощные и надёжные механизмы транзакций и репликации, расширяемая система встроенных языков программирования и поддержка загрузки C-совместимых модулей, наследование, легкая расширяемость.

Работа с PostgreSQL

Создание таблицы schedule_group

image image

Создание таблицы schedule_people

image image

Создание таблицы schedule_room

image image

Создание таблицы regulations

image image

Работа с Python и TelegramAPI

Импорт библиотек и подключение к БД

Библиотека telebot для создания телеграм-бота, types для создания удобной интерактивной клавиатуры бота, time для того, чтобы делать паузу в 0.7 секунды между ответами бота, psycopg2 для подключения PostgreSQL к нашему проекту и defaultdict для оптимизации хэш-таблицы.

image

Создание команд и функций Telegram-бота

Написание кода для создания функций и команд, с помощью которых можно будет просматривать различные расписания или документы. Создаются 2 команды: start для начала работы бота и menu для получения главного меню. 4 функции для вывода определенных данных из БД (таблицы: schedule_group, schedule_ people, schedule_ room, regulations). Функция home, которая возвращает в главное меню. Также была реализована кнопочная клавиатура пользователя для того, чтобы облегчить работу с ботом.

Команда /start

image

Команда /menu

image

Функция для возврата в главное меню

image

Обработка и вывод расписания учебных групп

image

Обработка и вывод расписания аудиторий

image

Обработка и вывод расписания преподавателей

image

Обработка и вывод нормативных документов

image

Работа Telegram-бота

Кнопка “Запустить” реализует команду start, которая выведет немного справочной информации и кнопку menu.

Первый запуск

image

Работа /start и кнопка /menu

image

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

Главное меню бота

image

Расписание группы

image

image

image

Расписание аудитории

image

image

image

Расписание преподавателя

image

image

Нормативные документы университета

image

image

Список использованных источников

  1. Работа с TelegramAPI в Python [сайт] URL: https://tlgrm.ru/docs/bots/samples#python
  2. Руководство по Python 3.xx версии [сайт] URL: https://metanit.com/python/tutorial/
  3. Руководство по PostgreSQL [сайт] URL: https://habr.com/ru/post/340460/
  4. Пример Telegram-бота на Python [сайт] URL: https://thecode.media/python-bot/
  5. Работа с PostgreSQL в Python [сайт] URL: https://habr.com/ru/post/317394/