Этот шаблон используется для разработки ботов Telegram с использованием библиотеки aiogram v3.0+
.
В коде приведены примеры таблицы User с использованием SQLAlchemy 2.0 и скрипты для Alembic (инициализация Alembic, создание и применение миграций).
Однако, если вы никогда не работали с этими инструментами, обратитесь к документации и узнайте больше о них. Также у меня есть англоязычный курс по этим инструментам на Udemy.
- Скопируйте
.env.dist
в.env
и заполните необходимые данные. - Создайте новые хендлеры.
- Docker:
- Можете сразу запускать проект с Docker, а если у вас его нет, то скачайте и установите.
- Запустите проект командой
docker-compose up
.
- Без Docker:
- Создайте venv.
- Установите зависимости из requirements.txt:
pip install -r requirements.txt --pre
. - Запустите проект командой
python3 bot.py
.
Создайте модуль your_name.py
в папке handlers
.
Создайте роутер в your_name.py
.
from aiogram import Router
user_router = Router()
Можно создавать несколько роутеров в одном модуле и присваивать хендлеры каждому из них. Можно регистрировать хендлеры с помощью декораторов:
@user_router.message(commands=["start"])
async def user_start(message):
await message.reply("Привет, обычный пользователь!")
Перейдите в файл handlers/__init__.py
и добавьте все роутеры в него:
from .admin import admin_router
from .echo import echo_router
from .user import user_router
...
routers_list = [
admin_router,
user_router,
echo_router, # echo_router must be last
]
Перейдите к файлу bot.py
и включите наши роутеры:
from tgbot.handlers import routers_list
...
async def main():
...
dp.include_routers(*routers_list)
...
Видеоуроков пока нет, но @Groosha уже начал создавать свой учебник.