Telegram-бот Управления кадров и делопроизводства УрГЮУ имени В.Ф. Яковлева.
- 📁 Каталог документов — заявления, справки, графики, инструкции
- 🔍 Поиск по ключевым словам — найти нужный документ по свободному запросу
- ✍️ Отзывы пользователей — форма обратной связи
- 📊 Сентимент-анализ — автоматический анализ тональности отзывов для администраторов
- 📬 Уведомления — мгновенное уведомление администраторов о новых отзывах
git clone https://github.com/pexp13/usla_bot_test.git
cd usla_bot_testcp .env.example .envОткрыть .env и заполнить:
BOT_TOKEN=ваш_токен_от_BotFather
ADMIN_IDS=ваш_telegram_idПолучить
BOT_TOKEN→ @BotFather
Узнать свой Telegram ID → @userinfobot
docker-compose up -dОтзывы сохраняются в папку ./data/feedbacks.json на хосте — не теряются при пересборке.
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
pip install -r requirements.txt
python usla_bot.pyusla-hr-bot/
├── usla_bot.py # Основной код бота
├── requirements.txt # Зависимости Python
├── Dockerfile # Docker-образ
├── docker-compose.yml # Docker Compose конфигурация
├── .env.example # Шаблон переменных окружения
├── .gitignore # Игнорируемые файлы
├── data/ # Создаётся автоматически
│ └── feedbacks.json # База отзывов (не попадает в git)
└── README.md
| Переменная | Обязательная | Описание |
|---|---|---|
BOT_TOKEN |
✅ | Токен Telegram-бота от @BotFather |
ADMIN_IDS |
❌ | ID администраторов через запятую (для уведомлений) |
FEEDBACK_FILE |
❌ | Путь к файлу отзывов (по умолчанию feedbacks.json) |
| Команда | Доступ | Описание |
|---|---|---|
/start |
Все | Главное меню |
/search |
Все | Поиск документов по ключевым словам |
/feedback |
Все | Оставить отзыв |
/reviews |
Админы | Статистика и список отзывов |
/help |
Все | Справка по командам |
/cancel |
Все | Отменить текущее действие |
Откройте usla_bot.py и найдите словарь DOCUMENTS. Добавьте новый документ в нужную категорию:
{
'name': 'Название документа',
'url': 'https://www.usla.ru/upload/main/ваш_файл.pdf',
'description': 'Краткое описание',
'keywords': ['ключевое', 'слово', 'синоним']
}Доступные категории: zayavleniya, spravki, grafiki, instruktsii.
- Файл
.envдобавлен в.gitignore— токен никогда не попадёт в репозиторий - Файл
feedbacks.jsonтоже в.gitignore— личные данные пользователей не публикуются - При использовании Docker отзывы хранятся в
./data/на хосте через volume
git pull
docker-compose up -d --buildMIT