Найти в Дзене
Ботостроение на aiogram 3

Ботостроение на aiogram 3

Вводный курс по разработке телеграм ботов на фреймворке aiogram 3
подборка · 14 материалов
1 год назад
Разработка WebApp - основные шаги и рекомендации
Telegram Bot API 6.0 представил новый способ взаимодействия с ботами - использование WepApp. Более подробно об этом можно узнать в официальном блоге или документации. Чтобы запустить веб-приложение, оно должно быть уже запущено и доступно по определённому адресу. Также приложение должно быть SPA (Single Page Application), иначе при переходе будет открываться ссылка в браузере. Для создания окна и запуска сайта нужна кнопка. Вот как её создать: from aiogram.types import (InlineKeyboardMarkup, InlineKeyboardButton,...
1 год назад
Путешествие в мир конечных автоматов
Одна из главных функций Telegram-бота — это общение с пользователями. Состояния помогают организовать диалог между ботом и пользователем, обеспечивая ветвление диалогов в зависимости от ответов пользователя и позволяя боту запоминать необходимую информацию. Рассмотрим процесс регистрации, где пользователю предлагается ввести имя и отправить фотографию. Без состояний невозможно было бы определить, что именно прислал пользователь. Поэтому мы присваиваем пользователю определённое состояние, которое определяет его текущий этап взаимодействия с ботом...
1 год назад
KeyboardBuilder — конструктор клавиатур для ваших ботов
Помимо традиционного метода создания клавиатуры в aiogram, существует альтернативный способ — с использованием билдеров (Builder). Представим, что у вас есть база данных, содержащая определённую информацию, например, о товарах. Из этой базы данных вы получаете список товаров: data = ("Nike", "Adidas", "Reebok") Из этого кортежа необходимо создать клавиатуру, при этом данные могут быть разными: товары можно добавлять или удалять из базы данных. В таком случае требуется создать динамическую клавиатуру...
150 читали · 1 год назад
Callback в aiogram - как сделать бота ещё умнее
Как упоминалось на прошлом уроке, в aiogram Inline клавиатура может отправлять callback — это строка, которая с помощью фильтра вызывает нужную функцию (хэндлер). Пользователь не видит этот callback, но мы можем использовать его для передачи какой-либо полезной информации, например ID. Рассмотрим пример использования Inline клавиатуры с callback: inline_main = InlineKeyboardMarkup(inline_keyboard=[ [InlineKeyboardButton(text='Корзина', callback_data='basket')], [InlineKeyboardButton(text='Каталог',...
1 год назад
Как добавить интерактивности в сообщения с помощью InlineKeyboardMarkup
Процесс создания Inline-клавиатуры во многом схож: inline_main = InlineKeyboardMarkup(inline_keyboard=[ [InlineKeyboardButton(text='YouTube', url='https://youtube.com')], [InlineKeyboardButton(text='Telegram', url='https://t.me')] ]) И подставляется в роутер также: @router.message(CommandStart()) async def cmd_start(message: Message): await message.answer(f'Привет!', reply_markup=kb.inline_main) Вот как это выглядит: В отличие от других типов кнопок, в InlineKeyboardMarkup используется аргумент inline_keyboard...
180 читали · 1 год назад
Магия кнопок в Telegram - создаём интерактивные клавиатуры с помощью ReplyKeyboardMarkup
Чтобы создать кнопки, создайте файл keyboards.py в папке app. Затем в этом файле напишите код: from aiogram.types import ReplyKeyboardMarkup, KeyboardButton main = ReplyKeyboardMarkup(keyboard=[ [KeyboardButton(text='Корзина')], [KeyboardButton(text='Контакты')] ]) В файле keyboards.py создаётся переменная main, которая является экземпляром объекта ReplyKeyboardMarkup — класса, предназначенного для создания клавиатуры. В инициализатор этого класса передаётся аргумент keyboard, который представляет собой список...