Skip to content

hr telegram bot for PARMA Technologies Group.

Notifications You must be signed in to change notification settings

VladSmirN/parma_tgbot

Repository files navigation

CodeQL


Данный бот был разработан в ходе учебной практики в вузе, которую курировала PARMA Technologies Group. Целью проекта является оптимизация работы HR.

Основные разработчики

Почему вы должны выбрать нас?

  • Заточен для удобства использования обычными пользователями.
  • Полностью асинхронный, под копотом aiogram, что значит он справится с высокой нагрузкой.
  • Использован грамотный с точки зрения проектирования шаблон для создания масштабируемых ботов.
  • Сохраняет в MongoDB и берет из неё JSON-подобные данные.
  • Простота установки, мы позаботились о вас и подготовили необходимые докерфайлы.
  • Имеет утилиту собственной разработки, которая работает с календарем Outlook.
  • Вашему HR не нужно будет договариваться о времени встречи, мы сделаем это за вас.

Содержание

До установки

Предупреждение. Следующие шаги относятся к задачам настройки окружения и они требуют специальных навыков. Предполагается, что их будет выполнять DevOps вашей компании.

  • Убедитесь, что вы зарегистрировали бота в телеграме, сохраните полученный токен в безопасное время, дальше он нам пригодится.
  • Также нам поданибится нгрок-токен, который мы можем получить здесь
  • Позаботьтесь о создании аккаунта организации в Microsoft, у вас должен быть аккаунт с учетными записями, которые имеют лицензию Office 365 и Azure.

Для демонстрации мы использовали бесплатную 90-ти дневную подписку на программу разработчиков от Microsoft, которая предоставила нам песочницу с 16-тью автоматически-сгенерированными, лицензированными учетными записями и их аккаунт администратора.

  • Администратор вашей организации должен войти в Azure и завести новую регистрацию приложения, обязательно указав перенаправление на https://login.microsoftonline.com/common/oauth2/nativeclient. Здесь нам понадобятся индетификатор приложения и индетификатор каталога, в дальнейшем CLIENT_ID и TENANT_ID, соответственно.
  • Также он устанавливает секретный ключ, именуемый далее SECRET_ID, настраивая срок действия, сохраняет его в безопасное место.
  • Затем он должен добавить разрешения API и предоставить свое согласие. Таблица настроенных разрешений должна выглядеть следующим образом.
Имя API или разрешения Тип Описание Требуется согласие администратора Состояние
Microsoft Graph API (2)
Calendars.Read.Write Приложение Читать и записывать в календари всех почтовых адресов Да Предоставлено для вашей организации
User.Read Делегированные Входить в систему и читать профиль пользователя Нет Предоставлено для вашей организации

Установка и запуск

Клонируем репозиторий, командой:

git clone https://github.com/VladSmirN/parma_tgbot

Затем создаем файл с переменными окружения .env, в которые записываем следущие переменные:

Переменная Значение
MONGO_EXPRESS_USERNAME admin
MONGO_EXPRESS_PASSWORD ******
bot_token ******
NGROK_TOKEN ******
PROD_OR_DEV prod
CLIENT_ID ******
SECRET_ID ******
TENANT_ID ******

Запускаем бота следующей командой:

sudo docker-compose -f docker-compose.prod.yml up --build -d 

Использование

К сожалению, это только MVP, поэтому здесь много чего нет. Единственный способ установить HR и вакансии: зайти в Mongo Express. После добавления данных в соответствующие коллекции, бот будет корректно работать. Мы добавим хороший интерфейс следующими патчами.

Отдельное спасибо

Наш бот не состоялся бы, если не aiogram, aiogram-bot-template, loguru, pyngrok, motor, O365 Python

About

hr telegram bot for PARMA Technologies Group.

Topics

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages