Skip to content

moduleb/job_request_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python FastAPI Aiogram MongoDB Docker

Компоненты:

  • Веб-приложение на FastAPI
  • Веб-сервер Nginx
  • База данных MongoDB
  • Телеграм-бот на Aiogram 3

Возможности:

  • Создание сообщения с помощью запроса к API или через бота
  • Просмотр всех сообщений с помощью запроса к API или через бота
  • Сохранение IP-адреса отправителя
  • Сохранение username отправителя (при работе через бота — автоматически, при запросе к API — опционально, можно указать вручную)

Запуск:

Для запуска вам потребуется установить Docker.

  1. Клонировать проект с Github:
  git clone https://github.com/moduleb/fastapi_aiogram_mongodb.git
  1. Перейти в папку проекта:
  cd fastapi_aiogram_mongodb
  1. Создать файл .env, вписать токен от телеграм бота в формате TOKEN=ваш_токен:
nano .env
  1. Запустить приложение:
sudo docker compose up -d --build
  1. Остановить приложение:
sudo docker compose stop

Эндпоинты:

Приложение доступно по адресу:

  • на локальной машине http://0.0.0.0/:80
  • на удаленном сервере http://<IP адрес сервера>:80

[post] .../api/v1/messages

Принимает JSON с данными нового пользователя:

{
  "content": "string",
  "username": "string" #опционально
}

Возвращает данные созданного сообщения:

{
    "content": "string", #текст сообщения
    "host": "172.18.0.5", #ip адрес отправителя (локальный адрес, если отправлено через бота)
    "username": "string" #гusername пользователя, если отправлено через бота (при запросе к апи, может быть указано опционально)
}

[get] .../api/v1/messages

Возвращает все сохраненные сообщения:

[
    {
        "content": "test",
        "host": "192.168.65.1",
        "username": "user"
    },
    {
        "content": "dfgtjh",
        "host": "172.18.0.4",
        "username": "popcorn138"
    },
]

About

Telegram-бот для принятия заявок

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages