Для запуска веб-приложения на Flask и использования aiogram одновременно, вы можете использовать многопоточность или асинхронность.
Приведу пример использования асинхронности с помощью библиотеки asyncio.
Первым делом, вам потребуется установить aiogram и Flask:
```
pip install aiogram flask
```
Затем вы можете создать файл `runner.py` и использовать следующий код:
```python
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters import Command
from flask import Flask
from aiogram.dispatcher import Dispatcher, FSMContext
from aiogram.dispatcher.webhook import WebhookRequestHandler
import asyncio
# Инициализация Flask
app = Flask(__name__)
# Инициализация aiogram
TOKEN = 'your_token'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot, storage=MemoryStorage())
# Обработчик команды /start
@dp.message_handler(Command('start'))
async def start(message: types.Message, state: FSMContext):
await message.answer("Привет! Это твой первый бот на Flask и aiogram.")
# Функция для запуска aiogram
async def start_aiogram():
await dp.start_polling()
# Функция для запуска Flask
def start_flask():
app.run()
# Запуск асинхронных функций
asyncio.create_task(start_aiogram())
start_flask()
```
В этом примере Flask запускается с помощью обычной функции `start_flask()`, а aiogram с помощью асинхронной функции `start_aiogram()`. Используя `asyncio.create_task()`, мы можем запустить асинхронную функцию без блокировки выполнения кода.
В результате, вы сможете запустить оба веб-приложения `aiogram` и `Flask` одновременно.