mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-11 18:01:04 +00:00
* 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
59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
# Overview
|
|
|
|
**aiogram** now is fully support of [Telegram Bot API v{!_api_version.md!}](https://core.telegram.org/bots/api)
|
|
|
|
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](https://pydantic-docs.helpmanual.io/) 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](methods/index.md)"
|
|
|
|
## Types
|
|
|
|
All types is also wrapped with [pydantic](https://pydantic-docs.helpmanual.io/) and placed in `aiogram.api.types` package.
|
|
In this place makes some more differences with official documentations:
|
|
|
|
- name `from` was renamed to `from_user` in due to `from` is an [keyword in python](https://docs.python.org/3/reference/lexical_analysis.html#keywords)
|
|
- timestamps has `datetime.datetime` type instead of `int`
|
|
- InputFile is used for sending files and is not use `pydantic.BaseModel` as base class
|
|
|
|
Full list of methods can be found in section "[Types](types/index.md)"
|
|
|
|
## 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](https://t.me/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
|
|
```python3
|
|
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())
|
|
```
|