# Dispatcher Imports: - Recommended: `#!python3 from aiogram import Dispatcher` - Real location: `#!python3 from aiogram.dispatcher.dispatcher import Dispatcher` In code Dispatcher can be used directly for routing updates or attach another routers into dispatcher. !!! warning Dispatcher is root [Router](router.md) and can not be included into another routers. Here is only listed base information about Dispatcher. All about writing handlers, filters and etc. you can found in next pages: - [Router](router.md). - [Observer](observer.md). ## Simple usage Example: ```python3 dp = Dispatcher() @dp.message() async def message_handler(message: types.Message) -> None: await SendMessage(chat_id=message.from_user.id, text=message.text) ``` ## Including routers Example: ```python3 dp = Dispatcher() router1 = Router() dp.include_router(router1) ``` ## Handling updates All updates can be propagated to the dispatcher by `feed_update` method: ```python3 bot = Bot(...) dp = Dispathcher() ... async for result in dp.feed_update(bot=bot, update=incoming_update): print(result) ``` **Method specification**: | Argument | Type | Description | | --- | --- | --- | | `bot` | `Bot` | Bot instance related with current update object | | `update` | `Update` | Update object | | `**kwargs` | `Any` | Context related data. Will be propagated to handlers, filters and middlewares | ### Polling ... ### Webhook ...