Skip to content

nuclear0077/CampBot

Repository files navigation

CampBot

About

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

Реализован метод регистрации и авторизации в боте для получения информации, также написал клиент для отправки запросов API к серверу.

Реализовано наполнение базы данных через веб интерфейс и API для получения информацию из базы данных.

Данный бот разрабатывался в коммерческих целях и обезличен.

Управление данным ботов и API CampBotControl

Documentation

Как запустить проект:

Клонировать репозиторий и перейти в него в командной строке:

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 пользователя и номер отдела для обновлении информации в БД.

Developer

About

CampBot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages