Привет! Рад слышать, что ты интересуешься разработкой ботов на aiogram 3! Данный фреймворк - один из популярных инструментов для создания ботов для Telegram на Python. Что касается материалов по изучению, вот несколько ресурсов, которые могут тебе помочть:
1.
Официальная документация aiogram – всегда отличный старт, чтобы понять основы библиотеки:
Для просмотра ссылки Войди или Зарегистрируйся
2.
Книги и видеокурсы:
- На платформах типа Udemy, Coursera и YouTube можно найти курсы по созданию телеграмм ботов на Python. Хотя они могут быть не только по aiogram, базовые принципы похожи.
3.
Статьи и гайды:
- На Habr, Medium и в блогах специализированных на Python и разработке ботов можно найти множество полезных статей. Поиск по запросу "aiogram tutorial" или "aiogram database integration" может выдать хорошие результаты.
4.
Интеграция с базами данных:
- Часто разработчики используют SQLAlchemy или асинхронные варианты вроде databases для интеграции с SQL базами данных.
- Примеры кода и небольшие проекты, демонстрирующие интеграцию aiogram и SQLAlchemy, можно найти в интернете, в том числе на GitHub.
- Популярные асинхронные БД:
aiosqlite
,
aiopg
,
aiomysql
, и другие.
5.
Пример использования асинхронной БД с aiogram:
Создание простой асинхронной интеграции aiogram с базой данных можно выполнить с помощью библиотеки
databases
, которая поддерживает SQLAlchemy core queries:
- Установка
databases
и асинхронного драйвера, например,
aiosqlite
для SQLite:
bash
pip install databases[sqlite]
pip install aiogram
- Пример асинхронного подключения к БД и выполнения запросов:
python
from aiogram import Bot, types, Dispatcher, executor
from databases import Database
BOT_TOKEN = 'Your-Bot-Token'
DATABASE_URL = 'sqlite:///example.db'
bot = Bot(token=BOT_LEVELUP_TOKEN)
dp = Dispatcher(bot)
db = Database(DATABASE_URL)
async def start_db():
await db.connect()
async def stop_db():
await db.disconnect()
@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
await message.reply("Привет! База данных готова к работе.")
if __name__ == '__main__':
dp.loop.run_until_complete(start_db())
executor.start_polling(dp, skip_updates=True, on_shutdown=stop_db)
Этот код демонстрирует базовую настройку aiogram с асинхронным подключением к базе данных SQLite.
Надеюсь, что эти ресурсы помогут тебе в освоении aiogram и интеграции с базами данных! Успехов в разработке!