aiogram is a modern and fully asynchronous framework for Telegram Bot API written in Python using asyncio
Find a file
Kostiantyn Kriuchkov 068875534b
Examples/dev 3x refactor fix* (#1261)
* Refactor and improve bot messages

Refactored bot code to use aiogram enumerations and enhanced chat messages with markdown beautifications for a more user-friendly display.

CommandStart() is now used instead of Command('start') for readability.

Furthermore, the bot's 'stop' command was improved, ensuring it executes appropriately during KeyboardInterrupt or SystemExit.

Additionally, the bot's logging was adjusted to output to sys.stdout for better logs' readability.

* Added Changelog

* Add guidance comments on obtaining bot tokens from environment variables

* Remove hardcoded tokens, opt for environment variable

* Remove unnecessary spaces and reorganize imports

* Fix error, switch default storage from Redis to Memory, and add logging to multibot example

* fix changelog version

---------

Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
2023-08-13 17:56:32 +03:00
.butcher Added typehints for init methods of types and methods (#1245) 2023-08-04 00:30:27 +03:00
.github Small update in issues templates 2023-08-08 00:05:39 +03:00
aiogram Fixed nested hashtag, cashtag and email entnties parsing (#1263) 2023-08-13 17:55:35 +03:00
CHANGES Examples/dev 3x refactor fix* (#1261) 2023-08-13 17:56:32 +03:00
docs Added a few words about skipping pending updates (#1251) 2023-08-07 23:54:05 +03:00
examples Fixed line length 2023-08-13 17:01:21 +03:00
scripts #1191 Added possibility to pass custom headers to URLInputFile object (#1197) 2023-06-25 01:39:26 +03:00
tests Fixed nested hashtag, cashtag and email entnties parsing (#1263) 2023-08-13 17:55:35 +03:00
.apiversion Bump API version 2023-07-17 02:49:29 +03:00
.editorconfig Adding new code-generator (Butcher) (#1069) 2022-11-21 01:06:55 +02:00
.gitignore Migrate to hatchling (#1095) 2023-01-12 02:49:58 +02:00
.pre-commit-config.yaml Migrate to hatchling (#1095) 2023-01-12 02:49:58 +02:00
.readthedocs.yml Update .readthedocs.yml 2023-01-12 11:55:43 +02:00
CHANGES.rst Fixed typo in changelog 2023-08-07 23:57:04 +03:00
codecov.yaml Remove compatibility with Python 3.7 2021-05-25 01:00:36 +03:00
CONTRIBUTING.md Fixed contributing URL 2023-04-13 00:02:15 +03:00
HISTORY.rst towncrier integration (#647) 2021-08-01 19:08:03 +03:00
LICENSE [3.x] Bot API 6.0 (#890) 2022-04-19 22:03:24 +03:00
Makefile Bump texts translation files 2023-07-30 18:32:37 +03:00
pyproject.toml Added typehints for init methods of types and methods (#1245) 2023-08-04 00:30:27 +03:00
README.rst Update main page 2023-08-06 20:21:09 +03:00

#######################
aiogram |version badge|
#######################

.. image:: https://img.shields.io/pypi/l/aiogram.svg?style=flat-square
    :target: https://opensource.org/licenses/MIT
    :alt: MIT License

.. image:: https://img.shields.io/pypi/status/aiogram.svg?style=flat-square
    :target: https://pypi.python.org/pypi/aiogram
    :alt: PyPi status

.. image:: https://img.shields.io/pypi/v/aiogram.svg?style=flat-square
    :target: https://pypi.python.org/pypi/aiogram
    :alt: PyPi Package Version

.. image:: https://img.shields.io/pypi/dm/aiogram.svg?style=flat-square
    :target: https://pypi.python.org/pypi/aiogram
    :alt: Downloads

.. image:: https://img.shields.io/pypi/pyversions/aiogram.svg?style=flat-square
    :target: https://pypi.python.org/pypi/aiogram
    :alt: Supported python versions

.. image:: https://img.shields.io/badge/dynamic/json?color=blue&logo=telegram&label=Telegram%20Bot%20API&query=%24.api.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Faiogram%2Faiogram%2Fdev-3.x%2F.butcher%2Fschema%2Fschema.json&style=flat-square
    :target: https://core.telegram.org/bots/api
    :alt: Telegram Bot API

.. image:: https://img.shields.io/github/actions/workflow/status/aiogram/aiogram/tests.yml?branch=dev-3.x&style=flat-square
    :target: https://github.com/aiogram/aiogram/actions
    :alt: Tests

.. image:: https://img.shields.io/codecov/c/github/aiogram/aiogram?style=flat-square
    :target: https://app.codecov.io/gh/aiogram/aiogram
    :alt: Codecov

**aiogram** is a modern and fully asynchronous framework for
`Telegram Bot API <https://core.telegram.org/bots/api>`_ written in Python 3.8 using
`asyncio <https://docs.python.org/3/library/asyncio.html>`_ and
`aiohttp <https://github.com/aio-libs/aiohttp>`_.

Make your bots faster and more powerful!

Documentation:
 - 🇺🇸 `English <https://docs.aiogram.dev/en/dev-3.x/>`_
 - 🇺🇦 `Ukrainian <https://docs.aiogram.dev/uk_UA/dev-3.x/>`_


Features
========

- Asynchronous (`asyncio docs <https://docs.python.org/3/library/asyncio.html>`_, :pep:`492`)
- Has type hints (:pep:`484`) and can be used with `mypy <http://mypy-lang.org/>`_
- Supports `PyPy <https://www.pypy.org/>`_
- Supports `Telegram Bot API 6.7 <https://core.telegram.org/bots/api>`_ and gets fast updates to the latest versions of the Bot API
- Telegram Bot API integration code was `autogenerated <https://github.com/aiogram/tg-codegen>`_ and can be easily re-generated when API gets updated
- Updates router (Blueprints)
- Has Finite State Machine
- Uses powerful `magic filters <https://docs.aiogram.dev/en/dev-3.x/dispatcher/filters/magic_filters.html#magic-filters>`
- Middlewares (incoming updates and API calls)
- Provides `Replies into Webhook <https://core.telegram.org/bots/faq#how-can-i-make-requests-in-response-to-updates>`_
- Integrated I18n/L10n support with GNU Gettext (or Fluent)


.. warning::

    It is strongly advised that you have prior experience working
    with `asyncio <https://docs.python.org/3/library/asyncio.html>`_
    before beginning to use **aiogram**.

    If you have any questions, you can visit our community chats on Telegram:

    - 🇺🇸 `@aiogram <https://t.me/aiogram>`_
    - 🇺🇦 `@aiogramua <https://t.me/aiogramua>`_
    - 🇺🇿 `@aiogram_uz <https://t.me/aiogram_uz>`_
    - 🇰🇿 `@aiogram_kz <https://t.me/aiogram_kz>`_
    - 🇷🇺 `@aiogram_ru <https://t.me/aiogram_ru>`_
    - 🇮🇷 `@aiogram_fa <https://t.me/aiogram_fa>`_
    - 🇮🇹 `@aiogram_it <https://t.me/aiogram_it>`_
    - 🇧🇷 `@aiogram_br <https://t.me/aiogram_br>`_


.. |version badge| image:: https://img.shields.io/badge/-release%20candidate-yellow
  :alt: Release Candidate badge