Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Releases

Packages

Contributors

Languages