* AIOG-T-20 Bot API 4.8 * AIOG-T-20 Update aliases * AIOG-T-20 Add parse mode passing in sendPoll method * AIOG-T-20 Small changes in docs * AIOG-T-20 Revert overriding remove keyboard default value and add tests * AIOG-T-20 Bot API 4.8
2.5 KiB
Overview
aiogram now is fully support of Telegram Bot API v{!_api_version.md!}
All API methods and types is fully autogenerated from Telegram Bot API docs by parser with code-generator.
Package: aiogram.api
Methods
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 SendMessage
Full list of methods can be found in section "Methods"
Types
All types is also wrapped with pydantic and placed in aiogram.api.types package.
In this place makes some more differences with official documentations:
- name
fromwas renamed tofrom_userin due tofromis an keyword in python - timestamps has
datetime.datetimetype instead ofint - 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
Bot instance can be created from aiogram.Bot (#!python3 from aiogram import Bot) and you can't use API methods without instance of bot with configured token.
Constructor specification:
| Argument | Type | Description |
|---|---|---|
token |
#!python3 str |
Telegram Bot token (Obtained from @BotFather). |
session |
#!python3 Optional[BaseSession] |
HTTP Client session (For example AiohttpSession). If not specified it will be automatically created. |
parse_mode |
#!python3 Optional[str] |
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 sendMessage named 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.
Usage
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())