aiogram now is fully support of Telegram Bot API v4.9
All API methods and types is fully autogenerated from Telegram Bot API docs by parser with code-generator.
All API methods is wrapped as pydantic models and placed in
aiogram.api.methods package so that's mean all values which you pass as arguments to the methods will be validated.
Here is all methods is classes and in due to Python standards all classes named in upper camel case, for example methods
sendMessage has the name
Full list of methods can be found in section "Methods"
All types is also wrapped with pydantic and placed in
In this place makes some more differences with official documentations:
fromwas renamed to
from_userin due to
fromis an keyword in python
- timestamps has
datetime.datetimetype instead of
- InputFile is used for sending files and is not use
pydantic.BaseModelas base class
Full list of methods can be found in section "Types"
Bot instance can be created from
from aiogram import Bot) and you can't use API methods without instance of bot with configured token.
||Telegram Bot token (Obtained from @BotFather).|
||HTTP Client session (For example AiohttpSession). If not specified it will be automatically created.|
||Default parse mode. If specified it will be propagated into the API methods at runtime.|
This class has aliases for all API methods and named in
lower_camel_case. For example
send_message and has the same specification with all class-based methods.
Here you can pass default parse mode (argument
parse_mode) and this value will be used in all API methods automatically.
import asyncio from os import getenv from aiogram import Bot async def main(): async with Bot(token=getenv("TELEGRAM_TOKEN"), parse_mode="HTML").context() as bot: await bot.send_message(61043901, "<b>Hello, World!</b>") if __name__ == "__main__": asyncio.run(main())