Skip to content

XanderMoroz/EORA_APIBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EORA_APIBot (FastAPI + SQLAlchemy + Telebot)

Описание проекта

EORA_APIBot представляет собой телеграм бота (pyTelegramBotApi), отличающего кота от хлеба. Чтобы принять решение бот ведет диалог с пользователями, задавая ему вопросы. На основе ответов пользователя бот принимает решение. Бот прошел тестирование автоматическое(unittest) и ручное тестирование. К боту прилагается асинхронный backend-сервис(FastAPI) для хранения всей переписки пользователей с ботом. На этот сервис от бота отправляется(requests) каждое сообщение. Переписка доступна для чтения, редактирования и удаления. Управление базой данных реализуется посредством ORM(SQLAlchemy).База данных - SQLite. Бот доступен по адресу: BreadOrCatbot

Стек технологий

В ходе создания проекта применялись различные инстументы и технологии. Они представлены ниже:

Python PyCharm FastAPI SQLite Markdown

Краткая документация API

Объектом сервиса и базы данных выступает сообщение(TGMessage). Он имеет следующий вид:

{
  "id": 0,
  "chat_id": 0,
  "task": "string"
}

Объект имеет три поля: идентификатор сообщения(id), идентификатор диалога(chat_id) и текст сообщения(text). Работа с объектами осуществляется по следующим эндпоинтам:

Method HTTP request Description
[/create_message] POST /tgmessage Добавление нового сообщения.
[/read_message] GET /tgmessage/{id} Извлечение сообщения по ID.
[/update_message] PUT /tgmessage/{id} Редактирование сообщения по ID.
[/delete_message] DELETE /tgmessage/{id} Удаление поста по ID.
[/tgmessages] GET read_message_list Извлечение всех сообщений списком.

Исчерпывающую информацию по работе API можно получить после запуска по адресу http://127.0.0.1:8000/docs Документация на основе Swagger, в соответствии со стандартом OpenAPI .

Инструкция по установке для среды Windows или OS (используйте терминал)

  1. Клонируете репозиторий
git clone https://github.com/XanderMoroz/EORA_APIBot.git
  1. Уставливаете, распаковываете и активируете виртуальное окружение (virtual environment)
pip install virtualenv

python -m venv env  

.\env\Scripts\activate  
  1. Уставливаете зависимости проекта. Их всего 4 (fastapi, telebot, sqlalchemy, requests). Можно вручную или командой:
pip install fastapi sqlalchemy telebot requests
  1. Запускаете API:
uvicorn main:app --reload 
  1. Открываете второй терминал для запуска параллельного процесса. Переходите в директроию "telebot" и запускаете бота(CatOrBreadBot.py):
cd telebot

python CatOrBreadBot.py  
  1. Общайтесь с ботом и наблюдайте работу сервиса. Наслаждайтесь результатом)

Лицензия

MaffinWare

Авторы

About

Диалоговый телеграмм бот отличающий кота от хлеба.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published