Example of usage
import logging
from os import getenv
from typing import Annotated
from aiogram import Router, Bot, Dispatcher
from aiogram.types import Message, User
from aiogram3_di import setup_di, Depends
router = Router()
def get_user_full_name(event_from_user: User) -> str:
return event_from_user.full_name
@router.message()
async def start(
message: Message, full_name: Annotated[str, Depends(get_user_full_name)]
) -> None:
await message.answer(f"Hi {full_name}")
def main() -> None:
logging.basicConfig(level=logging.INFO)
bot = Bot(token=getenv("BOT_TOKEN"))
dp = Dispatcher()
dp.include_router(router)
setup_di(dp)
dp.run_polling(bot)
if __name__ == "__main__":
main()
Handler Dependencies.
You can use Depends in the flags parameter of the handler, for example:
flags={"dependencies": [Depends(verify_user)]}
Details
It is inspired by FastAPI.
If you define a normal def, your function will be called in a different thread.
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiogram3_di-2.0.0.tar.gz
(5.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiogram3_di-2.0.0.tar.gz.
File metadata
- Download URL: aiogram3_di-2.0.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.7.0 CPython/3.10.6 Linux/5.15.0-48-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a510a49dc0df93a65557ce36da0a10ce6c40438f0b329deb05388d0d7b5562f
|
|
| MD5 |
c4cdc900fa7c4e5ade10e273da4338ec
|
|
| BLAKE2b-256 |
22ad208497a05199e8f87ee594b8b8854c145f57af7b6dd2186758c3a0e870ce
|
File details
Details for the file aiogram3_di-2.0.0-py3-none-any.whl.
File metadata
- Download URL: aiogram3_di-2.0.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.7.0 CPython/3.10.6 Linux/5.15.0-48-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d91ccddfe26451681ae802f055db2ae71d732cb0711b3ba855ee6e4164bfdd96
|
|
| MD5 |
180170dd6d22102747ca3e377e81a590
|
|
| BLAKE2b-256 |
100ea7921ebd601734dbe7b7491e637ccea31252ee75966f54c50f0004125c2d
|