Lightweight wrapper over aiogram 3.x
Project description
re_aiogram
re_aiogram is a lightweight wrapper over aiogram 3.x that keeps the familiar aiogram API while simplifying bot development and adding extra features.
The goal of the project is to stay fully compatible with aiogram, but provide a cleaner and more convenient developer experience.
Install
pip install re_aiogram
import re_aiogram
Features
- familiar aiogram-style API
- simplified bot startup without explicit dispatcher
- router auto-loading
- built-in MediaGroup support
- aiogram-compatible imports
Quick Start
from re_aiogram import Bot, Message
from re_aiogram.filters import Command
API_TOKEN = "YOUR_API_TOKEN"
bot = Bot(token=API_TOKEN)
@bot.message(Command("start"))
async def cmd_start(message: Message):
await message.answer(
"Hi! I am a Telegram bot powered by re_aiogram!"
)
bot.run(logging_enabled=True)
MediaGroup Handler
Built-in support for Telegram media groups.
from re_aiogram import Bot, Message
from re_aiogram.filters import F
from re_aiogram.types import MediaGroup
bot = Bot(token="TOKEN")
@bot.message(F.media_group_id)
async def handle_album(message: Message, media_group: MediaGroup):
await message.answer_media_group(media_group)
media_group contains the collected media group messages.
Properties
| Property | Description |
|---|---|
media_group.count |
Returns the number of media items in the group. |
media_group.caption |
Returns the first caption found in the group (Telegram sends caption only on the first item). Returns None if no caption is present. |
media_group.captions |
Returns a list of all captions from the group. |
media_group.messages |
Returns a copy of the original Message objects from the group. |
media_group.photos |
Returns a list of Message objects that contain photos. |
media_group.videos |
Returns a list of Message objects that contain videos. |
media_group.documents |
Returns a list of Message objects that contain documents. |
media_group.audio |
Returns a list of Message objects that contain audio files. |
media_group.is_mixed |
Returns True if the album contains different media types (e.g., photos and videos together). |
Routers
Router connection is simplified with bot.load()
Project structure
project/
│
├── main.py
└── handlers/
└── start.py
main.py
from re_aiogram import Bot
API_TOKEN = "YOUR_API_TOKEN"
bot = Bot(token=API_TOKEN)
bot.load("handlers.start")
bot.run(logging_enabled=True)
handlers/start.py
from re_aiogram import router, Message
from re_aiogram.filters import Command
@router.message(Command("start"))
async def start(message: Message):
await message.answer("Router connected!")
Future improvements
These features are planned for upcoming versions and are not yet part of the core API.
Flow System (FSM alternative)
A lightweight state/flow system replacing traditional FSM:
- step-based flow control
ctx.next()andctx.back()- shared
ctx.data - parallel flows via
scope() - simple chain-based conversation handling
Example concept:
@router.message(Command("register"))
async def register(message: Message, ctx: FlowContext):
await message.answer("What is your name?")
ctx.next(get_name)
Philosophy
re_aiogram tries to make Telegram bot development:
- simpler
- cleaner
- less boilerplate-heavy
- more beginner-friendly
while still preserving compatibility with the aiogram ecosystem.
License
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 re_aiogram-0.1.0.tar.gz.
File metadata
- Download URL: re_aiogram-0.1.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68e1dd4391f27b4c9e2e38a2a4cd58b66280bf9f3e4d77dcb724e4b65f228c81
|
|
| MD5 |
1748eedf9c717692bfda1b6e4761fb36
|
|
| BLAKE2b-256 |
bdef7a7919d2fd3d3feacecd2bf8008d56d74ffd810e61fc128b606914a42518
|
File details
Details for the file re_aiogram-0.1.0-py3-none-any.whl.
File metadata
- Download URL: re_aiogram-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30822811f2a96806ce2fce237e9f4f4cc4ed05ecd7ada839d71d42115b88e7fb
|
|
| MD5 |
45ae6b8c50d36e5782c6a683d58b1648
|
|
| BLAKE2b-256 |
187ef3ee974c4d598d91267c3d0b6e6f3cc783e69b436eb24597c10de2faf866
|