Можешь запустить в отдельном процессе, что бы потом при необходимости иметь возможность остановить этот процесс:
from multiprocessing import Process
from flask import Flask
from aiogram import Bot, Dispatcher, executor, types
import config
app = Flask(import_name=__name__)
bot = Bot(token=config.BOT_TOKEN)
dispatcher = Dispatcher(bot=bot)
def bot_start_polling():
executor.start_polling(dispatcher=dispatcher, skip_updates=True)
@dispatcher.message_handler(commands=['start'])
async def bot_handler_start(message: types.Message):
await message.reply('Foo')
@app.get(rule='/start_bot')
def start_bot():
bot_process = Process(target=bot_start_polling)
bot_process.start()
return str(bot_process.pid)
if __name__ == '__main__':
app.run()
Но это очень тупо так делать, раз уж ты используешь flask, то повесь webhook и делай нормально. Любое решение помимо будет очень странным костылем.