mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
feat: an example of intergration between externally created Application and dispatcher (#433)
* feat: an example of intergration between externally created Application and dispatcher * fix: imports * chore: fix EOF * chore: fix comment
This commit is contained in:
parent
9bb3a5dccf
commit
b2b7ddb639
1 changed files with 34 additions and 0 deletions
34
examples/separate_api_route_example.py
Normal file
34
examples/separate_api_route_example.py
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# NOTE: This is an example of an integration between
|
||||
# externally created Application object and the aiogram's dispatcher
|
||||
# This can be used for a custom route, for instance
|
||||
|
||||
from aiogram import Bot, Dispatcher, types
|
||||
from aiogram.dispatcher.webhook import configure_app
|
||||
from aiohttp import web
|
||||
|
||||
|
||||
bot = Bot(token=config.bot_token)
|
||||
dp = Dispatcher(bot)
|
||||
|
||||
|
||||
|
||||
@dp.message_handler(commands=["start"])
|
||||
async def cmd_start(message: types.Message):
|
||||
await message.reply("start!")
|
||||
|
||||
|
||||
# handle /api route
|
||||
async def api_handler(request):
|
||||
return web.json_response({"status": "OK"}, status=200)
|
||||
|
||||
|
||||
app = web.Application()
|
||||
# add a custom route
|
||||
app.add_routes([web.post('/api', api_handler)])
|
||||
# every request to /bot route will be retransmitted to dispatcher to be handled
|
||||
# as a bot update
|
||||
configure_app(dp, app, "/bot")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
web.run_app(app, port=9000)
|
||||
Loading…
Add table
Add a link
Reference in a new issue