Этот документ содержит пошаговый сценарий демонстрации проекта "HR Notification Bot" для преподавателя РЭУ им. Г.В. Плеханова.
cd /Users/rekruizer/Coding/HR
source venv/bin/activatepython main.pyВы должны увидеть:
============================================================
HR NOTIFICATION BOT - Система HR-уведомлений
============================================================
🌐 Запуск REST API на http://localhost:5001
🤖 Запуск Telegram бота...
✅ Telegram бот запущен и готов к работе!
Система готова! Теперь у вас работают:
- ✅ Telegram бот - для взаимодействия через мессенджер
- ✅ REST API - для автоматизации через HTTP-запросы
- Откройте бота в Telegram
- Отправьте команду
/start - Покажите преподавателю: Появились кнопки для быстрого доступа
Что говорить:
"Это интерфейс для взаимодействия сотрудников с HR. Через Telegram они могут быстро получать информацию, не заходя в корпоративные системы."
- Нажмите кнопку "📰 Новости" (или
/news) - Покажите: Красиво отформатированный список новостей
Что говорить:
"Сотрудники всегда имеют доступ к актуальным новостям от HR-отдела."
- Нажмите "👥 Сотрудники" (или
/company) - Покажите: Список с разделением на администраторов и сотрудников
Что говорить:
"Система автоматически показывает структуру компании и роли пользователей."
Это ключевая часть! Здесь вы показываете автоматизацию.
Для преподавателя: Покажите что Postman - это инструмент для тестирования API, который используют разработчики и системные администраторы.
Запрос:
GET http://localhost:5001/api/health
Ответ:
{
"status": "ok",
"message": "HR Notification Bot API is running",
"version": "1.0.0"
}Что говорить:
"API работает. Это позволяет любой внешней системе интегрироваться с нашей системой уведомлений."
Запрос:
GET http://localhost:5001/api/users
Ответ:
{
"status": "success",
"count": 2,
"users": [
{
"username": "denisyuce",
"full_name": "Denis Yuce",
"is_admin": true,
"created_at": "2025-10-16 08:20:45"
},
{
"username": "mark",
"full_name": "Mark Ivanov",
"is_admin": false,
"created_at": "2025-10-16 08:20:45"
}
]
}Что говорить:
"Через API можно получить данные о сотрудниках программно. Например, корпоративный портал может запросить эту информацию."
Запрос:
POST http://localhost:5001/api/news
Content-Type: application/json
{
"text": "Завтра офис не работает - выходной день!"
}
Ответ:
{
"status": "success",
"message": "News added successfully",
"news": "Завтра офис не работает - выходной день!"
}Теперь проверьте в Telegram:
- Откройте бота
- Нажмите "📰 Новости"
- Покажите: Новая новость появилась в списке!
Что говорить:
"Новость добавлена через API и автоматически стала доступна всем сотрудникам в Telegram. Это демонстрирует интеграцию - HR может добавлять новости из любой системы."
Запрос:
POST http://localhost:5001/api/broadcast
Content-Type: application/json
{
"message": "Внимание всем! Важное объявление от HR-отдела: завтра состоится общее собрание в 10:00"
}
Ответ:
{
"status": "success",
"message": "Broadcast completed",
"sent": 2,
"failed": 0,
"total_users": 2
}Проверьте Telegram:
- Откройте бота
- Покажите: Пришло сообщение от бота с объявлением!
Что говорить:
"Это ключевая функция автоматизации! Один HTTP-запрос - и сообщение доставлено всем сотрудникам. Представьте: в компании работает корпоративная система (например, 1C). При важном событии она отправляет один запрос к нашему API, и ВСЕ сотрудники мгновенно получают уведомление в Telegram. Не нужно вручную обзванивать или писать каждому - всё автоматически!"
Запрос:
POST http://localhost:5001/api/send
Content-Type: application/json
{
"username": "mark",
"message": "Марк, напоминаю про встречу с HR в 15:00"
}
Ответ:
{
"status": "success",
"message": "Message sent to mark",
"recipient": "mark"
}Проверьте Telegram (если у вас доступ к аккаунту Марка):
- Сообщение пришло только Марку, остальные не получили
Что говорить:
"Система также поддерживает персонализированные уведомления. HR может отправлять индивидуальные сообщения конкретным сотрудникам."
- Один запрос → массовая рассылка
- Не нужно вручную информировать каждого сотрудника
- Экономия времени HR-отдела
- REST API позволяет подключить любую систему
- Корпоративный портал, CRM, 1C - все могут отправлять уведомления
- Универсальный протокол (HTTP/JSON)
- Telegram установлен у большинства сотрудников
- Push-уведомления на телефон
- Работает 24/7
- Система ролей (администраторы / сотрудники)
- Только HR может отправлять массовые сообщения
- История всех новостей сохраняется в БД
- Легко добавить новых пользователей
- Можно расширить функционал (отпуска, больничные, документы)
- База данных SQLite - простая и надежная
- Python 3 - язык программирования
- python-telegram-bot - библиотека для работы с Telegram API
- Flask - веб-фреймворк для REST API
- SQLite - встроенная база данных
- bot.py - логика Telegram бота
- api.py - REST API эндпоинты
- main.py - запуск обеих систем одновременно
- database.py - работа с базой данных
| Метод | URL | Описание |
|---|---|---|
| GET | /api/health | Проверка работоспособности |
| GET | /api/users | Список всех пользователей |
| POST | /api/news | Добавить новость |
| POST | /api/broadcast | Массовая рассылка |
| POST | /api/send | Личное сообщение |
Ответ:
"В компании с 100+ сотрудниками HR тратит много времени на рассылку объявлений. С нашей системой достаточно интегрировать корпоративный портал с API, и любое объявление автоматически доходит до всех сотрудников. Например:
- Новый сотрудник → автоматическое приветственное сообщение
- Приближается дедлайн → напоминание в Telegram
- Изменение графика работы → мгновенное уведомление всех"
Ответ:
"Telegram:
- Установлен у большинства пользователей
- Бесплатный API без ограничений
- Push-уведомления на телефон
- Не требует установки дополнительных приложений
- Простой и понятный интерфейс"
Ответ:
"Да! Архитектура проекта позволяет легко добавить поддержку других платформ (WhatsApp, Slack, VK и т.д.). Достаточно написать адаптер для их API, сохранив REST API нашей системы без изменений."
Ответ:
"В системе реализована ролевая модель: только администраторы HR могут отправлять массовые сообщения и добавлять новости. В production-версии можно добавить:
- API-ключи для авторизации запросов
- HTTPS шифрование
- Логирование всех действий
- Двухфакторную аутентификацию"
- Система запущена (
python main.py) - Postman установлен и настроен
- Telegram бот отвечает на команды
- API возвращает ответы на запросы
- Подготовлены примеры JSON для POST-запросов
- Телефон с Telegram открыт для демонстрации уведомлений
# 1. Переход в папку проекта
cd /Users/rekruizer/Coding/HR
# 2. Активация виртуального окружения
source venv/bin/activate
# 3. Запуск системы
python main.pyГотово! Откройте Postman и Telegram - можете демонстрировать.
Удачи на защите! 🎓