Информационный телеграм бот для образовательной компании. Бот написан с целью возможности получения информации сотрудниками организации о наличии различных образований и быстрое получения описания профилей.
Реализован метод регистрации и авторизации в боте для получения информации, также написал клиент для отправки запросов API к серверу.
Реализовано наполнение базы данных через веб интерфейс и API для получения информацию из базы данных.
Данный бот разрабатывался в коммерческих целях и обезличен.
Управление данным ботов и API CampBotControl
Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/nuclear0077/CampBot.git
cd CampBot
Cоздать и активировать виртуальное окружение:
python3 -m venv env
source env/bin/activate
Установить зависимости из файла requirements.txt:
python3 -m pip install --upgrade pip
pip install -r requirements.txt
Создать файл .env пример файла:
API_TOKEN_TELEGRAM = 'Токен телеграм выдает BotFather'
URL_API = 'URL сервера API'
API_TOKEN = 'Token авторизации API'
NAME_BOT = 'Имя польователя'
Запустить проект:
python3 main.py
Пользовательское меню.
При первом обращении к боту, например отправки команды /start отправляет запрос к API на существовании пользователя, если пользователь существует, проверяем, что пользователь активирован ключ is_active в таблице users.
Если пользователь не найден в БД, предлагается пройти регистрацию, нажав на кноку зарегистрироваться, после заполнения информации пользователем, отправляется запрос на регистрацию, далее приходит ответ с user_id который необходимо сообщить уполномоченному сотруднику для активации учетной записи через веб интерфейс, либо через меню бота, после активации пользователю отправляется сообщение об успешной активации учетной записи и приглашение перейти в главное меню.
В гланом меню пользователю доступна команда на отправку запроса о наличии типов образования и получения описания профилей. Для запуска процесса необходимо отправить команду /Факультеты, далее запрашивается информация пользователем ввиде кнопкок с возможностью вернуться назад ( реализовано через состояния ).
Административное меню.
Попасть в административное меню можно отправив команду /admin, далее отправляется запрос в API есть ли у пользователя административные права, поле 'admin' в БД users = True, далее пользователю предлагается отправить команду /Активировать для активации пользователя, запрашиваем user_id пользователя и номер отдела для обновлении информации в БД.
- Aleksandr M
- Telegram @nuclear0077