Компоненты:
- Веб-приложение на FastAPI
- Веб-сервер Nginx
- База данных MongoDB
- Телеграм-бот на Aiogram 3
Возможности:
- Создание сообщения с помощью запроса к API или через бота
- Просмотр всех сообщений с помощью запроса к API или через бота
- Сохранение IP-адреса отправителя
- Сохранение username отправителя (при работе через бота — автоматически, при запросе к API — опционально, можно указать вручную)
Для запуска вам потребуется установить Docker.
- Клонировать проект с Github:
git clone https://github.com/moduleb/fastapi_aiogram_mongodb.git
- Перейти в папку проекта:
cd fastapi_aiogram_mongodb
- Создать файл .env, вписать токен от телеграм бота в формате TOKEN=ваш_токен:
nano .env
- Запустить приложение:
sudo docker compose up -d --build
- Остановить приложение:
sudo docker compose stop
Приложение доступно по адресу:
- на локальной машине http://0.0.0.0/:80
- на удаленном сервере http://<IP адрес сервера>:80
Принимает JSON с данными нового пользователя:
{
"content": "string",
"username": "string" #опционально
}
Возвращает данные созданного сообщения:
{
"content": "string", #текст сообщения
"host": "172.18.0.5", #ip адрес отправителя (локальный адрес, если отправлено через бота)
"username": "string" #гusername пользователя, если отправлено через бота (при запросе к апи, может быть указано опционально)
}
Возвращает все сохраненные сообщения:
[
{
"content": "test",
"host": "192.168.65.1",
"username": "user"
},
{
"content": "dfgtjh",
"host": "172.18.0.4",
"username": "popcorn138"
},
]