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
This commit is contained in:
parent
1e2fe72aca
commit
1a93979be4
1 changed files with 38 additions and 0 deletions
38
examples/separate_api_route_example.py
Normal file
38
examples/separate_api_route_example.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# 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
|
||||
|
||||
import logging
|
||||
import ssl
|
||||
import asyncio
|
||||
import requests
|
||||
from aiogram import Bot, Dispatcher, types
|
||||
from aiogram.dispatcher.webhook import configure_app
|
||||
from aiogram.utils.exceptions import BotBlocked
|
||||
|
||||
|
||||
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 handle
|
||||
# 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