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:
Egor 2021-03-14 19:20:37 +03:00 committed by GitHub
parent 9bb3a5dccf
commit b2b7ddb639
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View 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)