Aiohttp + aiogram

Мне нужно запустить aiohttp сервер, одновременно с aiogram. Если выкидываю в другой поток, то RuntimeError: set_wakeup_fd only works in main thread of the main interpreter


Ответы (2 шт):

Автор решения: xllwhoami

Короче решил просто сервер отдельно запустить

→ Ссылка
Автор решения: politpedia

Посмотрите в сторону aiogram 3 версии (beta), а также на этот пример: aiogram 3 examples.

Примерно это будет выглядеть так:

from aiohttp.web_app import Application
from aiohttp.web import run_app
from aiogram.webhook.aiohttp_server import SimpleRequestHandler, setup_application

...

def main():
    ...
    app = Application()
    app["bot"] = bot
    SimpleRequestHandler(
        dispatcher=dp,
        bot=bot,
    ).register(app, path="/webhook")
    setup_application(app, dp, bot=bot)
    run_app(app, host="0.0.0.0", port=8081)

Регистрация роутеров для обработчиков выглядит следующим образом: app.router.add_post("/some_url", some_func)

→ Ссылка